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
1=== modified file 'src/compiler/parser/xquery_parser.y'
2--- src/compiler/parser/xquery_parser.y 2012-02-01 11:29:03 +0000
3+++ src/compiler/parser/xquery_parser.y 2012-02-07 15:10:57 +0000
4@@ -858,17 +858,9 @@
5 /* ------------ */
6 %type <expr> JSONConstructor
7
8-%type <expr> JSONComputedPairConstructor
9-
10-%type <expr> JSONComputedObjectConstructor
11-
12-%type <expr> JSONComputedArrayConstructor
13-
14 %type <expr> JSONDirectArrayConstructor
15
16-%type <expr> JSONDirectObjectConstructor
17-%type <expr> JSONDirectObjectContent
18-%type <expr> JSONDirectPairConstructor
19+%type <expr> JSONPairConstructor
20
21 %type <node> JSONTest
22 %type <node> JSONItemTest
23@@ -915,7 +907,7 @@
24 %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
25
26 // parsenodes: JSON
27-%destructor { release_hack( $$ ); } JSONConstructor JSONComputedPairConstructor JSONComputedArrayConstructor JSONComputedObjectConstructor JSONDirectArrayConstructor JSONDirectObjectConstructor JSONDirectObjectContent JSONDirectPairConstructor
28+%destructor { release_hack( $$ ); } JSONConstructor JSONDirectArrayConstructor JSONPairConstructor
29
30 // exprnodes
31 %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
32@@ -3511,13 +3503,24 @@
33 ;
34
35 RangeExpr :
36+ JSONPairConstructor %prec RANGE_REDUCE
37+ {
38+ $$ = $1;
39+ }
40+ | JSONPairConstructor TO JSONPairConstructor
41+ {
42+ $$ = new RangeExpr( LOC(@$), $1, $3 );
43+ }
44+ ;
45+
46+JSONPairConstructor :
47 AdditiveExpr %prec RANGE_REDUCE
48 {
49 $$ = $1;
50 }
51- | AdditiveExpr TO AdditiveExpr
52+ | AdditiveExpr COLON AdditiveExpr
53 {
54- $$ = new RangeExpr( LOC(@$), $1, $3 );
55+ $$ = new JSON_PairConstructor(LOC(@$), $1, $3);
56 }
57 ;
58
59@@ -6303,58 +6306,6 @@
60 {
61 $$ = $1;
62 }
63- | JSONDirectObjectConstructor
64- {
65- $$ = $1;
66- }
67- | JSONComputedObjectConstructor
68- {
69- $$ = $1;
70- }
71- | JSONComputedArrayConstructor
72- {
73- $$ = $1;
74- }
75- | JSONComputedPairConstructor
76- {
77- $$ = $1;
78- }
79-;
80-
81-
82-JSONComputedPairConstructor :
83- PAIR LBRACE ExprSingle COLON ExprSingle RBRACE
84- {
85- $$ = new JSON_PairConstructor(LOC(@$), $3, $5);
86- }
87-;
88-
89-
90-JSONComputedObjectConstructor :
91- OBJECT LBRACE Expr RBRACE
92- {
93- $$ = new JSON_ObjectConstructor(LOC(@$), $3);
94- }
95- | OBJECT LBRACE JSONDirectObjectContent RBRACE
96- {
97- $$ = new JSON_ObjectConstructor(LOC(@$), $3);
98- }
99- | OBJECT LBRACE RBRACE
100- {
101- $$ = new JSON_ObjectConstructor(LOC(@$), NULL);
102- }
103-;
104-
105-
106-JSONComputedArrayConstructor :
107- ARRAY LBRACE RBRACE
108- {
109- $$ = new JSON_ArrayConstructor(LOC(@$), NULL);
110- }
111- | ARRAY LBRACE Expr RBRACE
112- {
113- $$ = new JSON_ArrayConstructor(LOC(@$), $3);
114- }
115 ;
116
117
118@@ -6370,36 +6321,6 @@
119 ;
120
121
122-JSONDirectObjectConstructor :
123- LBRACE JSONDirectObjectContent RBRACE
124- {
125- $$ = new JSON_ObjectConstructor(LOC(@$), $2);
126- }
127-;
128-
129-
130-JSONDirectObjectContent :
131- JSONDirectPairConstructor
132- {
133- JSON_DirectObjectContent* jpl = new JSON_DirectObjectContent(LOC(@$));
134- jpl->push_back($1);
135- $$ = jpl;
136- }
137- | JSONDirectObjectContent COMMA JSONDirectPairConstructor
138- {
139- static_cast<JSON_DirectObjectContent*>($1)->push_back($3);
140- $$ = $1;
141- }
142-;
143-
144-JSONDirectPairConstructor :
145- ExprSingle COLON ExprSingle
146- {
147- $$ = new JSON_PairConstructor(LOC(@$), $1, $3);
148- }
149-;
150-
151-
152 JSONTest :
153 JSONItemTest
154 {

Subscribers

People subscribed via source and target branches

to all changes: