Merge lp:~gislenius/zorba/jsoniq-pair-operator into lp:~zorba-coders/zorba/jsoniq

Proposed by Ghislain Fourny
Status: Merged
Merged at revision: 10642
Proposed branch: lp:~gislenius/zorba/jsoniq-pair-operator
Merge into: lp:~zorba-coders/zorba/jsoniq
Diff against target: 154 lines (+15/-94)
1 file modified
src/compiler/parser/xquery_parser.y (+15/-94)
To merge this branch: bzr merge lp:~gislenius/zorba/jsoniq-pair-operator
Reviewer Review Type Date Requested Status
Matthias Brantner Pending
Review via email: mp+91845@code.launchpad.net

Commit message

Hack to remove JSON computed constructors, JSON direct object constructor and added pair (:) operator between RangeExpr and AdditiveExpr (following Nicolae's proposal).

Description of the change

Removed JSON computed constructors, JSON direct object constructor and added pair (:) operator between RangeExpr and AdditiveExpr (following Nicolae's proposal).

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'src/compiler/parser/xquery_parser.y'
--- src/compiler/parser/xquery_parser.y 2012-02-01 11:29:03 +0000
+++ src/compiler/parser/xquery_parser.y 2012-02-07 15:10:57 +0000
@@ -858,17 +858,9 @@
858/* ------------ */858/* ------------ */
859%type <expr> JSONConstructor859%type <expr> JSONConstructor
860860
861%type <expr> JSONComputedPairConstructor
862
863%type <expr> JSONComputedObjectConstructor
864
865%type <expr> JSONComputedArrayConstructor
866
867%type <expr> JSONDirectArrayConstructor861%type <expr> JSONDirectArrayConstructor
868862
869%type <expr> JSONDirectObjectConstructor863%type <expr> JSONPairConstructor
870%type <expr> JSONDirectObjectContent
871%type <expr> JSONDirectPairConstructor
872864
873%type <node> JSONTest865%type <node> JSONTest
874%type <node> JSONItemTest866%type <node> JSONItemTest
@@ -915,7 +907,7 @@
915%destructor { release_hack( $$ ); } FTAnd FTAnyallOption FTBigUnit FTCaseOption FTContent FTDiacriticsOption FTDistance FTExtensionOption FTExtensionSelection FTIgnoreOption opt_FTIgnoreOption FTLanguageOption FTMatchOption FTMatchOptions opt_FTMatchOptions FTMildNot FTOptionDecl FTOr FTOrder FTPosFilter FTPrimary FTPrimaryWithOptions FTRange FTScope FTScoreVar FTSelection FTStemOption FTStopWords FTStopWordOption FTStopWordsInclExcl FTThesaurusID FTThesaurusOption FTTimes opt_FTTimes FTUnaryNot FTUnit FTWeight FTWildCardOption FTWindow FTWords FTWordsValue907%destructor { release_hack( $$ ); } FTAnd FTAnyallOption FTBigUnit FTCaseOption FTContent FTDiacriticsOption FTDistance FTExtensionOption FTExtensionSelection FTIgnoreOption opt_FTIgnoreOption FTLanguageOption FTMatchOption FTMatchOptions opt_FTMatchOptions FTMildNot FTOptionDecl FTOr FTOrder FTPosFilter FTPrimary FTPrimaryWithOptions FTRange FTScope FTScoreVar FTSelection FTStemOption FTStopWords FTStopWordOption FTStopWordsInclExcl FTThesaurusID FTThesaurusOption FTTimes opt_FTTimes FTUnaryNot FTUnit FTWeight FTWildCardOption FTWindow FTWords FTWordsValue
916908
917// parsenodes: JSON909// parsenodes: JSON
918%destructor { release_hack( $$ ); } JSONConstructor JSONComputedPairConstructor JSONComputedArrayConstructor JSONComputedObjectConstructor JSONDirectArrayConstructor JSONDirectObjectConstructor JSONDirectObjectContent JSONDirectPairConstructor 910%destructor { release_hack( $$ ); } JSONConstructor JSONDirectArrayConstructor JSONPairConstructor
919911
920// exprnodes912// exprnodes
921%destructor { release_hack( $$ ); } AdditiveExpr AndExpr AxisStep CDataSection CastExpr CastableExpr CommonContent ComparisonExpr CompAttrConstructor CompCommentConstructor CompDocConstructor CompElemConstructor CompPIConstructor CompTextConstructor ComputedConstructor Constructor ContextItemExpr DirCommentConstructor DirElemConstructor DirElemContent DirPIConstructor DirectConstructor BracedExpr BlockExpr EnclosedStatementsAndOptionalExpr BlockStatement Statement Statements StatementsAndExpr StatementsAndOptionalExpr StatementsAndOptionalExprTop SwitchStatement TypeswitchStatement TryStatement CatchListStatement CatchStatement ApplyStatement IfStatement FLWORStatement ReturnStatement VarDeclStatement Expr ExprSingle ExprSimple ExtensionExpr FLWORExpr ReturnExpr FilterExpr FunctionCall IfExpr InstanceofExpr IntersectExceptExpr Literal MultiplicativeExpr NumericLiteral OrExpr OrderedExpr ParenthesizedExpr PathExpr Predicate PrimaryExpr QuantifiedExpr QueryBody RangeExpr RelativePathExpr StepExpr StringLiteral TreatExpr SwitchExpr TypeswitchExpr UnaryExpr UnionExpr UnorderedExpr ValidateExpr ValueExpr VarRef TryExpr CatchListExpr CatchExpr DeleteExpr InsertExpr RenameExpr ReplaceExpr TransformExpr VarNameList VarNameDecl AssignStatement ExitStatement WhileStatement FlowCtlStatement QNAME EQNAME FUNCTION_NAME FTContainsExpr913%destructor { release_hack( $$ ); } AdditiveExpr AndExpr AxisStep CDataSection CastExpr CastableExpr CommonContent ComparisonExpr CompAttrConstructor CompCommentConstructor CompDocConstructor CompElemConstructor CompPIConstructor CompTextConstructor ComputedConstructor Constructor ContextItemExpr DirCommentConstructor DirElemConstructor DirElemContent DirPIConstructor DirectConstructor BracedExpr BlockExpr EnclosedStatementsAndOptionalExpr BlockStatement Statement Statements StatementsAndExpr StatementsAndOptionalExpr StatementsAndOptionalExprTop SwitchStatement TypeswitchStatement TryStatement CatchListStatement CatchStatement ApplyStatement IfStatement FLWORStatement ReturnStatement VarDeclStatement Expr ExprSingle ExprSimple ExtensionExpr FLWORExpr ReturnExpr FilterExpr FunctionCall IfExpr InstanceofExpr IntersectExceptExpr Literal MultiplicativeExpr NumericLiteral OrExpr OrderedExpr ParenthesizedExpr PathExpr Predicate PrimaryExpr QuantifiedExpr QueryBody RangeExpr RelativePathExpr StepExpr StringLiteral TreatExpr SwitchExpr TypeswitchExpr UnaryExpr UnionExpr UnorderedExpr ValidateExpr ValueExpr VarRef TryExpr CatchListExpr CatchExpr DeleteExpr InsertExpr RenameExpr ReplaceExpr TransformExpr VarNameList VarNameDecl AssignStatement ExitStatement WhileStatement FlowCtlStatement QNAME EQNAME FUNCTION_NAME FTContainsExpr
@@ -3511,13 +3503,24 @@
3511 ;3503 ;
35123504
3513RangeExpr :3505RangeExpr :
3506 JSONPairConstructor %prec RANGE_REDUCE
3507 {
3508 $$ = $1;
3509 }
3510 | JSONPairConstructor TO JSONPairConstructor
3511 {
3512 $$ = new RangeExpr( LOC(@$), $1, $3 );
3513 }
3514 ;
3515
3516JSONPairConstructor :
3514 AdditiveExpr %prec RANGE_REDUCE3517 AdditiveExpr %prec RANGE_REDUCE
3515 {3518 {
3516 $$ = $1;3519 $$ = $1;
3517 }3520 }
3518 | AdditiveExpr TO AdditiveExpr3521 | AdditiveExpr COLON AdditiveExpr
3519 {3522 {
3520 $$ = new RangeExpr( LOC(@$), $1, $3 );3523 $$ = new JSON_PairConstructor(LOC(@$), $1, $3);
3521 }3524 }
3522 ;3525 ;
35233526
@@ -6303,58 +6306,6 @@
6303 {6306 {
6304 $$ = $1;6307 $$ = $1;
6305 }6308 }
6306 | JSONDirectObjectConstructor
6307 {
6308 $$ = $1;
6309 }
6310 | JSONComputedObjectConstructor
6311 {
6312 $$ = $1;
6313 }
6314 | JSONComputedArrayConstructor
6315 {
6316 $$ = $1;
6317 }
6318 | JSONComputedPairConstructor
6319 {
6320 $$ = $1;
6321 }
6322;
6323
6324
6325JSONComputedPairConstructor :
6326 PAIR LBRACE ExprSingle COLON ExprSingle RBRACE
6327 {
6328 $$ = new JSON_PairConstructor(LOC(@$), $3, $5);
6329 }
6330;
6331
6332
6333JSONComputedObjectConstructor :
6334 OBJECT LBRACE Expr RBRACE
6335 {
6336 $$ = new JSON_ObjectConstructor(LOC(@$), $3);
6337 }
6338 | OBJECT LBRACE JSONDirectObjectContent RBRACE
6339 {
6340 $$ = new JSON_ObjectConstructor(LOC(@$), $3);
6341 }
6342 | OBJECT LBRACE RBRACE
6343 {
6344 $$ = new JSON_ObjectConstructor(LOC(@$), NULL);
6345 }
6346;
6347
6348
6349JSONComputedArrayConstructor :
6350 ARRAY LBRACE RBRACE
6351 {
6352 $$ = new JSON_ArrayConstructor(LOC(@$), NULL);
6353 }
6354 | ARRAY LBRACE Expr RBRACE
6355 {
6356 $$ = new JSON_ArrayConstructor(LOC(@$), $3);
6357 }
6358;6309;
63596310
63606311
@@ -6370,36 +6321,6 @@
6370;6321;
63716322
63726323
6373JSONDirectObjectConstructor :
6374 LBRACE JSONDirectObjectContent RBRACE
6375 {
6376 $$ = new JSON_ObjectConstructor(LOC(@$), $2);
6377 }
6378;
6379
6380
6381JSONDirectObjectContent :
6382 JSONDirectPairConstructor
6383 {
6384 JSON_DirectObjectContent* jpl = new JSON_DirectObjectContent(LOC(@$));
6385 jpl->push_back($1);
6386 $$ = jpl;
6387 }
6388 | JSONDirectObjectContent COMMA JSONDirectPairConstructor
6389 {
6390 static_cast<JSON_DirectObjectContent*>($1)->push_back($3);
6391 $$ = $1;
6392 }
6393;
6394
6395JSONDirectPairConstructor :
6396 ExprSingle COLON ExprSingle
6397 {
6398 $$ = new JSON_PairConstructor(LOC(@$), $1, $3);
6399 }
6400;
6401
6402
6403JSONTest :6324JSONTest :
6404 JSONItemTest6325 JSONItemTest
6405 {6326 {

Subscribers

People subscribed via source and target branches

to all changes: