Merge lp:~zorba-coders/zorba/new-jsoniq into lp:zorba

Proposed by Nicolae Brinza on 2013-09-03
Status: Merged
Approved by: Ghislain Fourny on 2013-09-12
Approved revision: 11376
Merged at revision: 11621
Proposed branch: lp:~zorba-coders/zorba/new-jsoniq
Merge into: lp:zorba
Diff against target: 45213 lines (+13004/-15748)
7 files modified
src/compiler/parser/jsoniq_parser.cpp (+7915/-9267)
src/compiler/parser/jsoniq_parser.hpp (+32/-49)
src/compiler/parser/jsoniq_scanner.cpp (+446/-435)
src/compiler/parser/parser.y (+5/-1)
src/compiler/parser/xquery_parser.cpp (+4123/-5520)
src/compiler/parser/xquery_parser.hpp (+31/-47)
src/compiler/parser/xquery_scanner.cpp (+452/-429)
To merge this branch: bzr merge lp:~zorba-coders/zorba/new-jsoniq
Reviewer Review Type Date Requested Status
Ghislain Fourny 2013-09-03 Approve on 2013-09-11
Nicolae Brinza Approve on 2013-09-03
Review via email: mp+183640@code.launchpad.net

Commit message

Regenerating pregenerated parser and scanner files (last bug fix was not reflected).

Description of the change

Parsers updates.

To post a comment you must log in.
Nicolae Brinza (nbrinza) :
review: Approve
Ghislain Fourny (gislenius) wrote :

Hi Nicolae,

Looks good, thanks ;-) It's getting closer and closer to the git EBNFs!

Here are some comments:

1. Parser.y, line 2259: is "|| (block != NULL && block->isEmpty())" really needed? Will block not always be null if a BlockExpr is {} (see StatementsAndOptionalExpr nonterminal)?

2. Why is the OBJECT token treated specially and not mentioned in GeneralizedAtomicType like array/item/structured-item? Note that jn:object is no longer a function, as it was removed (I thought Markos removed it from Zorba, too). Then object should also be moved back to invalid function names.

Suggested test: object() throws a parsing error.

3. VersionDecl should not allow xquery in the JSONiq parser. Now, it seems to be allowed. A JSONiq query version declaration must be "jsoniq" (if a file begins with "xquery" the XQuery parser will be used anyway, so there is no way to test).

4. Why is append not authorized as a function? I thought it would be together with insert/rename/replace/delete.

Suggested test: local definition for local:append + default function namespace and query append().

5. "From" instead of "For" is implemented, but where is "select" instead of "return"? (this might require discussion about getting rid of "from", actually. I am not sure if the from/select decision was not reverted at some point.)

Suggested test: from $i in 1 to 10 select $i

6. Can you give me details and examples about the two new conflicts?

7. How is [[]] array handled? Is it parsed as a predicate with an array constructor and handled in the translator?

8. TRUE/FALSE/NULL/FROM(/SELECT?) should appear in the FUNCTION_NAME rule in a JSONIQ_PARSER #ifdef so that they can be used as function names. Or is this handled somewhere else?

Suggested test: false(), true(), null() -- from() with a local definition (see append above).

I hope it makes sense? Thanks!

review: Needs Fixing
lp:~zorba-coders/zorba/new-jsoniq updated on 2013-09-03
11368. By Nicolae Brinza on 2013-09-03

Parser updates.

Nicolae Brinza (nbrinza) wrote :

> 1. Parser.y, line 2259: is "|| (block != NULL && block->isEmpty())" really
> needed? Will block not always be null if a BlockExpr is {} (see
> StatementsAndOptionalExpr nonterminal)?

Nope, you can have a nested empty block {{}}.

> 2. Why is the OBJECT token treated specially and not mentioned in
> GeneralizedAtomicType like array/item/structured-item? Note that jn:object is
> no longer a function, as it was removed (I thought Markos removed it from
> Zorba, too). Then object should also be moved back to invalid function names.
> Suggested test: object() throws a parsing error.

I was not aware the function was removed. I've moved the token.

> 3. VersionDecl should not allow xquery in the JSONiq parser. Now, it seems to
> be allowed. A JSONiq query version declaration must be "jsoniq" (if a file
> begins with "xquery" the XQuery parser will be used anyway, so there is no way
> to test).

Yes, it makes sense. Fixed.

> 4. Why is append not authorized as a function? I thought it would be together
> with insert/rename/replace/delete.
>
> Suggested test: local definition for local:append + default function namespace
> and query append().

Fixed, but the function call can only be made through the prefixed form, because in jsoniq you can have:
    append () into ...

> 5. "From" instead of "For" is implemented, but where is "select" instead of
> "return"? (this might require discussion about getting rid of "from",
> actually. I am not sure if the from/select decision was not reverted at some
> point.)
> Suggested test: from $i in 1 to 10 select $i

"select" is handled in the scanner. There already are plenty of tests in zorba/jsoniq. Though I think "select" handling should be moved from the scanner to the parser if we are to allow it as a qname/function name.

> 6. Can you give me details and examples about the two new conflicts?

Which two new conflicts? The conflicts count has not changed.

> 7. How is [[]] array handled? Is it parsed as a predicate with an array
> constructor and handled in the translator?

Is it actually handled? Quite interestingly this:

  let $var := [[1, 2, 3]]
  return $var[[]]

segfaults in the current trunk.

> 8. TRUE/FALSE/NULL/FROM(/SELECT?) should appear in the FUNCTION_NAME rule in a
> JSONIQ_PARSER #ifdef so that they can be used as function names. Or is this
> handled somewhere else?
> Suggested test: false(), true(), null() -- from() with a local definition (see
> append above).

It is not possible to add them to the qnames because they would completely interfere with the path expressions. One way to go around it would be to remove the keywords from the Literals production and then check the value of the RelativePathExprs in the rule action. It might work, but I would have to test it.

lp:~zorba-coders/zorba/new-jsoniq updated on 2013-09-04
11369. By Nicolae Brinza on 2013-09-04

Parser updates.

Zorba Build Bot (zorba-buildbot) wrote :

Validation queue starting for the following merge proposals:
https://code.launchpad.net/~zorba-coders/zorba/new-jsoniq/+merge/183640

Progress dashboard at http://jenkins.lambda.nu/view/ValidationQueue

Zorba Build Bot (zorba-buildbot) wrote :

Voting criteria failed for the following merge proposals:

https://code.launchpad.net/~zorba-coders/zorba/new-jsoniq/+merge/183640 :
Votes: {'Approve': 1, 'Needs Fixing': 1}

Zorba Build Bot (zorba-buildbot) wrote :

Validation queue result for https://code.launchpad.net/~zorba-coders/zorba/new-jsoniq/+merge/183640

Stage "CommitZorba" failed.

Check console output at http://jenkins.lambda.nu/job/CommitZorba/159/console to view the results.

lp:~zorba-coders/zorba/new-jsoniq updated on 2013-09-05
11370. By Nicolae Brinza on 2013-09-05

Parser updates.

Zorba Build Bot (zorba-buildbot) wrote :

Validation queue starting for the following merge proposals:
https://code.launchpad.net/~zorba-coders/zorba/new-jsoniq/+merge/183640

Progress dashboard at http://jenkins.lambda.nu/view/ValidationQueue

Zorba Build Bot (zorba-buildbot) wrote :

Voting criteria failed for the following merge proposals:

https://code.launchpad.net/~zorba-coders/zorba/new-jsoniq/+merge/183640 :
Votes: {'Approve': 1, 'Needs Fixing': 1}

Zorba Build Bot (zorba-buildbot) wrote :

Validation queue result for https://code.launchpad.net/~zorba-coders/zorba/new-jsoniq/+merge/183640

Stage "CommitZorba" failed.

Check console output at http://jenkins.lambda.nu/job/CommitZorba/160/console to view the results.

Zorba Build Bot (zorba-buildbot) wrote :

Validation queue starting for the following merge proposals:
https://code.launchpad.net/~zorba-coders/zorba/new-jsoniq/+merge/183640

Progress dashboard at http://jenkins.lambda.nu/view/ValidationQueue

Nicolae Brinza (nbrinza) wrote :

Ghislain, I've fixed the null/true/false etc and select issues (points 5 and 8).

--

Zorba Build Bot (zorba-buildbot) wrote :

Validation queue result for https://code.launchpad.net/~zorba-coders/zorba/new-jsoniq/+merge/183640

Stage "TestZorbaUbuntu" failed.
1 tests failed (8435 total tests run).

Check test results at http://jenkins.lambda.nu/job/TestZorbaUbuntu/275/testReport/ to view the results.

lp:~zorba-coders/zorba/new-jsoniq updated on 2013-09-05
11371. By Nicolae Brinza on 2013-09-05

Updated a testcase.

Ghislain Fourny (gislenius) wrote :

Thanks Nicolae!

The following does not seem to work:

jsoniq version "1.0";

variable $a := [];

insert (1, 2) into $a at position 1;

$a

It might be because insert(1, 2) is parsed as a function call. Would it be possible to resolve the conflict using the lookahead (whether "into" is here or not)?

Zorba Build Bot (zorba-buildbot) wrote :

Validation queue starting for the following merge proposals:
https://code.launchpad.net/~zorba-coders/zorba/new-jsoniq/+merge/183640

Progress dashboard at http://jenkins.lambda.nu/view/ValidationQueue

lp:~zorba-coders/zorba/new-jsoniq updated on 2013-09-11
11372. By Ghislain Fourny on 2013-09-11

Added comments and some clean-up.

Zorba Build Bot (zorba-buildbot) wrote :

Voting criteria failed for the following merge proposals:

https://code.launchpad.net/~zorba-coders/zorba/new-jsoniq/+merge/183640 :
Votes: {'Approve': 1, 'Needs Fixing': 1}

Zorba Build Bot (zorba-buildbot) wrote :

Validation queue result for https://code.launchpad.net/~zorba-coders/zorba/new-jsoniq/+merge/183640

Stage "CommitZorba" failed.

Check console output at http://jenkins.lambda.nu/job/CommitZorba/165/console to view the results.

Ghislain Fourny (gislenius) wrote :

LGTM

review: Approve
Zorba Build Bot (zorba-buildbot) wrote :

Validation queue starting for the following merge proposals:
https://code.launchpad.net/~zorba-coders/zorba/new-jsoniq/+merge/183640

Progress dashboard at http://jenkins.lambda.nu/view/ValidationQueue

Zorba Build Bot (zorba-buildbot) wrote :

Validation queue succeeded - proposal merged!

lp:~zorba-coders/zorba/new-jsoniq updated on 2013-09-11
11373. By Ghislain Fourny on 2013-09-11

A fix.

Zorba Build Bot (zorba-buildbot) wrote :

Validation queue starting for the following merge proposals:
https://code.launchpad.net/~zorba-coders/zorba/new-jsoniq/+merge/183640

Progress dashboard at http://jenkins.lambda.nu/view/ValidationQueue

lp:~zorba-coders/zorba/new-jsoniq updated on 2013-09-11
11374. By Ghislain Fourny on 2013-09-11

Copying regenerated parser files.

Zorba Build Bot (zorba-buildbot) wrote :

Validation queue succeeded - proposal merged!

Zorba Build Bot (zorba-buildbot) wrote :

Validation queue starting for the following merge proposals:
https://code.launchpad.net/~zorba-coders/zorba/new-jsoniq/+merge/183640

Progress dashboard at http://jenkins.lambda.nu/view/ValidationQueue

Zorba Build Bot (zorba-buildbot) wrote :

Validation queue succeeded - proposal merged!

lp:~zorba-coders/zorba/new-jsoniq updated on 2013-09-12
11375. By Ghislain Fourny on 2013-09-12

Regenerated pregenerated files.

11376. By Ghislain Fourny on 2013-09-12

Merged trunk.

Zorba Build Bot (zorba-buildbot) wrote :

Validation queue starting for the following merge proposals:
https://code.launchpad.net/~zorba-coders/zorba/new-jsoniq/+merge/183640

Progress dashboard at http://jenkins.lambda.nu/view/ValidationQueue

Zorba Build Bot (zorba-buildbot) wrote :

Validation queue succeeded - proposal merged!

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/compiler/parser/jsoniq_parser.cpp'
2--- src/compiler/parser/jsoniq_parser.cpp 2013-09-05 10:53:44 +0000
3+++ src/compiler/parser/jsoniq_parser.cpp 2013-09-11 15:56:52 +0000
4@@ -1,8 +1,8 @@
5-/* A Bison parser, made by GNU Bison 2.5. */
6+/* A Bison parser, made by GNU Bison 2.6.2. */
7
8 /* Skeleton implementation for Bison LALR(1) parsers in C++
9
10- Copyright (C) 2002-2011 Free Software Foundation, Inc.
11+ Copyright (C) 2002-2012 Free Software Foundation, Inc.
12
13 This program is free software: you can redistribute it and/or modify
14 it under the terms of the GNU General Public License as published by
15@@ -34,14 +34,12 @@
16 #define yylex zorbalex
17
18 /* First part of user declarations. */
19-
20-/* Line 293 of lalr1.cc */
21-#line 1 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
22+/* Line 278 of lalr1.cc */
23+#line 1 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
24
25 #define JSONIQ_PARSER
26-
27-/* Line 293 of lalr1.cc */
28-#line 58 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
29+/* Line 278 of lalr1.cc */
30+#line 58 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
31
32
33 #include "common/common.h"
34@@ -77,9 +75,8 @@
35 using namespace std;
36 using namespace zorba;
37
38-
39-/* Line 293 of lalr1.cc */
40-#line 101 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
41+/* Line 278 of lalr1.cc */
42+#line 101 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
43
44
45 #ifdef XQUERY_PARSER
46@@ -96,17 +93,17 @@
47 #endif
48
49
50-
51-/* Line 293 of lalr1.cc */
52-#line 102 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
53+/* Line 278 of lalr1.cc */
54+#line 98 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
55
56
57 #include "jsoniq_parser.hpp"
58
59 /* User implementation prologue. */
60-
61-/* Line 299 of lalr1.cc */
62-#line 791 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
63+/* Line 284 of lalr1.cc */
64+#line 904 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
65+
66+
67
68 template<typename T> inline void release_hack( T *ref ) {
69 if ( ref ) {
70@@ -115,9 +112,17 @@
71 }
72 }
73
74-
75-/* Line 299 of lalr1.cc */
76-#line 121 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
77+/* Line 284 of lalr1.cc */
78+#line 117 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
79+
80+
81+# ifndef YY_NULL
82+# if defined __cplusplus && 201103L <= __cplusplus
83+# define YY_NULL nullptr
84+# else
85+# define YY_NULL 0
86+# endif
87+# endif
88
89 #ifndef YY_
90 # if defined YYENABLE_NLS && YYENABLE_NLS
91@@ -131,25 +136,26 @@
92 # endif
93 #endif
94
95+#define YYRHSLOC(Rhs, K) ((Rhs)[K])
96 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
97 If N is 0, then set CURRENT to the empty location which ends
98 the previous symbol: RHS[0] (always defined). */
99
100-#define YYRHSLOC(Rhs, K) ((Rhs)[K])
101-#ifndef YYLLOC_DEFAULT
102-# define YYLLOC_DEFAULT(Current, Rhs, N) \
103- do \
104- if (N) \
105- { \
106- (Current).begin = YYRHSLOC (Rhs, 1).begin; \
107- (Current).end = YYRHSLOC (Rhs, N).end; \
108- } \
109- else \
110- { \
111- (Current).begin = (Current).end = YYRHSLOC (Rhs, 0).end; \
112- } \
113- while (false)
114-#endif
115+# ifndef YYLLOC_DEFAULT
116+# define YYLLOC_DEFAULT(Current, Rhs, N) \
117+ do \
118+ if (N) \
119+ { \
120+ (Current).begin = YYRHSLOC (Rhs, 1).begin; \
121+ (Current).end = YYRHSLOC (Rhs, N).end; \
122+ } \
123+ else \
124+ { \
125+ (Current).begin = (Current).end = YYRHSLOC (Rhs, 0).end; \
126+ } \
127+ while (/*CONSTCOND*/ false)
128+# endif
129+
130
131 /* Suppress unused-variable warnings by "using" E. */
132 #define YYUSE(e) ((void) (e))
133@@ -201,9 +207,8 @@
134
135
136 namespace zorba {
137-
138-/* Line 382 of lalr1.cc */
139-#line 207 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
140+/* Line 352 of lalr1.cc */
141+#line 212 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
142
143 /* Return YYSTR after stripping away unnecessary quotes and
144 backslashes, so that it's suitable for yyerror. The heuristic is
145@@ -269,6 +274,9 @@
146 {
147 YYUSE (yylocationp);
148 YYUSE (yyvaluep);
149+ std::ostream& yyo = debug_stream ();
150+ std::ostream& yyoutput = yyo;
151+ YYUSE (yyoutput);
152 switch (yytype)
153 {
154 default:
155@@ -301,2579 +309,2007 @@
156
157 switch (yytype)
158 {
159- case 111: /* "\"'DECIMAL'\"" */
160-
161-/* Line 480 of lalr1.cc */
162-#line 790 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
163- { delete (yyvaluep->decval); };
164-
165-/* Line 480 of lalr1.cc */
166-#line 312 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
167- break;
168- case 126: /* "\"'DOUBLE'\"" */
169-
170-/* Line 480 of lalr1.cc */
171-#line 789 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
172- { delete (yyvaluep->dval); };
173-
174-/* Line 480 of lalr1.cc */
175-#line 321 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
176- break;
177- case 151: /* "\"'INTEGER'\"" */
178-
179-/* Line 480 of lalr1.cc */
180-#line 788 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
181- { delete (yyvaluep->ival); };
182-
183-/* Line 480 of lalr1.cc */
184-#line 330 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
185- break;
186- case 345: /* "VersionDecl" */
187-
188-/* Line 480 of lalr1.cc */
189-#line 811 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
190- { release_hack( (yyvaluep->node) ); };
191-
192-/* Line 480 of lalr1.cc */
193-#line 339 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
194- break;
195- case 346: /* "MainModule" */
196-
197-/* Line 480 of lalr1.cc */
198-#line 804 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
199- { release_hack( (yyvaluep->node) ); };
200-
201-/* Line 480 of lalr1.cc */
202-#line 348 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
203- break;
204- case 347: /* "LibraryModule" */
205-
206-/* Line 480 of lalr1.cc */
207-#line 804 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
208- { release_hack( (yyvaluep->node) ); };
209-
210-/* Line 480 of lalr1.cc */
211-#line 357 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
212- break;
213- case 348: /* "ModuleDecl" */
214-
215-/* Line 480 of lalr1.cc */
216-#line 804 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
217- { release_hack( (yyvaluep->node) ); };
218-
219-/* Line 480 of lalr1.cc */
220-#line 366 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
221- break;
222- case 349: /* "SIND_DeclList" */
223-
224-/* Line 480 of lalr1.cc */
225-#line 807 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
226- { release_hack( (yyvaluep->node) ); };
227-
228-/* Line 480 of lalr1.cc */
229-#line 375 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
230- break;
231- case 350: /* "SIND_Decl" */
232-
233-/* Line 480 of lalr1.cc */
234-#line 807 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
235- { release_hack( (yyvaluep->node) ); };
236-
237-/* Line 480 of lalr1.cc */
238-#line 384 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
239- break;
240- case 351: /* "Setter" */
241-
242-/* Line 480 of lalr1.cc */
243-#line 808 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
244- { release_hack( (yyvaluep->node) ); };
245-
246-/* Line 480 of lalr1.cc */
247-#line 393 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
248- break;
249- case 352: /* "BoundarySpaceDecl" */
250-
251-/* Line 480 of lalr1.cc */
252-#line 801 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
253- { release_hack( (yyvaluep->node) ); };
254-
255-/* Line 480 of lalr1.cc */
256-#line 402 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
257- break;
258- case 353: /* "DefaultCollationDecl" */
259-
260-/* Line 480 of lalr1.cc */
261-#line 802 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
262- { release_hack( (yyvaluep->node) ); };
263-
264-/* Line 480 of lalr1.cc */
265-#line 411 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
266- break;
267- case 354: /* "BaseURIDecl" */
268-
269-/* Line 480 of lalr1.cc */
270-#line 801 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
271- { release_hack( (yyvaluep->node) ); };
272-
273-/* Line 480 of lalr1.cc */
274-#line 420 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
275- break;
276- case 355: /* "ConstructionDecl" */
277-
278-/* Line 480 of lalr1.cc */
279-#line 801 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
280- { release_hack( (yyvaluep->node) ); };
281-
282-/* Line 480 of lalr1.cc */
283-#line 429 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
284- break;
285- case 356: /* "OrderingModeDecl" */
286-
287-/* Line 480 of lalr1.cc */
288-#line 806 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
289- { release_hack( (yyvaluep->node) ); };
290-
291-/* Line 480 of lalr1.cc */
292-#line 438 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
293- break;
294- case 357: /* "EmptyOrderDecl" */
295-
296-/* Line 480 of lalr1.cc */
297-#line 803 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
298- { release_hack( (yyvaluep->node) ); };
299-
300-/* Line 480 of lalr1.cc */
301-#line 447 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
302- break;
303- case 358: /* "CopyNamespacesDecl" */
304-
305-/* Line 480 of lalr1.cc */
306-#line 802 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
307- { release_hack( (yyvaluep->node) ); };
308-
309-/* Line 480 of lalr1.cc */
310-#line 456 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
311- break;
312- case 359: /* "Import" */
313-
314-/* Line 480 of lalr1.cc */
315-#line 803 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
316- { release_hack( (yyvaluep->node) ); };
317-
318-/* Line 480 of lalr1.cc */
319-#line 465 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
320- break;
321- case 360: /* "SchemaImport" */
322-
323-/* Line 480 of lalr1.cc */
324-#line 807 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
325- { release_hack( (yyvaluep->node) ); };
326-
327-/* Line 480 of lalr1.cc */
328-#line 474 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
329- break;
330- case 361: /* "URILiteralList" */
331-
332-/* Line 480 of lalr1.cc */
333-#line 809 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
334- { release_hack( (yyvaluep->node) ); };
335-
336-/* Line 480 of lalr1.cc */
337-#line 483 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
338- break;
339- case 362: /* "SchemaPrefix" */
340-
341-/* Line 480 of lalr1.cc */
342-#line 808 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
343- { release_hack( (yyvaluep->node) ); };
344-
345-/* Line 480 of lalr1.cc */
346-#line 492 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
347- break;
348- case 363: /* "ModuleImport" */
349-
350-/* Line 480 of lalr1.cc */
351-#line 804 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
352- { release_hack( (yyvaluep->node) ); };
353-
354-/* Line 480 of lalr1.cc */
355-#line 501 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
356- break;
357- case 364: /* "NamespaceDecl" */
358-
359-/* Line 480 of lalr1.cc */
360-#line 804 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
361- { release_hack( (yyvaluep->node) ); };
362-
363-/* Line 480 of lalr1.cc */
364-#line 510 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
365- break;
366- case 365: /* "DefaultNamespaceDecl" */
367-
368-/* Line 480 of lalr1.cc */
369-#line 802 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
370- { release_hack( (yyvaluep->node) ); };
371-
372-/* Line 480 of lalr1.cc */
373-#line 519 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
374- break;
375- case 366: /* "VFO_DeclList" */
376-
377-/* Line 480 of lalr1.cc */
378-#line 811 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
379- { release_hack( (yyvaluep->node) ); };
380-
381-/* Line 480 of lalr1.cc */
382-#line 528 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
383- break;
384- case 367: /* "VFO_Decl" */
385-
386-/* Line 480 of lalr1.cc */
387-#line 811 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
388- { release_hack( (yyvaluep->node) ); };
389-
390-/* Line 480 of lalr1.cc */
391-#line 537 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
392- break;
393- case 368: /* "DecimalFormatDecl" */
394-
395-/* Line 480 of lalr1.cc */
396-#line 811 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
397- { release_hack( (yyvaluep->node) ); };
398-
399-/* Line 480 of lalr1.cc */
400-#line 546 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
401- break;
402- case 369: /* "DecimalFormatParamList" */
403-
404-/* Line 480 of lalr1.cc */
405-#line 818 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
406- { delete (yyvaluep->vstrpair); };
407-
408-/* Line 480 of lalr1.cc */
409-#line 555 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
410- break;
411- case 370: /* "DecimalFormatParam" */
412-
413-/* Line 480 of lalr1.cc */
414-#line 818 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
415- { delete (yyvaluep->strpair); };
416-
417-/* Line 480 of lalr1.cc */
418-#line 564 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
419- break;
420- case 372: /* "OptionDecl" */
421-
422-/* Line 480 of lalr1.cc */
423-#line 805 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
424- { release_hack( (yyvaluep->node) ); };
425-
426-/* Line 480 of lalr1.cc */
427-#line 573 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
428- break;
429- case 373: /* "FTOptionDecl" */
430-
431-/* Line 480 of lalr1.cc */
432-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
433- { release_hack( (yyvaluep->node) ); };
434-
435-/* Line 480 of lalr1.cc */
436-#line 582 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
437- break;
438- case 374: /* "CtxItemDecl" */
439-
440-/* Line 480 of lalr1.cc */
441-#line 809 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
442- { release_hack( (yyvaluep->node) ); };
443-
444-/* Line 480 of lalr1.cc */
445-#line 591 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
446- break;
447- case 375: /* "CtxItemDecl2" */
448-
449-/* Line 480 of lalr1.cc */
450-#line 809 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
451- { release_hack( (yyvaluep->node) ); };
452-
453-/* Line 480 of lalr1.cc */
454-#line 600 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
455- break;
456- case 376: /* "CtxItemDecl3" */
457-
458-/* Line 480 of lalr1.cc */
459-#line 809 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
460- { release_hack( (yyvaluep->node) ); };
461-
462-/* Line 480 of lalr1.cc */
463-#line 609 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
464- break;
465- case 377: /* "CtxItemDecl4" */
466-
467-/* Line 480 of lalr1.cc */
468-#line 810 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
469- { release_hack( (yyvaluep->node) ); };
470-
471-/* Line 480 of lalr1.cc */
472-#line 618 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
473- break;
474- case 378: /* "VarDecl" */
475-
476-/* Line 480 of lalr1.cc */
477-#line 810 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
478- { release_hack( (yyvaluep->node) ); };
479-
480-/* Line 480 of lalr1.cc */
481-#line 627 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
482- break;
483- case 379: /* "VarNameAndType" */
484-
485-/* Line 480 of lalr1.cc */
486-#line 818 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
487- { delete (yyvaluep->varnametype); };
488-
489-/* Line 480 of lalr1.cc */
490-#line 636 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
491- break;
492- case 380: /* "AnnotationList" */
493-
494-/* Line 480 of lalr1.cc */
495-#line 800 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
496- { release_hack( (yyvaluep->node) ); };
497-
498-/* Line 480 of lalr1.cc */
499-#line 645 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
500- break;
501- case 381: /* "Annotation" */
502-
503-/* Line 480 of lalr1.cc */
504-#line 800 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
505- { release_hack( (yyvaluep->node) ); };
506-
507-/* Line 480 of lalr1.cc */
508-#line 654 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
509- break;
510- case 382: /* "AnnotationLiteralList" */
511-
512-/* Line 480 of lalr1.cc */
513-#line 800 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
514- { release_hack( (yyvaluep->node) ); };
515-
516-/* Line 480 of lalr1.cc */
517-#line 663 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
518- break;
519- case 383: /* "FunctionDecl" */
520-
521-/* Line 480 of lalr1.cc */
522-#line 803 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
523- { release_hack( (yyvaluep->node) ); };
524-
525-/* Line 480 of lalr1.cc */
526-#line 672 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
527- break;
528- case 384: /* "FunctionDecl2" */
529-
530-/* Line 480 of lalr1.cc */
531-#line 803 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
532- { release_hack( (yyvaluep->node) ); };
533-
534-/* Line 480 of lalr1.cc */
535-#line 681 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
536- break;
537- case 385: /* "FunctionDeclSimple" */
538-
539-/* Line 480 of lalr1.cc */
540-#line 803 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
541- { release_hack( (yyvaluep->node) ); };
542-
543-/* Line 480 of lalr1.cc */
544-#line 690 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
545- break;
546- case 386: /* "FunctionDeclUpdating" */
547-
548-/* Line 480 of lalr1.cc */
549-#line 803 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
550- { release_hack( (yyvaluep->node) ); };
551-
552-/* Line 480 of lalr1.cc */
553-#line 699 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
554- break;
555- case 387: /* "FunctionSig" */
556-
557-/* Line 480 of lalr1.cc */
558-#line 818 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
559- { delete (yyvaluep->fnsig); };
560-
561-/* Line 480 of lalr1.cc */
562-#line 708 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
563- break;
564- case 388: /* "ParamList" */
565-
566-/* Line 480 of lalr1.cc */
567-#line 806 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
568- { release_hack( (yyvaluep->node) ); };
569-
570-/* Line 480 of lalr1.cc */
571-#line 717 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
572- break;
573- case 389: /* "Param" */
574-
575-/* Line 480 of lalr1.cc */
576-#line 806 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
577- { release_hack( (yyvaluep->node) ); };
578-
579-/* Line 480 of lalr1.cc */
580-#line 726 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
581- break;
582- case 390: /* "CollectionDecl" */
583-
584-/* Line 480 of lalr1.cc */
585-#line 809 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
586- { release_hack( (yyvaluep->node) ); };
587-
588-/* Line 480 of lalr1.cc */
589-#line 735 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
590- break;
591- case 392: /* "IndexDecl" */
592-
593-/* Line 480 of lalr1.cc */
594-#line 809 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
595- { release_hack( (yyvaluep->node) ); };
596-
597-/* Line 480 of lalr1.cc */
598-#line 744 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
599- break;
600- case 393: /* "IndexKeyList" */
601-
602-/* Line 480 of lalr1.cc */
603-#line 809 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
604- { release_hack( (yyvaluep->node) ); };
605-
606-/* Line 480 of lalr1.cc */
607-#line 753 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
608- break;
609- case 394: /* "IndexKeySpec" */
610-
611-/* Line 480 of lalr1.cc */
612-#line 809 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
613- { release_hack( (yyvaluep->node) ); };
614-
615-/* Line 480 of lalr1.cc */
616-#line 762 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
617- break;
618- case 395: /* "IntegrityConstraintDecl" */
619-
620-/* Line 480 of lalr1.cc */
621-#line 809 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
622- { release_hack( (yyvaluep->node) ); };
623-
624-/* Line 480 of lalr1.cc */
625-#line 771 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
626- break;
627- case 396: /* "QueryBody" */
628-
629-/* Line 480 of lalr1.cc */
630-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
631- { release_hack( (yyvaluep->expr) ); };
632-
633-/* Line 480 of lalr1.cc */
634-#line 780 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
635- break;
636- case 397: /* "StatementsAndOptionalExprTop" */
637-
638-/* Line 480 of lalr1.cc */
639-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
640- { release_hack( (yyvaluep->expr) ); };
641-
642-/* Line 480 of lalr1.cc */
643-#line 789 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
644- break;
645- case 398: /* "StatementsAndOptionalExpr" */
646-
647-/* Line 480 of lalr1.cc */
648-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
649- { release_hack( (yyvaluep->expr) ); };
650-
651-/* Line 480 of lalr1.cc */
652-#line 798 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
653- break;
654- case 399: /* "StatementsAndExpr" */
655-
656-/* Line 480 of lalr1.cc */
657-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
658- { release_hack( (yyvaluep->expr) ); };
659-
660-/* Line 480 of lalr1.cc */
661-#line 807 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
662- break;
663- case 400: /* "Statements" */
664-
665-/* Line 480 of lalr1.cc */
666-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
667- { release_hack( (yyvaluep->expr) ); };
668-
669-/* Line 480 of lalr1.cc */
670-#line 816 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
671- break;
672- case 401: /* "Statement" */
673-
674-/* Line 480 of lalr1.cc */
675-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
676- { release_hack( (yyvaluep->expr) ); };
677-
678-/* Line 480 of lalr1.cc */
679-#line 825 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
680- break;
681- case 402: /* "BlockStatement" */
682-
683-/* Line 480 of lalr1.cc */
684-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
685- { release_hack( (yyvaluep->expr) ); };
686-
687-/* Line 480 of lalr1.cc */
688-#line 834 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
689- break;
690- case 403: /* "BlockExpr" */
691-
692-/* Line 480 of lalr1.cc */
693-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
694- { release_hack( (yyvaluep->expr) ); };
695-
696-/* Line 480 of lalr1.cc */
697-#line 843 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
698- break;
699- case 404: /* "EnclosedStatementsAndOptionalExpr" */
700-
701-/* Line 480 of lalr1.cc */
702-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
703- { release_hack( (yyvaluep->expr) ); };
704-
705-/* Line 480 of lalr1.cc */
706-#line 852 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
707- break;
708- case 405: /* "VarDeclStatement" */
709-
710-/* Line 480 of lalr1.cc */
711-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
712- { release_hack( (yyvaluep->expr) ); };
713-
714-/* Line 480 of lalr1.cc */
715-#line 861 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
716- break;
717- case 408: /* "AssignStatement" */
718-
719-/* Line 480 of lalr1.cc */
720-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
721- { release_hack( (yyvaluep->expr) ); };
722-
723-/* Line 480 of lalr1.cc */
724-#line 870 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
725- break;
726- case 409: /* "ApplyStatement" */
727-
728-/* Line 480 of lalr1.cc */
729-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
730- { release_hack( (yyvaluep->expr) ); };
731-
732-/* Line 480 of lalr1.cc */
733-#line 879 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
734- break;
735- case 410: /* "ExitStatement" */
736-
737-/* Line 480 of lalr1.cc */
738-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
739- { release_hack( (yyvaluep->expr) ); };
740-
741-/* Line 480 of lalr1.cc */
742-#line 888 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
743- break;
744- case 411: /* "WhileStatement" */
745-
746-/* Line 480 of lalr1.cc */
747-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
748- { release_hack( (yyvaluep->expr) ); };
749-
750-/* Line 480 of lalr1.cc */
751-#line 897 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
752- break;
753- case 412: /* "FlowCtlStatement" */
754-
755-/* Line 480 of lalr1.cc */
756-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
757- { release_hack( (yyvaluep->expr) ); };
758-
759-/* Line 480 of lalr1.cc */
760-#line 906 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
761- break;
762- case 413: /* "FLWORStatement" */
763-
764-/* Line 480 of lalr1.cc */
765-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
766- { release_hack( (yyvaluep->expr) ); };
767-
768-/* Line 480 of lalr1.cc */
769-#line 915 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
770- break;
771- case 414: /* "ReturnStatement" */
772-
773-/* Line 480 of lalr1.cc */
774-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
775- { release_hack( (yyvaluep->expr) ); };
776-
777-/* Line 480 of lalr1.cc */
778-#line 924 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
779- break;
780- case 415: /* "IfStatement" */
781-
782-/* Line 480 of lalr1.cc */
783-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
784- { release_hack( (yyvaluep->expr) ); };
785-
786-/* Line 480 of lalr1.cc */
787-#line 933 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
788- break;
789- case 416: /* "TryStatement" */
790-
791-/* Line 480 of lalr1.cc */
792-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
793- { release_hack( (yyvaluep->expr) ); };
794-
795-/* Line 480 of lalr1.cc */
796-#line 942 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
797- break;
798- case 417: /* "CatchListStatement" */
799-
800-/* Line 480 of lalr1.cc */
801-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
802- { release_hack( (yyvaluep->expr) ); };
803-
804-/* Line 480 of lalr1.cc */
805-#line 951 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
806- break;
807- case 418: /* "CatchStatement" */
808-
809-/* Line 480 of lalr1.cc */
810-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
811- { release_hack( (yyvaluep->expr) ); };
812-
813-/* Line 480 of lalr1.cc */
814-#line 960 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
815- break;
816- case 419: /* "VoidStatement" */
817-
818-/* Line 480 of lalr1.cc */
819-#line 812 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
820- { release_hack( (yyvaluep->expr) ); };
821-
822-/* Line 480 of lalr1.cc */
823-#line 969 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
824- break;
825- case 420: /* "Expr" */
826-
827-/* Line 480 of lalr1.cc */
828-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
829- { release_hack( (yyvaluep->expr) ); };
830-
831-/* Line 480 of lalr1.cc */
832-#line 978 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
833- break;
834- case 421: /* "ExprSingle" */
835-
836-/* Line 480 of lalr1.cc */
837-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
838- { release_hack( (yyvaluep->expr) ); };
839-
840-/* Line 480 of lalr1.cc */
841-#line 987 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
842- break;
843- case 422: /* "ExprSimple" */
844-
845-/* Line 480 of lalr1.cc */
846-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
847- { release_hack( (yyvaluep->expr) ); };
848-
849-/* Line 480 of lalr1.cc */
850-#line 996 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
851- break;
852- case 423: /* "FLWORExpr" */
853-
854-/* Line 480 of lalr1.cc */
855-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
856- { release_hack( (yyvaluep->expr) ); };
857-
858-/* Line 480 of lalr1.cc */
859-#line 1005 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
860- break;
861- case 424: /* "ReturnExpr" */
862-
863-/* Line 480 of lalr1.cc */
864-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
865- { release_hack( (yyvaluep->expr) ); };
866-
867-/* Line 480 of lalr1.cc */
868-#line 1014 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
869- break;
870- case 428: /* "FLWORWinCond" */
871-
872-/* Line 480 of lalr1.cc */
873-#line 810 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
874- { release_hack( (yyvaluep->node) ); };
875-
876-/* Line 480 of lalr1.cc */
877-#line 1023 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
878- break;
879- case 429: /* "WindowClause" */
880-
881-/* Line 480 of lalr1.cc */
882-#line 803 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
883- { release_hack( (yyvaluep->node) ); };
884-
885-/* Line 480 of lalr1.cc */
886-#line 1032 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
887- break;
888- case 430: /* "CountClause" */
889-
890-/* Line 480 of lalr1.cc */
891-#line 811 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
892- { release_hack( (yyvaluep->node) ); };
893-
894-/* Line 480 of lalr1.cc */
895-#line 1041 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
896- break;
897- case 431: /* "ForLetWinClause" */
898-
899-/* Line 480 of lalr1.cc */
900-#line 803 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
901- { release_hack( (yyvaluep->node) ); };
902-
903-/* Line 480 of lalr1.cc */
904-#line 1050 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
905- break;
906- case 433: /* "FLWORClauseList" */
907-
908-/* Line 480 of lalr1.cc */
909-#line 803 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
910- { release_hack( (yyvaluep->node) ); };
911-
912-/* Line 480 of lalr1.cc */
913-#line 1059 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
914- break;
915- case 434: /* "ForClause" */
916-
917-/* Line 480 of lalr1.cc */
918-#line 803 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
919- { release_hack( (yyvaluep->node) ); };
920-
921-/* Line 480 of lalr1.cc */
922-#line 1068 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
923- break;
924- case 436: /* "VarInDeclList" */
925-
926-/* Line 480 of lalr1.cc */
927-#line 810 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
928- { release_hack( (yyvaluep->node) ); };
929-
930-/* Line 480 of lalr1.cc */
931-#line 1077 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
932- break;
933- case 437: /* "VarInDecl" */
934-
935-/* Line 480 of lalr1.cc */
936-#line 810 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
937- { release_hack( (yyvaluep->node) ); };
938-
939-/* Line 480 of lalr1.cc */
940-#line 1086 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
941- break;
942- case 438: /* "PositionalVar" */
943-
944-/* Line 480 of lalr1.cc */
945-#line 806 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
946- { release_hack( (yyvaluep->node) ); };
947-
948-/* Line 480 of lalr1.cc */
949-#line 1095 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
950- break;
951- case 439: /* "FTScoreVar" */
952-
953-/* Line 480 of lalr1.cc */
954-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
955- { release_hack( (yyvaluep->node) ); };
956-
957-/* Line 480 of lalr1.cc */
958-#line 1104 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
959- break;
960- case 440: /* "LetClause" */
961-
962-/* Line 480 of lalr1.cc */
963-#line 804 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
964- { release_hack( (yyvaluep->node) ); };
965-
966-/* Line 480 of lalr1.cc */
967-#line 1113 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
968- break;
969- case 441: /* "VarGetsDeclList" */
970-
971-/* Line 480 of lalr1.cc */
972-#line 810 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
973- { release_hack( (yyvaluep->node) ); };
974-
975-/* Line 480 of lalr1.cc */
976-#line 1122 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
977- break;
978- case 442: /* "VarGetsDecl" */
979-
980-/* Line 480 of lalr1.cc */
981-#line 810 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
982- { release_hack( (yyvaluep->node) ); };
983-
984-/* Line 480 of lalr1.cc */
985-#line 1131 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
986- break;
987- case 443: /* "WindowVarDecl" */
988-
989-/* Line 480 of lalr1.cc */
990-#line 810 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
991- { release_hack( (yyvaluep->node) ); };
992-
993-/* Line 480 of lalr1.cc */
994-#line 1140 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
995- break;
996- case 444: /* "WindowVars" */
997-
998-/* Line 480 of lalr1.cc */
999-#line 810 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1000- { release_hack( (yyvaluep->node) ); };
1001-
1002-/* Line 480 of lalr1.cc */
1003-#line 1149 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1004- break;
1005- case 445: /* "WindowVars3" */
1006-
1007-/* Line 480 of lalr1.cc */
1008-#line 810 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1009- { release_hack( (yyvaluep->node) ); };
1010-
1011-/* Line 480 of lalr1.cc */
1012-#line 1158 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1013- break;
1014- case 446: /* "WindowVars2" */
1015-
1016-/* Line 480 of lalr1.cc */
1017-#line 810 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1018- { release_hack( (yyvaluep->node) ); };
1019-
1020-/* Line 480 of lalr1.cc */
1021-#line 1167 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1022- break;
1023- case 447: /* "WhereClause" */
1024-
1025-/* Line 480 of lalr1.cc */
1026-#line 811 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1027- { release_hack( (yyvaluep->node) ); };
1028-
1029-/* Line 480 of lalr1.cc */
1030-#line 1176 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1031- break;
1032- case 448: /* "GroupByClause" */
1033-
1034-/* Line 480 of lalr1.cc */
1035-#line 805 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1036- { release_hack( (yyvaluep->node) ); };
1037-
1038-/* Line 480 of lalr1.cc */
1039-#line 1185 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1040- break;
1041- case 449: /* "GroupSpecList" */
1042-
1043-/* Line 480 of lalr1.cc */
1044-#line 805 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1045- { release_hack( (yyvaluep->node) ); };
1046-
1047-/* Line 480 of lalr1.cc */
1048-#line 1194 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1049- break;
1050- case 450: /* "GroupSpec" */
1051-
1052-/* Line 480 of lalr1.cc */
1053-#line 805 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1054- { release_hack( (yyvaluep->node) ); };
1055-
1056-/* Line 480 of lalr1.cc */
1057-#line 1203 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1058- break;
1059- case 451: /* "GroupCollationSpec" */
1060-
1061-/* Line 480 of lalr1.cc */
1062-#line 805 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1063- { release_hack( (yyvaluep->node) ); };
1064-
1065-/* Line 480 of lalr1.cc */
1066-#line 1212 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1067- break;
1068- case 452: /* "OrderByClause" */
1069-
1070-/* Line 480 of lalr1.cc */
1071-#line 805 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1072- { release_hack( (yyvaluep->node) ); };
1073-
1074-/* Line 480 of lalr1.cc */
1075-#line 1221 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1076- break;
1077- case 453: /* "OrderSpecList" */
1078-
1079-/* Line 480 of lalr1.cc */
1080-#line 806 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1081- { release_hack( (yyvaluep->node) ); };
1082-
1083-/* Line 480 of lalr1.cc */
1084-#line 1230 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1085- break;
1086- case 454: /* "OrderSpec" */
1087-
1088-/* Line 480 of lalr1.cc */
1089-#line 806 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1090- { release_hack( (yyvaluep->node) ); };
1091-
1092-/* Line 480 of lalr1.cc */
1093-#line 1239 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1094- break;
1095- case 455: /* "OrderModifier" */
1096-
1097-/* Line 480 of lalr1.cc */
1098-#line 805 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1099- { release_hack( (yyvaluep->node) ); };
1100-
1101-/* Line 480 of lalr1.cc */
1102-#line 1248 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1103- break;
1104- case 456: /* "OrderDirSpec" */
1105-
1106-/* Line 480 of lalr1.cc */
1107-#line 805 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1108- { release_hack( (yyvaluep->node) ); };
1109-
1110-/* Line 480 of lalr1.cc */
1111-#line 1257 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1112- break;
1113- case 457: /* "OrderEmptySpec" */
1114-
1115-/* Line 480 of lalr1.cc */
1116-#line 805 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1117- { release_hack( (yyvaluep->node) ); };
1118-
1119-/* Line 480 of lalr1.cc */
1120-#line 1266 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1121- break;
1122- case 458: /* "OrderCollationSpec" */
1123-
1124-/* Line 480 of lalr1.cc */
1125-#line 805 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1126- { release_hack( (yyvaluep->node) ); };
1127-
1128-/* Line 480 of lalr1.cc */
1129-#line 1275 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1130- break;
1131- case 459: /* "QuantifiedExpr" */
1132-
1133-/* Line 480 of lalr1.cc */
1134-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1135- { release_hack( (yyvaluep->expr) ); };
1136-
1137-/* Line 480 of lalr1.cc */
1138-#line 1284 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1139- break;
1140- case 460: /* "QVarInDeclList" */
1141-
1142-/* Line 480 of lalr1.cc */
1143-#line 806 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1144- { release_hack( (yyvaluep->node) ); };
1145-
1146-/* Line 480 of lalr1.cc */
1147-#line 1293 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1148- break;
1149- case 461: /* "QVarInDecl" */
1150-
1151-/* Line 480 of lalr1.cc */
1152-#line 806 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1153- { release_hack( (yyvaluep->node) ); };
1154-
1155-/* Line 480 of lalr1.cc */
1156-#line 1302 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1157- break;
1158- case 462: /* "SwitchExpr" */
1159-
1160-/* Line 480 of lalr1.cc */
1161-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1162- { release_hack( (yyvaluep->expr) ); };
1163-
1164-/* Line 480 of lalr1.cc */
1165-#line 1311 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1166- break;
1167- case 463: /* "SwitchCaseClauseList" */
1168-
1169-/* Line 480 of lalr1.cc */
1170-#line 812 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1171- { release_hack( (yyvaluep->node) ); };
1172-
1173-/* Line 480 of lalr1.cc */
1174-#line 1320 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1175- break;
1176- case 464: /* "SwitchCaseClause" */
1177-
1178-/* Line 480 of lalr1.cc */
1179-#line 812 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1180- { release_hack( (yyvaluep->node) ); };
1181-
1182-/* Line 480 of lalr1.cc */
1183-#line 1329 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1184- break;
1185- case 465: /* "SwitchCaseOperandList" */
1186-
1187-/* Line 480 of lalr1.cc */
1188-#line 812 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1189- { release_hack( (yyvaluep->node) ); };
1190-
1191-/* Line 480 of lalr1.cc */
1192-#line 1338 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1193- break;
1194- case 466: /* "SwitchStatement" */
1195-
1196-/* Line 480 of lalr1.cc */
1197-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1198- { release_hack( (yyvaluep->expr) ); };
1199-
1200-/* Line 480 of lalr1.cc */
1201-#line 1347 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1202- break;
1203- case 469: /* "TypeswitchExpr" */
1204-
1205-/* Line 480 of lalr1.cc */
1206-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1207- { release_hack( (yyvaluep->expr) ); };
1208-
1209-/* Line 480 of lalr1.cc */
1210-#line 1356 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1211- break;
1212- case 470: /* "TypeswitchStatement" */
1213-
1214-/* Line 480 of lalr1.cc */
1215-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1216- { release_hack( (yyvaluep->expr) ); };
1217-
1218-/* Line 480 of lalr1.cc */
1219-#line 1365 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1220- break;
1221- case 471: /* "CaseClauseList" */
1222-
1223-/* Line 480 of lalr1.cc */
1224-#line 801 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1225- { release_hack( (yyvaluep->node) ); };
1226-
1227-/* Line 480 of lalr1.cc */
1228-#line 1374 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1229- break;
1230- case 472: /* "CaseClause" */
1231-
1232-/* Line 480 of lalr1.cc */
1233-#line 801 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1234- { release_hack( (yyvaluep->node) ); };
1235-
1236-/* Line 480 of lalr1.cc */
1237-#line 1383 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1238- break;
1239- case 475: /* "SequenceTypeList" */
1240-
1241-/* Line 480 of lalr1.cc */
1242-#line 808 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1243- { release_hack( (yyvaluep->node) ); };
1244-
1245-/* Line 480 of lalr1.cc */
1246-#line 1392 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1247- break;
1248- case 476: /* "IfExpr" */
1249-
1250-/* Line 480 of lalr1.cc */
1251-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1252- { release_hack( (yyvaluep->expr) ); };
1253-
1254-/* Line 480 of lalr1.cc */
1255-#line 1401 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1256- break;
1257- case 477: /* "OrExpr" */
1258-
1259-/* Line 480 of lalr1.cc */
1260-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1261- { release_hack( (yyvaluep->expr) ); };
1262-
1263-/* Line 480 of lalr1.cc */
1264-#line 1410 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1265- break;
1266- case 478: /* "AndExpr" */
1267-
1268-/* Line 480 of lalr1.cc */
1269-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1270- { release_hack( (yyvaluep->expr) ); };
1271-
1272-/* Line 480 of lalr1.cc */
1273-#line 1419 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1274- break;
1275- case 479: /* "NotExpr" */
1276-
1277-/* Line 480 of lalr1.cc */
1278-#line 813 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1279- { release_hack( (yyvaluep->expr) ); };
1280-
1281-/* Line 480 of lalr1.cc */
1282-#line 1428 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1283- break;
1284- case 480: /* "ComparisonExpr" */
1285-
1286-/* Line 480 of lalr1.cc */
1287-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1288- { release_hack( (yyvaluep->expr) ); };
1289-
1290-/* Line 480 of lalr1.cc */
1291-#line 1437 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1292- break;
1293- case 482: /* "FTContainsExpr" */
1294-
1295-/* Line 480 of lalr1.cc */
1296-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1297- { release_hack( (yyvaluep->expr) ); };
1298-
1299-/* Line 480 of lalr1.cc */
1300-#line 1446 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1301- break;
1302- case 483: /* "StringConcatExpr" */
1303-
1304-/* Line 480 of lalr1.cc */
1305-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1306- { release_hack( (yyvaluep->expr) ); };
1307-
1308-/* Line 480 of lalr1.cc */
1309-#line 1455 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1310- break;
1311- case 484: /* "opt_FTIgnoreOption" */
1312-
1313-/* Line 480 of lalr1.cc */
1314-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1315- { release_hack( (yyvaluep->node) ); };
1316-
1317-/* Line 480 of lalr1.cc */
1318-#line 1464 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1319- break;
1320- case 485: /* "RangeExpr" */
1321-
1322-/* Line 480 of lalr1.cc */
1323-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1324- { release_hack( (yyvaluep->expr) ); };
1325-
1326-/* Line 480 of lalr1.cc */
1327-#line 1473 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1328- break;
1329- case 486: /* "AdditiveExpr" */
1330-
1331-/* Line 480 of lalr1.cc */
1332-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1333- { release_hack( (yyvaluep->expr) ); };
1334-
1335-/* Line 480 of lalr1.cc */
1336-#line 1482 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1337- break;
1338- case 487: /* "MultiplicativeExpr" */
1339-
1340-/* Line 480 of lalr1.cc */
1341-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1342- { release_hack( (yyvaluep->expr) ); };
1343-
1344-/* Line 480 of lalr1.cc */
1345-#line 1491 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1346- break;
1347- case 488: /* "UnionExpr" */
1348-
1349-/* Line 480 of lalr1.cc */
1350-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1351- { release_hack( (yyvaluep->expr) ); };
1352-
1353-/* Line 480 of lalr1.cc */
1354-#line 1500 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1355- break;
1356- case 489: /* "IntersectExceptExpr" */
1357-
1358-/* Line 480 of lalr1.cc */
1359-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1360- { release_hack( (yyvaluep->expr) ); };
1361-
1362-/* Line 480 of lalr1.cc */
1363-#line 1509 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1364- break;
1365- case 490: /* "InstanceofExpr" */
1366-
1367-/* Line 480 of lalr1.cc */
1368-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1369- { release_hack( (yyvaluep->expr) ); };
1370-
1371-/* Line 480 of lalr1.cc */
1372-#line 1518 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1373- break;
1374- case 491: /* "TreatExpr" */
1375-
1376-/* Line 480 of lalr1.cc */
1377-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1378- { release_hack( (yyvaluep->expr) ); };
1379-
1380-/* Line 480 of lalr1.cc */
1381-#line 1527 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1382- break;
1383- case 492: /* "CastableExpr" */
1384-
1385-/* Line 480 of lalr1.cc */
1386-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1387- { release_hack( (yyvaluep->expr) ); };
1388-
1389-/* Line 480 of lalr1.cc */
1390-#line 1536 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1391- break;
1392- case 493: /* "CastExpr" */
1393-
1394-/* Line 480 of lalr1.cc */
1395-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1396- { release_hack( (yyvaluep->expr) ); };
1397-
1398-/* Line 480 of lalr1.cc */
1399-#line 1545 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1400- break;
1401- case 494: /* "SingleType" */
1402-
1403-/* Line 480 of lalr1.cc */
1404-#line 808 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1405- { release_hack( (yyvaluep->node) ); };
1406-
1407-/* Line 480 of lalr1.cc */
1408-#line 1554 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1409- break;
1410- case 495: /* "UnaryExpr" */
1411-
1412-/* Line 480 of lalr1.cc */
1413-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1414- { release_hack( (yyvaluep->expr) ); };
1415-
1416-/* Line 480 of lalr1.cc */
1417-#line 1563 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1418- break;
1419- case 496: /* "SignList" */
1420-
1421-/* Line 480 of lalr1.cc */
1422-#line 808 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1423- { release_hack( (yyvaluep->node) ); };
1424-
1425-/* Line 480 of lalr1.cc */
1426-#line 1572 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1427- break;
1428- case 497: /* "ValueExpr" */
1429-
1430-/* Line 480 of lalr1.cc */
1431-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1432- { release_hack( (yyvaluep->expr) ); };
1433-
1434-/* Line 480 of lalr1.cc */
1435-#line 1581 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1436- break;
1437- case 498: /* "SimpleMapExpr" */
1438-
1439-/* Line 480 of lalr1.cc */
1440-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1441- { release_hack( (yyvaluep->expr) ); };
1442-
1443-/* Line 480 of lalr1.cc */
1444-#line 1590 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1445- break;
1446- case 499: /* "ValueComp" */
1447-
1448-/* Line 480 of lalr1.cc */
1449-#line 809 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1450- { release_hack( (yyvaluep->node) ); };
1451-
1452-/* Line 480 of lalr1.cc */
1453-#line 1599 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1454- break;
1455- case 500: /* "NodeComp" */
1456-
1457-/* Line 480 of lalr1.cc */
1458-#line 812 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1459- { release_hack( (yyvaluep->node) ); };
1460-
1461-/* Line 480 of lalr1.cc */
1462-#line 1608 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1463- break;
1464- case 501: /* "ValidateExpr" */
1465-
1466-/* Line 480 of lalr1.cc */
1467-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1468- { release_hack( (yyvaluep->expr) ); };
1469-
1470-/* Line 480 of lalr1.cc */
1471-#line 1617 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1472- break;
1473- case 502: /* "ExtensionExpr" */
1474-
1475-/* Line 480 of lalr1.cc */
1476-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1477- { release_hack( (yyvaluep->expr) ); };
1478-
1479-/* Line 480 of lalr1.cc */
1480-#line 1626 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1481- break;
1482- case 503: /* "Pragma_list" */
1483-
1484-/* Line 480 of lalr1.cc */
1485-#line 806 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1486- { release_hack( (yyvaluep->node) ); };
1487-
1488-/* Line 480 of lalr1.cc */
1489-#line 1635 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1490- break;
1491- case 504: /* "Pragma" */
1492-
1493-/* Line 480 of lalr1.cc */
1494-#line 806 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1495- { release_hack( (yyvaluep->node) ); };
1496-
1497-/* Line 480 of lalr1.cc */
1498-#line 1644 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1499- break;
1500- case 505: /* "PathExpr" */
1501-
1502-/* Line 480 of lalr1.cc */
1503-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1504- { release_hack( (yyvaluep->expr) ); };
1505-
1506-/* Line 480 of lalr1.cc */
1507-#line 1653 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1508- break;
1509- case 507: /* "RelativePathExpr" */
1510-
1511-/* Line 480 of lalr1.cc */
1512-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1513- { release_hack( (yyvaluep->expr) ); };
1514-
1515-/* Line 480 of lalr1.cc */
1516-#line 1662 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1517- break;
1518- case 508: /* "StepExpr" */
1519-
1520-/* Line 480 of lalr1.cc */
1521-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1522- { release_hack( (yyvaluep->expr) ); };
1523-
1524-/* Line 480 of lalr1.cc */
1525-#line 1671 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1526- break;
1527- case 509: /* "AxisStep" */
1528-
1529-/* Line 480 of lalr1.cc */
1530-#line 816 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1531- { release_hack( (yyvaluep->expr) ); };
1532-
1533-/* Line 480 of lalr1.cc */
1534-#line 1680 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1535- break;
1536- case 510: /* "ForwardStep" */
1537-
1538-/* Line 480 of lalr1.cc */
1539-#line 799 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1540- { release_hack( (yyvaluep->node) ); };
1541-
1542-/* Line 480 of lalr1.cc */
1543-#line 1689 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1544- break;
1545- case 511: /* "ForwardAxis" */
1546-
1547-/* Line 480 of lalr1.cc */
1548-#line 799 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1549- { release_hack( (yyvaluep->node) ); };
1550-
1551-/* Line 480 of lalr1.cc */
1552-#line 1698 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1553- break;
1554- case 512: /* "AbbrevForwardStep" */
1555-
1556-/* Line 480 of lalr1.cc */
1557-#line 799 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1558- { release_hack( (yyvaluep->node) ); };
1559-
1560-/* Line 480 of lalr1.cc */
1561-#line 1707 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1562- break;
1563- case 513: /* "ReverseStep" */
1564-
1565-/* Line 480 of lalr1.cc */
1566-#line 799 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1567- { release_hack( (yyvaluep->node) ); };
1568-
1569-/* Line 480 of lalr1.cc */
1570-#line 1716 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1571- break;
1572- case 514: /* "ReverseAxis" */
1573-
1574-/* Line 480 of lalr1.cc */
1575-#line 799 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1576- { release_hack( (yyvaluep->node) ); };
1577-
1578-/* Line 480 of lalr1.cc */
1579-#line 1725 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1580- break;
1581- case 515: /* "NodeTest" */
1582-
1583-/* Line 480 of lalr1.cc */
1584-#line 799 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1585- { release_hack( (yyvaluep->node) ); };
1586-
1587-/* Line 480 of lalr1.cc */
1588-#line 1734 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1589- break;
1590- case 516: /* "NameTest" */
1591-
1592-/* Line 480 of lalr1.cc */
1593-#line 804 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1594- { release_hack( (yyvaluep->node) ); };
1595-
1596-/* Line 480 of lalr1.cc */
1597-#line 1743 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1598- break;
1599- case 517: /* "Wildcard" */
1600-
1601-/* Line 480 of lalr1.cc */
1602-#line 811 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1603- { release_hack( (yyvaluep->node) ); };
1604-
1605-/* Line 480 of lalr1.cc */
1606-#line 1752 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1607- break;
1608- case 518: /* "PostfixExpr" */
1609-
1610-/* Line 480 of lalr1.cc */
1611-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1612- { release_hack( (yyvaluep->expr) ); };
1613-
1614-/* Line 480 of lalr1.cc */
1615-#line 1761 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1616- break;
1617- case 519: /* "PredicateList" */
1618-
1619-/* Line 480 of lalr1.cc */
1620-#line 806 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1621- { release_hack( (yyvaluep->node) ); };
1622-
1623-/* Line 480 of lalr1.cc */
1624-#line 1770 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1625- break;
1626- case 520: /* "Predicate" */
1627-
1628-/* Line 480 of lalr1.cc */
1629-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1630- { release_hack( (yyvaluep->expr) ); };
1631-
1632-/* Line 480 of lalr1.cc */
1633-#line 1779 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1634- break;
1635- case 521: /* "PrimaryExpr" */
1636-
1637-/* Line 480 of lalr1.cc */
1638-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1639- { release_hack( (yyvaluep->expr) ); };
1640-
1641-/* Line 480 of lalr1.cc */
1642-#line 1788 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1643- break;
1644- case 522: /* "Literal" */
1645-
1646-/* Line 480 of lalr1.cc */
1647-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1648- { release_hack( (yyvaluep->expr) ); };
1649-
1650-/* Line 480 of lalr1.cc */
1651-#line 1797 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1652- break;
1653- case 523: /* "NumericLiteral" */
1654-
1655-/* Line 480 of lalr1.cc */
1656-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1657- { release_hack( (yyvaluep->expr) ); };
1658-
1659-/* Line 480 of lalr1.cc */
1660-#line 1806 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1661- break;
1662- case 524: /* "VarRef" */
1663-
1664-/* Line 480 of lalr1.cc */
1665-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1666- { release_hack( (yyvaluep->expr) ); };
1667-
1668-/* Line 480 of lalr1.cc */
1669-#line 1815 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1670- break;
1671- case 525: /* "ParenthesizedExpr" */
1672-
1673-/* Line 480 of lalr1.cc */
1674-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1675- { release_hack( (yyvaluep->expr) ); };
1676-
1677-/* Line 480 of lalr1.cc */
1678-#line 1824 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1679- break;
1680- case 526: /* "ContextItemExpr" */
1681-
1682-/* Line 480 of lalr1.cc */
1683-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1684- { release_hack( (yyvaluep->expr) ); };
1685-
1686-/* Line 480 of lalr1.cc */
1687-#line 1833 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1688- break;
1689- case 527: /* "OrderedExpr" */
1690-
1691-/* Line 480 of lalr1.cc */
1692-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1693- { release_hack( (yyvaluep->expr) ); };
1694-
1695-/* Line 480 of lalr1.cc */
1696-#line 1842 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1697- break;
1698- case 528: /* "UnorderedExpr" */
1699-
1700-/* Line 480 of lalr1.cc */
1701-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1702- { release_hack( (yyvaluep->expr) ); };
1703-
1704-/* Line 480 of lalr1.cc */
1705-#line 1851 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1706- break;
1707- case 529: /* "FunctionCall" */
1708-
1709-/* Line 480 of lalr1.cc */
1710-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1711- { release_hack( (yyvaluep->expr) ); };
1712-
1713-/* Line 480 of lalr1.cc */
1714-#line 1860 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1715- break;
1716- case 530: /* "ArgList" */
1717-
1718-/* Line 480 of lalr1.cc */
1719-#line 800 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1720- { release_hack( (yyvaluep->node) ); };
1721-
1722-/* Line 480 of lalr1.cc */
1723-#line 1869 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1724- break;
1725- case 534: /* "Constructor" */
1726-
1727-/* Line 480 of lalr1.cc */
1728-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1729- { release_hack( (yyvaluep->expr) ); };
1730-
1731-/* Line 480 of lalr1.cc */
1732-#line 1878 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1733- break;
1734- case 535: /* "DirectConstructor" */
1735-
1736-/* Line 480 of lalr1.cc */
1737-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1738- { release_hack( (yyvaluep->expr) ); };
1739-
1740-/* Line 480 of lalr1.cc */
1741-#line 1887 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1742- break;
1743- case 536: /* "DirElemConstructor" */
1744-
1745-/* Line 480 of lalr1.cc */
1746-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1747- { release_hack( (yyvaluep->expr) ); };
1748-
1749-/* Line 480 of lalr1.cc */
1750-#line 1896 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1751- break;
1752- case 537: /* "DirElemContentList" */
1753-
1754-/* Line 480 of lalr1.cc */
1755-#line 802 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1756- { release_hack( (yyvaluep->node) ); };
1757-
1758-/* Line 480 of lalr1.cc */
1759-#line 1905 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1760- break;
1761- case 538: /* "DirAttributeList" */
1762-
1763-/* Line 480 of lalr1.cc */
1764-#line 802 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1765- { release_hack( (yyvaluep->node) ); };
1766-
1767-/* Line 480 of lalr1.cc */
1768-#line 1914 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1769- break;
1770- case 539: /* "DirAttr" */
1771-
1772-/* Line 480 of lalr1.cc */
1773-#line 802 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1774- { release_hack( (yyvaluep->node) ); };
1775-
1776-/* Line 480 of lalr1.cc */
1777-#line 1923 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1778- break;
1779- case 541: /* "DirAttributeValue" */
1780-
1781-/* Line 480 of lalr1.cc */
1782-#line 802 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1783- { release_hack( (yyvaluep->node) ); };
1784-
1785-/* Line 480 of lalr1.cc */
1786-#line 1932 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1787- break;
1788- case 542: /* "opt_QuoteAttrContentList" */
1789-
1790-/* Line 480 of lalr1.cc */
1791-#line 807 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1792- { release_hack( (yyvaluep->node) ); };
1793-
1794-/* Line 480 of lalr1.cc */
1795-#line 1941 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1796- break;
1797- case 543: /* "QuoteAttrContentList" */
1798-
1799-/* Line 480 of lalr1.cc */
1800-#line 807 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1801- { release_hack( (yyvaluep->node) ); };
1802-
1803-/* Line 480 of lalr1.cc */
1804-#line 1950 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1805- break;
1806- case 544: /* "opt_AposAttrContentList" */
1807-
1808-/* Line 480 of lalr1.cc */
1809-#line 800 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1810- { release_hack( (yyvaluep->node) ); };
1811-
1812-/* Line 480 of lalr1.cc */
1813-#line 1959 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1814- break;
1815- case 545: /* "AposAttrContentList" */
1816-
1817-/* Line 480 of lalr1.cc */
1818-#line 800 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1819- { release_hack( (yyvaluep->node) ); };
1820-
1821-/* Line 480 of lalr1.cc */
1822-#line 1968 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1823- break;
1824- case 546: /* "QuoteAttrValueContent" */
1825-
1826-/* Line 480 of lalr1.cc */
1827-#line 807 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1828- { release_hack( (yyvaluep->node) ); };
1829-
1830-/* Line 480 of lalr1.cc */
1831-#line 1977 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1832- break;
1833- case 547: /* "AposAttrValueContent" */
1834-
1835-/* Line 480 of lalr1.cc */
1836-#line 800 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1837- { release_hack( (yyvaluep->node) ); };
1838-
1839-/* Line 480 of lalr1.cc */
1840-#line 1986 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1841- break;
1842- case 548: /* "DirElemContent" */
1843-
1844-/* Line 480 of lalr1.cc */
1845-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1846- { release_hack( (yyvaluep->expr) ); };
1847-
1848-/* Line 480 of lalr1.cc */
1849-#line 1995 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1850- break;
1851- case 549: /* "CommonContent" */
1852-
1853-/* Line 480 of lalr1.cc */
1854-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1855- { release_hack( (yyvaluep->expr) ); };
1856-
1857-/* Line 480 of lalr1.cc */
1858-#line 2004 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1859- break;
1860- case 550: /* "DirCommentConstructor" */
1861-
1862-/* Line 480 of lalr1.cc */
1863-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1864- { release_hack( (yyvaluep->expr) ); };
1865-
1866-/* Line 480 of lalr1.cc */
1867-#line 2013 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1868- break;
1869- case 551: /* "DirPIConstructor" */
1870-
1871-/* Line 480 of lalr1.cc */
1872-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1873- { release_hack( (yyvaluep->expr) ); };
1874-
1875-/* Line 480 of lalr1.cc */
1876-#line 2022 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1877- break;
1878- case 552: /* "CDataSection" */
1879-
1880-/* Line 480 of lalr1.cc */
1881-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1882- { release_hack( (yyvaluep->expr) ); };
1883-
1884-/* Line 480 of lalr1.cc */
1885-#line 2031 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1886- break;
1887- case 553: /* "ComputedConstructor" */
1888-
1889-/* Line 480 of lalr1.cc */
1890-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1891- { release_hack( (yyvaluep->expr) ); };
1892-
1893-/* Line 480 of lalr1.cc */
1894-#line 2040 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1895- break;
1896- case 554: /* "CompDocConstructor" */
1897-
1898-/* Line 480 of lalr1.cc */
1899-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1900- { release_hack( (yyvaluep->expr) ); };
1901-
1902-/* Line 480 of lalr1.cc */
1903-#line 2049 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1904- break;
1905- case 555: /* "CompElemConstructor" */
1906-
1907-/* Line 480 of lalr1.cc */
1908-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1909- { release_hack( (yyvaluep->expr) ); };
1910-
1911-/* Line 480 of lalr1.cc */
1912-#line 2058 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1913- break;
1914- case 556: /* "CompAttrConstructor" */
1915-
1916-/* Line 480 of lalr1.cc */
1917-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1918- { release_hack( (yyvaluep->expr) ); };
1919-
1920-/* Line 480 of lalr1.cc */
1921-#line 2067 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1922- break;
1923- case 557: /* "CompTextConstructor" */
1924-
1925-/* Line 480 of lalr1.cc */
1926-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1927- { release_hack( (yyvaluep->expr) ); };
1928-
1929-/* Line 480 of lalr1.cc */
1930-#line 2076 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1931- break;
1932- case 558: /* "CompCommentConstructor" */
1933-
1934-/* Line 480 of lalr1.cc */
1935-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1936- { release_hack( (yyvaluep->expr) ); };
1937-
1938-/* Line 480 of lalr1.cc */
1939-#line 2085 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1940- break;
1941- case 559: /* "CompPIConstructor" */
1942-
1943-/* Line 480 of lalr1.cc */
1944-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1945- { release_hack( (yyvaluep->expr) ); };
1946-
1947-/* Line 480 of lalr1.cc */
1948-#line 2094 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1949- break;
1950- case 560: /* "CompNamespaceConstructor" */
1951-
1952-/* Line 480 of lalr1.cc */
1953-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1954- { release_hack( (yyvaluep->expr) ); };
1955-
1956-/* Line 480 of lalr1.cc */
1957-#line 2103 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1958- break;
1959- case 561: /* "TypeDeclaration" */
1960-
1961-/* Line 480 of lalr1.cc */
1962-#line 808 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1963- { release_hack( (yyvaluep->node) ); };
1964-
1965-/* Line 480 of lalr1.cc */
1966-#line 2112 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1967- break;
1968- case 562: /* "SequenceType" */
1969-
1970-/* Line 480 of lalr1.cc */
1971-#line 808 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1972- { release_hack( (yyvaluep->node) ); };
1973-
1974-/* Line 480 of lalr1.cc */
1975-#line 2121 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1976- break;
1977- case 563: /* "OccurrenceIndicator" */
1978-
1979-/* Line 480 of lalr1.cc */
1980-#line 804 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1981- { release_hack( (yyvaluep->node) ); };
1982-
1983-/* Line 480 of lalr1.cc */
1984-#line 2130 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1985- break;
1986- case 564: /* "ItemType" */
1987-
1988-/* Line 480 of lalr1.cc */
1989-#line 804 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1990- { release_hack( (yyvaluep->node) ); };
1991-
1992-/* Line 480 of lalr1.cc */
1993-#line 2139 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
1994- break;
1995- case 565: /* "TypeList" */
1996-
1997-/* Line 480 of lalr1.cc */
1998-#line 811 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
1999- { release_hack( (yyvaluep->node) ); };
2000-
2001-/* Line 480 of lalr1.cc */
2002-#line 2148 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2003- break;
2004- case 566: /* "GeneralizedAtomicType" */
2005-
2006-/* Line 480 of lalr1.cc */
2007-#line 801 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2008- { release_hack( (yyvaluep->node) ); };
2009-
2010-/* Line 480 of lalr1.cc */
2011-#line 2157 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2012- break;
2013- case 567: /* "SimpleType" */
2014-
2015-/* Line 480 of lalr1.cc */
2016-#line 801 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2017- { release_hack( (yyvaluep->node) ); };
2018-
2019-/* Line 480 of lalr1.cc */
2020-#line 2166 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2021- break;
2022- case 568: /* "KindTest" */
2023-
2024-/* Line 480 of lalr1.cc */
2025-#line 804 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2026- { release_hack( (yyvaluep->node) ); };
2027-
2028-/* Line 480 of lalr1.cc */
2029-#line 2175 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2030- break;
2031- case 569: /* "AnyKindTest" */
2032-
2033-/* Line 480 of lalr1.cc */
2034-#line 800 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2035- { release_hack( (yyvaluep->node) ); };
2036-
2037-/* Line 480 of lalr1.cc */
2038-#line 2184 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2039- break;
2040- case 571: /* "DocumentTest" */
2041-
2042-/* Line 480 of lalr1.cc */
2043-#line 802 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2044- { release_hack( (yyvaluep->node) ); };
2045-
2046-/* Line 480 of lalr1.cc */
2047-#line 2193 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2048- break;
2049- case 572: /* "NamespaceTest" */
2050-
2051-/* Line 480 of lalr1.cc */
2052-#line 808 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2053- { release_hack( (yyvaluep->node) ); };
2054-
2055-/* Line 480 of lalr1.cc */
2056-#line 2202 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2057- break;
2058- case 573: /* "TextTest" */
2059-
2060-/* Line 480 of lalr1.cc */
2061-#line 808 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2062- { release_hack( (yyvaluep->node) ); };
2063-
2064-/* Line 480 of lalr1.cc */
2065-#line 2211 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2066- break;
2067- case 574: /* "CommentTest" */
2068-
2069-/* Line 480 of lalr1.cc */
2070-#line 801 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2071- { release_hack( (yyvaluep->node) ); };
2072-
2073-/* Line 480 of lalr1.cc */
2074-#line 2220 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2075- break;
2076- case 575: /* "PITest" */
2077-
2078-/* Line 480 of lalr1.cc */
2079-#line 806 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2080- { release_hack( (yyvaluep->node) ); };
2081-
2082-/* Line 480 of lalr1.cc */
2083-#line 2229 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2084- break;
2085- case 576: /* "AttributeTest" */
2086-
2087-/* Line 480 of lalr1.cc */
2088-#line 801 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2089- { release_hack( (yyvaluep->node) ); };
2090-
2091-/* Line 480 of lalr1.cc */
2092-#line 2238 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2093- break;
2094- case 577: /* "SchemaAttributeTest" */
2095-
2096-/* Line 480 of lalr1.cc */
2097-#line 807 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2098- { release_hack( (yyvaluep->node) ); };
2099-
2100-/* Line 480 of lalr1.cc */
2101-#line 2247 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2102- break;
2103- case 578: /* "ElementTest" */
2104-
2105-/* Line 480 of lalr1.cc */
2106-#line 802 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2107- { release_hack( (yyvaluep->node) ); };
2108-
2109-/* Line 480 of lalr1.cc */
2110-#line 2256 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2111- break;
2112- case 579: /* "SchemaElementTest" */
2113-
2114-/* Line 480 of lalr1.cc */
2115-#line 807 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2116- { release_hack( (yyvaluep->node) ); };
2117-
2118-/* Line 480 of lalr1.cc */
2119-#line 2265 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2120- break;
2121- case 580: /* "TypeName" */
2122-
2123-/* Line 480 of lalr1.cc */
2124-#line 808 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2125- { release_hack( (yyvaluep->node) ); };
2126-
2127-/* Line 480 of lalr1.cc */
2128-#line 2274 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2129- break;
2130- case 581: /* "TypeName_WITH_HOOK" */
2131-
2132-/* Line 480 of lalr1.cc */
2133-#line 808 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2134- { release_hack( (yyvaluep->node) ); };
2135-
2136-/* Line 480 of lalr1.cc */
2137-#line 2283 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2138- break;
2139- case 582: /* "StringLiteral" */
2140-
2141-/* Line 480 of lalr1.cc */
2142-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2143- { release_hack( (yyvaluep->expr) ); };
2144-
2145-/* Line 480 of lalr1.cc */
2146-#line 2292 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2147- break;
2148- case 584: /* "AnyFunctionTest" */
2149-
2150-/* Line 480 of lalr1.cc */
2151-#line 811 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2152- { release_hack( (yyvaluep->node) ); };
2153-
2154-/* Line 480 of lalr1.cc */
2155-#line 2301 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2156- break;
2157- case 585: /* "TypedFunctionTest" */
2158-
2159-/* Line 480 of lalr1.cc */
2160-#line 811 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2161- { release_hack( (yyvaluep->node) ); };
2162-
2163-/* Line 480 of lalr1.cc */
2164-#line 2310 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2165- break;
2166- case 588: /* "InsertExpr" */
2167-
2168-/* Line 480 of lalr1.cc */
2169-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2170- { release_hack( (yyvaluep->expr) ); };
2171-
2172-/* Line 480 of lalr1.cc */
2173-#line 2319 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2174- break;
2175- case 589: /* "DeleteExpr" */
2176-
2177-/* Line 480 of lalr1.cc */
2178-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2179- { release_hack( (yyvaluep->expr) ); };
2180-
2181-/* Line 480 of lalr1.cc */
2182-#line 2328 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2183- break;
2184- case 590: /* "ReplaceExpr" */
2185-
2186-/* Line 480 of lalr1.cc */
2187-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2188- { release_hack( (yyvaluep->expr) ); };
2189-
2190-/* Line 480 of lalr1.cc */
2191-#line 2337 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2192- break;
2193- case 591: /* "RenameExpr" */
2194-
2195-/* Line 480 of lalr1.cc */
2196-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2197- { release_hack( (yyvaluep->expr) ); };
2198-
2199-/* Line 480 of lalr1.cc */
2200-#line 2346 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2201- break;
2202- case 592: /* "TransformExpr" */
2203-
2204-/* Line 480 of lalr1.cc */
2205-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2206- { release_hack( (yyvaluep->expr) ); };
2207-
2208-/* Line 480 of lalr1.cc */
2209-#line 2355 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2210- break;
2211- case 593: /* "VarNameList" */
2212-
2213-/* Line 480 of lalr1.cc */
2214-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2215- { release_hack( (yyvaluep->expr) ); };
2216-
2217-/* Line 480 of lalr1.cc */
2218-#line 2364 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2219- break;
2220- case 594: /* "VarNameDecl" */
2221-
2222-/* Line 480 of lalr1.cc */
2223-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2224- { release_hack( (yyvaluep->expr) ); };
2225-
2226-/* Line 480 of lalr1.cc */
2227-#line 2373 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2228- break;
2229- case 595: /* "TryExpr" */
2230-
2231-/* Line 480 of lalr1.cc */
2232-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2233- { release_hack( (yyvaluep->expr) ); };
2234-
2235-/* Line 480 of lalr1.cc */
2236-#line 2382 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2237- break;
2238- case 596: /* "CatchListExpr" */
2239-
2240-/* Line 480 of lalr1.cc */
2241-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2242- { release_hack( (yyvaluep->expr) ); };
2243-
2244-/* Line 480 of lalr1.cc */
2245-#line 2391 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2246- break;
2247- case 597: /* "CatchExpr" */
2248-
2249-/* Line 480 of lalr1.cc */
2250-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2251- { release_hack( (yyvaluep->expr) ); };
2252-
2253-/* Line 480 of lalr1.cc */
2254-#line 2400 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2255- break;
2256- case 598: /* "BracedExpr" */
2257-
2258-/* Line 480 of lalr1.cc */
2259-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2260- { release_hack( (yyvaluep->expr) ); };
2261-
2262-/* Line 480 of lalr1.cc */
2263-#line 2409 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2264- break;
2265- case 599: /* "NameTestList" */
2266-
2267-/* Line 480 of lalr1.cc */
2268-#line 818 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2269- { delete (yyvaluep->name_test_list); };
2270-
2271-/* Line 480 of lalr1.cc */
2272-#line 2418 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2273- break;
2274- case 600: /* "FTSelection" */
2275-
2276-/* Line 480 of lalr1.cc */
2277-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2278- { release_hack( (yyvaluep->node) ); };
2279-
2280-/* Line 480 of lalr1.cc */
2281-#line 2427 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2282- break;
2283- case 603: /* "FTOr" */
2284-
2285-/* Line 480 of lalr1.cc */
2286-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2287- { release_hack( (yyvaluep->node) ); };
2288-
2289-/* Line 480 of lalr1.cc */
2290-#line 2436 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2291- break;
2292- case 604: /* "FTAnd" */
2293-
2294-/* Line 480 of lalr1.cc */
2295-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2296- { release_hack( (yyvaluep->node) ); };
2297-
2298-/* Line 480 of lalr1.cc */
2299-#line 2445 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2300- break;
2301- case 605: /* "FTMildNot" */
2302-
2303-/* Line 480 of lalr1.cc */
2304-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2305- { release_hack( (yyvaluep->node) ); };
2306-
2307-/* Line 480 of lalr1.cc */
2308-#line 2454 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2309- break;
2310- case 606: /* "FTUnaryNot" */
2311-
2312-/* Line 480 of lalr1.cc */
2313-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2314- { release_hack( (yyvaluep->node) ); };
2315-
2316-/* Line 480 of lalr1.cc */
2317-#line 2463 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2318- break;
2319- case 607: /* "FTPrimaryWithOptions" */
2320-
2321-/* Line 480 of lalr1.cc */
2322-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2323- { release_hack( (yyvaluep->node) ); };
2324-
2325-/* Line 480 of lalr1.cc */
2326-#line 2472 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2327- break;
2328- case 608: /* "opt_FTMatchOptions" */
2329-
2330-/* Line 480 of lalr1.cc */
2331-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2332- { release_hack( (yyvaluep->node) ); };
2333-
2334-/* Line 480 of lalr1.cc */
2335-#line 2481 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2336- break;
2337- case 610: /* "FTWeight" */
2338-
2339-/* Line 480 of lalr1.cc */
2340-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2341- { release_hack( (yyvaluep->node) ); };
2342-
2343-/* Line 480 of lalr1.cc */
2344-#line 2490 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2345- break;
2346- case 611: /* "FTPrimary" */
2347-
2348-/* Line 480 of lalr1.cc */
2349-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2350- { release_hack( (yyvaluep->node) ); };
2351-
2352-/* Line 480 of lalr1.cc */
2353-#line 2499 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2354- break;
2355- case 612: /* "opt_FTTimes" */
2356-
2357-/* Line 480 of lalr1.cc */
2358-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2359- { release_hack( (yyvaluep->node) ); };
2360-
2361-/* Line 480 of lalr1.cc */
2362-#line 2508 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2363- break;
2364- case 613: /* "FTExtensionSelection" */
2365-
2366-/* Line 480 of lalr1.cc */
2367-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2368- { release_hack( (yyvaluep->node) ); };
2369-
2370-/* Line 480 of lalr1.cc */
2371-#line 2517 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2372- break;
2373- case 615: /* "FTWords" */
2374-
2375-/* Line 480 of lalr1.cc */
2376-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2377- { release_hack( (yyvaluep->node) ); };
2378-
2379-/* Line 480 of lalr1.cc */
2380-#line 2526 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2381- break;
2382- case 616: /* "FTWordsValue" */
2383-
2384-/* Line 480 of lalr1.cc */
2385-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2386- { release_hack( (yyvaluep->node) ); };
2387-
2388-/* Line 480 of lalr1.cc */
2389-#line 2535 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2390- break;
2391- case 618: /* "FTAnyallOption" */
2392-
2393-/* Line 480 of lalr1.cc */
2394-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2395- { release_hack( (yyvaluep->node) ); };
2396-
2397-/* Line 480 of lalr1.cc */
2398-#line 2544 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2399- break;
2400- case 621: /* "FTPosFilter" */
2401-
2402-/* Line 480 of lalr1.cc */
2403-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2404- { release_hack( (yyvaluep->node) ); };
2405-
2406-/* Line 480 of lalr1.cc */
2407-#line 2553 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2408- break;
2409- case 622: /* "FTOrder" */
2410-
2411-/* Line 480 of lalr1.cc */
2412-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2413- { release_hack( (yyvaluep->node) ); };
2414-
2415-/* Line 480 of lalr1.cc */
2416-#line 2562 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2417- break;
2418- case 623: /* "FTWindow" */
2419-
2420-/* Line 480 of lalr1.cc */
2421-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2422- { release_hack( (yyvaluep->node) ); };
2423-
2424-/* Line 480 of lalr1.cc */
2425-#line 2571 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2426- break;
2427- case 624: /* "FTDistance" */
2428-
2429-/* Line 480 of lalr1.cc */
2430-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2431- { release_hack( (yyvaluep->node) ); };
2432-
2433-/* Line 480 of lalr1.cc */
2434-#line 2580 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2435- break;
2436- case 625: /* "FTUnit" */
2437-
2438-/* Line 480 of lalr1.cc */
2439-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2440- { release_hack( (yyvaluep->node) ); };
2441-
2442-/* Line 480 of lalr1.cc */
2443-#line 2589 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2444- break;
2445- case 626: /* "FTMatchOptions" */
2446-
2447-/* Line 480 of lalr1.cc */
2448-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2449- { release_hack( (yyvaluep->node) ); };
2450-
2451-/* Line 480 of lalr1.cc */
2452-#line 2598 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2453- break;
2454- case 627: /* "FTMatchOption" */
2455-
2456-/* Line 480 of lalr1.cc */
2457-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2458- { release_hack( (yyvaluep->node) ); };
2459-
2460-/* Line 480 of lalr1.cc */
2461-#line 2607 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2462- break;
2463- case 628: /* "FTCaseOption" */
2464-
2465-/* Line 480 of lalr1.cc */
2466-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2467- { release_hack( (yyvaluep->node) ); };
2468-
2469-/* Line 480 of lalr1.cc */
2470-#line 2616 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2471- break;
2472- case 629: /* "FTDiacriticsOption" */
2473-
2474-/* Line 480 of lalr1.cc */
2475-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2476- { release_hack( (yyvaluep->node) ); };
2477-
2478-/* Line 480 of lalr1.cc */
2479-#line 2625 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2480- break;
2481- case 630: /* "FTExtensionOption" */
2482-
2483-/* Line 480 of lalr1.cc */
2484-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2485- { release_hack( (yyvaluep->node) ); };
2486-
2487-/* Line 480 of lalr1.cc */
2488-#line 2634 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2489- break;
2490- case 631: /* "FTStemOption" */
2491-
2492-/* Line 480 of lalr1.cc */
2493-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2494- { release_hack( (yyvaluep->node) ); };
2495-
2496-/* Line 480 of lalr1.cc */
2497-#line 2643 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2498- break;
2499- case 632: /* "FTThesaurusOption" */
2500-
2501-/* Line 480 of lalr1.cc */
2502-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2503- { release_hack( (yyvaluep->node) ); };
2504-
2505-/* Line 480 of lalr1.cc */
2506-#line 2652 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2507- break;
2508- case 636: /* "FTThesaurusID" */
2509-
2510-/* Line 480 of lalr1.cc */
2511-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2512- { release_hack( (yyvaluep->node) ); };
2513-
2514-/* Line 480 of lalr1.cc */
2515-#line 2661 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2516- break;
2517- case 639: /* "FTStopWordOption" */
2518-
2519-/* Line 480 of lalr1.cc */
2520-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2521- { release_hack( (yyvaluep->node) ); };
2522-
2523-/* Line 480 of lalr1.cc */
2524-#line 2670 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2525- break;
2526- case 640: /* "FTStopWords" */
2527-
2528-/* Line 480 of lalr1.cc */
2529-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2530- { release_hack( (yyvaluep->node) ); };
2531-
2532-/* Line 480 of lalr1.cc */
2533-#line 2679 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2534- break;
2535- case 644: /* "FTStopWordsInclExcl" */
2536-
2537-/* Line 480 of lalr1.cc */
2538-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2539- { release_hack( (yyvaluep->node) ); };
2540-
2541-/* Line 480 of lalr1.cc */
2542-#line 2688 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2543- break;
2544- case 645: /* "FTLanguageOption" */
2545-
2546-/* Line 480 of lalr1.cc */
2547-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2548- { release_hack( (yyvaluep->node) ); };
2549-
2550-/* Line 480 of lalr1.cc */
2551-#line 2697 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2552- break;
2553- case 646: /* "FTWildCardOption" */
2554-
2555-/* Line 480 of lalr1.cc */
2556-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2557- { release_hack( (yyvaluep->node) ); };
2558-
2559-/* Line 480 of lalr1.cc */
2560-#line 2706 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2561- break;
2562- case 647: /* "FTContent" */
2563-
2564-/* Line 480 of lalr1.cc */
2565-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2566- { release_hack( (yyvaluep->node) ); };
2567-
2568-/* Line 480 of lalr1.cc */
2569-#line 2715 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2570- break;
2571- case 648: /* "FTTimes" */
2572-
2573-/* Line 480 of lalr1.cc */
2574-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2575- { release_hack( (yyvaluep->node) ); };
2576-
2577-/* Line 480 of lalr1.cc */
2578-#line 2724 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2579- break;
2580- case 649: /* "FTRange" */
2581-
2582-/* Line 480 of lalr1.cc */
2583-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2584- { release_hack( (yyvaluep->node) ); };
2585-
2586-/* Line 480 of lalr1.cc */
2587-#line 2733 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2588- break;
2589- case 650: /* "FTScope" */
2590-
2591-/* Line 480 of lalr1.cc */
2592-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2593- { release_hack( (yyvaluep->node) ); };
2594-
2595-/* Line 480 of lalr1.cc */
2596-#line 2742 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2597- break;
2598- case 651: /* "FTBigUnit" */
2599-
2600-/* Line 480 of lalr1.cc */
2601-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2602- { release_hack( (yyvaluep->node) ); };
2603-
2604-/* Line 480 of lalr1.cc */
2605-#line 2751 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2606- break;
2607- case 652: /* "FTIgnoreOption" */
2608-
2609-/* Line 480 of lalr1.cc */
2610-#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2611- { release_hack( (yyvaluep->node) ); };
2612-
2613-/* Line 480 of lalr1.cc */
2614-#line 2760 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2615- break;
2616- case 653: /* "JSONArrayConstructor" */
2617-
2618-/* Line 480 of lalr1.cc */
2619-#line 815 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2620- { release_hack( (yyvaluep->expr) ); };
2621-
2622-/* Line 480 of lalr1.cc */
2623-#line 2769 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2624- break;
2625- case 654: /* "JSONSimpleObjectUnion" */
2626-
2627-/* Line 480 of lalr1.cc */
2628-#line 815 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2629- { release_hack( (yyvaluep->expr) ); };
2630-
2631-/* Line 480 of lalr1.cc */
2632-#line 2778 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2633- break;
2634- case 655: /* "JSONAccumulatorObjectUnion" */
2635-
2636-/* Line 480 of lalr1.cc */
2637-#line 815 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2638- { release_hack( (yyvaluep->expr) ); };
2639-
2640-/* Line 480 of lalr1.cc */
2641-#line 2787 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2642- break;
2643- case 656: /* "JSONObjectConstructor" */
2644-
2645-/* Line 480 of lalr1.cc */
2646-#line 815 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2647- { release_hack( (yyvaluep->expr) ); };
2648-
2649-/* Line 480 of lalr1.cc */
2650-#line 2796 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2651- break;
2652- case 657: /* "JSONPairList" */
2653-
2654-/* Line 480 of lalr1.cc */
2655-#line 815 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2656- { release_hack( (yyvaluep->node) ); };
2657-
2658-/* Line 480 of lalr1.cc */
2659-#line 2805 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2660- break;
2661- case 658: /* "JSONInsertExpr" */
2662-
2663-/* Line 480 of lalr1.cc */
2664-#line 815 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2665- { release_hack( (yyvaluep->expr) ); };
2666-
2667-/* Line 480 of lalr1.cc */
2668-#line 2814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2669- break;
2670- case 659: /* "JSONAppendExpr" */
2671-
2672-/* Line 480 of lalr1.cc */
2673-#line 815 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2674- { release_hack( (yyvaluep->expr) ); };
2675-
2676-/* Line 480 of lalr1.cc */
2677-#line 2823 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2678- break;
2679- case 660: /* "JSONDeleteExpr" */
2680-
2681-/* Line 480 of lalr1.cc */
2682-#line 815 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2683- { release_hack( (yyvaluep->expr) ); };
2684-
2685-/* Line 480 of lalr1.cc */
2686-#line 2832 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2687- break;
2688- case 661: /* "JSONRenameExpr" */
2689-
2690-/* Line 480 of lalr1.cc */
2691-#line 815 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2692- { release_hack( (yyvaluep->expr) ); };
2693-
2694-/* Line 480 of lalr1.cc */
2695-#line 2841 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2696- break;
2697- case 662: /* "JSONReplaceExpr" */
2698-
2699-/* Line 480 of lalr1.cc */
2700-#line 815 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2701- { release_hack( (yyvaluep->expr) ); };
2702-
2703-/* Line 480 of lalr1.cc */
2704-#line 2850 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2705- break;
2706- case 665: /* "QNAME" */
2707-
2708-/* Line 480 of lalr1.cc */
2709-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2710- { release_hack( (yyvaluep->expr) ); };
2711-
2712-/* Line 480 of lalr1.cc */
2713-#line 2859 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2714- break;
2715- case 666: /* "FUNCTION_NAME" */
2716-
2717-/* Line 480 of lalr1.cc */
2718-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2719- { release_hack( (yyvaluep->expr) ); };
2720-
2721-/* Line 480 of lalr1.cc */
2722-#line 2868 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2723- break;
2724- case 667: /* "EQNAME" */
2725-
2726-/* Line 480 of lalr1.cc */
2727-#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
2728- { release_hack( (yyvaluep->expr) ); };
2729-
2730-/* Line 480 of lalr1.cc */
2731-#line 2877 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
2732+ case 111: /* "'DECIMAL'" */
2733+/* Line 453 of lalr1.cc */
2734+#line 902 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
2735+ { delete ((*yyvaluep).decval); };
2736+/* Line 453 of lalr1.cc */
2737+#line 318 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
2738+ break;
2739+ case 126: /* "'DOUBLE'" */
2740+/* Line 453 of lalr1.cc */
2741+#line 901 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
2742+ { delete ((*yyvaluep).dval); };
2743+/* Line 453 of lalr1.cc */
2744+#line 325 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
2745+ break;
2746+ case 151: /* "'INTEGER'" */
2747+/* Line 453 of lalr1.cc */
2748+#line 900 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
2749+ { delete ((*yyvaluep).ival); };
2750+/* Line 453 of lalr1.cc */
2751+#line 332 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
2752+ break;
2753+ case 344: /* VersionDecl */
2754+/* Line 453 of lalr1.cc */
2755+#line 931 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
2756+ { release_hack( ((*yyvaluep).node) ); };
2757+/* Line 453 of lalr1.cc */
2758+#line 339 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
2759+ break;
2760+ case 345: /* MainModule */
2761+/* Line 453 of lalr1.cc */
2762+#line 924 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
2763+ { release_hack( ((*yyvaluep).node) ); };
2764+/* Line 453 of lalr1.cc */
2765+#line 346 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
2766+ break;
2767+ case 346: /* LibraryModule */
2768+/* Line 453 of lalr1.cc */
2769+#line 924 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
2770+ { release_hack( ((*yyvaluep).node) ); };
2771+/* Line 453 of lalr1.cc */
2772+#line 353 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
2773+ break;
2774+ case 347: /* ModuleDecl */
2775+/* Line 453 of lalr1.cc */
2776+#line 924 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
2777+ { release_hack( ((*yyvaluep).node) ); };
2778+/* Line 453 of lalr1.cc */
2779+#line 360 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
2780+ break;
2781+ case 348: /* SIND_DeclList */
2782+/* Line 453 of lalr1.cc */
2783+#line 927 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
2784+ { release_hack( ((*yyvaluep).node) ); };
2785+/* Line 453 of lalr1.cc */
2786+#line 367 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
2787+ break;
2788+ case 349: /* SIND_Decl */
2789+/* Line 453 of lalr1.cc */
2790+#line 927 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
2791+ { release_hack( ((*yyvaluep).node) ); };
2792+/* Line 453 of lalr1.cc */
2793+#line 374 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
2794+ break;
2795+ case 350: /* Setter */
2796+/* Line 453 of lalr1.cc */
2797+#line 928 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
2798+ { release_hack( ((*yyvaluep).node) ); };
2799+/* Line 453 of lalr1.cc */
2800+#line 381 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
2801+ break;
2802+ case 351: /* BoundarySpaceDecl */
2803+/* Line 453 of lalr1.cc */
2804+#line 921 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
2805+ { release_hack( ((*yyvaluep).node) ); };
2806+/* Line 453 of lalr1.cc */
2807+#line 388 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
2808+ break;
2809+ case 352: /* DefaultCollationDecl */
2810+/* Line 453 of lalr1.cc */
2811+#line 922 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
2812+ { release_hack( ((*yyvaluep).node) ); };
2813+/* Line 453 of lalr1.cc */
2814+#line 395 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
2815+ break;
2816+ case 353: /* BaseURIDecl */
2817+/* Line 453 of lalr1.cc */
2818+#line 921 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
2819+ { release_hack( ((*yyvaluep).node) ); };
2820+/* Line 453 of lalr1.cc */
2821+#line 402 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
2822+ break;
2823+ case 354: /* ConstructionDecl */
2824+/* Line 453 of lalr1.cc */
2825+#line 921 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
2826+ { release_hack( ((*yyvaluep).node) ); };
2827+/* Line 453 of lalr1.cc */
2828+#line 409 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
2829+ break;
2830+ case 355: /* OrderingModeDecl */
2831+/* Line 453 of lalr1.cc */
2832+#line 926 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
2833+ { release_hack( ((*yyvaluep).node) ); };
2834+/* Line 453 of lalr1.cc */
2835+#line 416 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
2836+ break;
2837+ case 356: /* EmptyOrderDecl */
2838+/* Line 453 of lalr1.cc */
2839+#line 923 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
2840+ { release_hack( ((*yyvaluep).node) ); };
2841+/* Line 453 of lalr1.cc */
2842+#line 423 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
2843+ break;
2844+ case 357: /* CopyNamespacesDecl */
2845+/* Line 453 of lalr1.cc */
2846+#line 922 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
2847+ { release_hack( ((*yyvaluep).node) ); };
2848+/* Line 453 of lalr1.cc */
2849+#line 430 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
2850+ break;
2851+ case 358: /* Import */
2852+/* Line 453 of lalr1.cc */
2853+#line 923 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
2854+ { release_hack( ((*yyvaluep).node) ); };
2855+/* Line 453 of lalr1.cc */
2856+#line 437 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
2857+ break;
2858+ case 359: /* SchemaImport */
2859+/* Line 453 of lalr1.cc */
2860+#line 927 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
2861+ { release_hack( ((*yyvaluep).node) ); };
2862+/* Line 453 of lalr1.cc */
2863+#line 444 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
2864+ break;
2865+ case 360: /* URILiteralList */
2866+/* Line 453 of lalr1.cc */
2867+#line 929 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
2868+ { release_hack( ((*yyvaluep).node) ); };
2869+/* Line 453 of lalr1.cc */
2870+#line 451 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
2871+ break;
2872+ case 361: /* SchemaPrefix */
2873+/* Line 453 of lalr1.cc */
2874+#line 928 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
2875+ { release_hack( ((*yyvaluep).node) ); };
2876+/* Line 453 of lalr1.cc */
2877+#line 458 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
2878+ break;
2879+ case 362: /* ModuleImport */
2880+/* Line 453 of lalr1.cc */
2881+#line 924 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
2882+ { release_hack( ((*yyvaluep).node) ); };
2883+/* Line 453 of lalr1.cc */
2884+#line 465 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
2885+ break;
2886+ case 363: /* NamespaceDecl */
2887+/* Line 453 of lalr1.cc */
2888+#line 924 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
2889+ { release_hack( ((*yyvaluep).node) ); };
2890+/* Line 453 of lalr1.cc */
2891+#line 472 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
2892+ break;
2893+ case 364: /* DefaultNamespaceDecl */
2894+/* Line 453 of lalr1.cc */
2895+#line 922 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
2896+ { release_hack( ((*yyvaluep).node) ); };
2897+/* Line 453 of lalr1.cc */
2898+#line 479 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
2899+ break;
2900+ case 365: /* VFO_DeclList */
2901+/* Line 453 of lalr1.cc */
2902+#line 931 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
2903+ { release_hack( ((*yyvaluep).node) ); };
2904+/* Line 453 of lalr1.cc */
2905+#line 486 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
2906+ break;
2907+ case 366: /* VFO_Decl */
2908+/* Line 453 of lalr1.cc */
2909+#line 931 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
2910+ { release_hack( ((*yyvaluep).node) ); };
2911+/* Line 453 of lalr1.cc */
2912+#line 493 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
2913+ break;
2914+ case 367: /* DecimalFormatDecl */
2915+/* Line 453 of lalr1.cc */
2916+#line 931 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
2917+ { release_hack( ((*yyvaluep).node) ); };
2918+/* Line 453 of lalr1.cc */
2919+#line 500 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
2920+ break;
2921+ case 368: /* DecimalFormatParamList */
2922+/* Line 453 of lalr1.cc */
2923+#line 951 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
2924+ { delete ((*yyvaluep).vstrpair); };
2925+/* Line 453 of lalr1.cc */
2926+#line 507 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
2927+ break;
2928+ case 369: /* DecimalFormatParam */
2929+/* Line 453 of lalr1.cc */
2930+#line 951 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
2931+ { delete ((*yyvaluep).strpair); };
2932+/* Line 453 of lalr1.cc */
2933+#line 514 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
2934+ break;
2935+ case 371: /* OptionDecl */
2936+/* Line 453 of lalr1.cc */
2937+#line 925 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
2938+ { release_hack( ((*yyvaluep).node) ); };
2939+/* Line 453 of lalr1.cc */
2940+#line 521 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
2941+ break;
2942+ case 372: /* FTOptionDecl */
2943+/* Line 453 of lalr1.cc */
2944+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
2945+ { release_hack( ((*yyvaluep).node) ); };
2946+/* Line 453 of lalr1.cc */
2947+#line 528 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
2948+ break;
2949+ case 373: /* CtxItemDecl */
2950+/* Line 453 of lalr1.cc */
2951+#line 929 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
2952+ { release_hack( ((*yyvaluep).node) ); };
2953+/* Line 453 of lalr1.cc */
2954+#line 535 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
2955+ break;
2956+ case 374: /* CtxItemDecl2 */
2957+/* Line 453 of lalr1.cc */
2958+#line 929 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
2959+ { release_hack( ((*yyvaluep).node) ); };
2960+/* Line 453 of lalr1.cc */
2961+#line 542 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
2962+ break;
2963+ case 375: /* CtxItemDecl3 */
2964+/* Line 453 of lalr1.cc */
2965+#line 929 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
2966+ { release_hack( ((*yyvaluep).node) ); };
2967+/* Line 453 of lalr1.cc */
2968+#line 549 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
2969+ break;
2970+ case 376: /* CtxItemDecl4 */
2971+/* Line 453 of lalr1.cc */
2972+#line 930 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
2973+ { release_hack( ((*yyvaluep).node) ); };
2974+/* Line 453 of lalr1.cc */
2975+#line 556 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
2976+ break;
2977+ case 377: /* VarDecl */
2978+/* Line 453 of lalr1.cc */
2979+#line 930 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
2980+ { release_hack( ((*yyvaluep).node) ); };
2981+/* Line 453 of lalr1.cc */
2982+#line 563 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
2983+ break;
2984+ case 378: /* VarNameAndType */
2985+/* Line 453 of lalr1.cc */
2986+#line 951 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
2987+ { delete ((*yyvaluep).varnametype); };
2988+/* Line 453 of lalr1.cc */
2989+#line 570 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
2990+ break;
2991+ case 379: /* AnnotationList */
2992+/* Line 453 of lalr1.cc */
2993+#line 920 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
2994+ { release_hack( ((*yyvaluep).node) ); };
2995+/* Line 453 of lalr1.cc */
2996+#line 577 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
2997+ break;
2998+ case 380: /* Annotation */
2999+/* Line 453 of lalr1.cc */
3000+#line 920 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3001+ { release_hack( ((*yyvaluep).node) ); };
3002+/* Line 453 of lalr1.cc */
3003+#line 584 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3004+ break;
3005+ case 381: /* AnnotationLiteralList */
3006+/* Line 453 of lalr1.cc */
3007+#line 920 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3008+ { release_hack( ((*yyvaluep).node) ); };
3009+/* Line 453 of lalr1.cc */
3010+#line 591 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3011+ break;
3012+ case 382: /* FunctionDecl */
3013+/* Line 453 of lalr1.cc */
3014+#line 923 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3015+ { release_hack( ((*yyvaluep).node) ); };
3016+/* Line 453 of lalr1.cc */
3017+#line 598 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3018+ break;
3019+ case 383: /* FunctionDecl2 */
3020+/* Line 453 of lalr1.cc */
3021+#line 923 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3022+ { release_hack( ((*yyvaluep).node) ); };
3023+/* Line 453 of lalr1.cc */
3024+#line 605 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3025+ break;
3026+ case 384: /* FunctionDeclSimple */
3027+/* Line 453 of lalr1.cc */
3028+#line 923 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3029+ { release_hack( ((*yyvaluep).node) ); };
3030+/* Line 453 of lalr1.cc */
3031+#line 612 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3032+ break;
3033+ case 385: /* FunctionDeclUpdating */
3034+/* Line 453 of lalr1.cc */
3035+#line 923 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3036+ { release_hack( ((*yyvaluep).node) ); };
3037+/* Line 453 of lalr1.cc */
3038+#line 619 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3039+ break;
3040+ case 386: /* FunctionSig */
3041+/* Line 453 of lalr1.cc */
3042+#line 951 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3043+ { delete ((*yyvaluep).fnsig); };
3044+/* Line 453 of lalr1.cc */
3045+#line 626 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3046+ break;
3047+ case 387: /* ParamList */
3048+/* Line 453 of lalr1.cc */
3049+#line 926 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3050+ { release_hack( ((*yyvaluep).node) ); };
3051+/* Line 453 of lalr1.cc */
3052+#line 633 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3053+ break;
3054+ case 388: /* Param */
3055+/* Line 453 of lalr1.cc */
3056+#line 926 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3057+ { release_hack( ((*yyvaluep).node) ); };
3058+/* Line 453 of lalr1.cc */
3059+#line 640 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3060+ break;
3061+ case 389: /* CollectionDecl */
3062+/* Line 453 of lalr1.cc */
3063+#line 929 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3064+ { release_hack( ((*yyvaluep).node) ); };
3065+/* Line 453 of lalr1.cc */
3066+#line 647 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3067+ break;
3068+ case 391: /* IndexDecl */
3069+/* Line 453 of lalr1.cc */
3070+#line 929 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3071+ { release_hack( ((*yyvaluep).node) ); };
3072+/* Line 453 of lalr1.cc */
3073+#line 654 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3074+ break;
3075+ case 392: /* IndexKeyList */
3076+/* Line 453 of lalr1.cc */
3077+#line 929 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3078+ { release_hack( ((*yyvaluep).node) ); };
3079+/* Line 453 of lalr1.cc */
3080+#line 661 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3081+ break;
3082+ case 393: /* IndexKeySpec */
3083+/* Line 453 of lalr1.cc */
3084+#line 929 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3085+ { release_hack( ((*yyvaluep).node) ); };
3086+/* Line 453 of lalr1.cc */
3087+#line 668 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3088+ break;
3089+ case 394: /* IntegrityConstraintDecl */
3090+/* Line 453 of lalr1.cc */
3091+#line 929 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3092+ { release_hack( ((*yyvaluep).node) ); };
3093+/* Line 453 of lalr1.cc */
3094+#line 675 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3095+ break;
3096+ case 395: /* QueryBody */
3097+/* Line 453 of lalr1.cc */
3098+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3099+ { release_hack( ((*yyvaluep).expr) ); };
3100+/* Line 453 of lalr1.cc */
3101+#line 682 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3102+ break;
3103+ case 396: /* StatementsAndOptionalExprTop */
3104+/* Line 453 of lalr1.cc */
3105+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3106+ { release_hack( ((*yyvaluep).expr) ); };
3107+/* Line 453 of lalr1.cc */
3108+#line 689 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3109+ break;
3110+ case 397: /* StatementsAndOptionalExpr */
3111+/* Line 453 of lalr1.cc */
3112+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3113+ { release_hack( ((*yyvaluep).expr) ); };
3114+/* Line 453 of lalr1.cc */
3115+#line 696 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3116+ break;
3117+ case 398: /* StatementsAndExpr */
3118+/* Line 453 of lalr1.cc */
3119+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3120+ { release_hack( ((*yyvaluep).expr) ); };
3121+/* Line 453 of lalr1.cc */
3122+#line 703 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3123+ break;
3124+ case 399: /* Statements */
3125+/* Line 453 of lalr1.cc */
3126+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3127+ { release_hack( ((*yyvaluep).expr) ); };
3128+/* Line 453 of lalr1.cc */
3129+#line 710 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3130+ break;
3131+ case 400: /* Statement */
3132+/* Line 453 of lalr1.cc */
3133+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3134+ { release_hack( ((*yyvaluep).expr) ); };
3135+/* Line 453 of lalr1.cc */
3136+#line 717 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3137+ break;
3138+ case 401: /* BlockStatement */
3139+/* Line 453 of lalr1.cc */
3140+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3141+ { release_hack( ((*yyvaluep).expr) ); };
3142+/* Line 453 of lalr1.cc */
3143+#line 724 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3144+ break;
3145+ case 402: /* BlockExpr */
3146+/* Line 453 of lalr1.cc */
3147+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3148+ { release_hack( ((*yyvaluep).expr) ); };
3149+/* Line 453 of lalr1.cc */
3150+#line 731 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3151+ break;
3152+ case 403: /* EnclosedStatementsAndOptionalExpr */
3153+/* Line 453 of lalr1.cc */
3154+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3155+ { release_hack( ((*yyvaluep).expr) ); };
3156+/* Line 453 of lalr1.cc */
3157+#line 738 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3158+ break;
3159+ case 404: /* VarDeclStatement */
3160+/* Line 453 of lalr1.cc */
3161+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3162+ { release_hack( ((*yyvaluep).expr) ); };
3163+/* Line 453 of lalr1.cc */
3164+#line 745 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3165+ break;
3166+ case 407: /* AssignStatement */
3167+/* Line 453 of lalr1.cc */
3168+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3169+ { release_hack( ((*yyvaluep).expr) ); };
3170+/* Line 453 of lalr1.cc */
3171+#line 752 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3172+ break;
3173+ case 408: /* ApplyStatement */
3174+/* Line 453 of lalr1.cc */
3175+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3176+ { release_hack( ((*yyvaluep).expr) ); };
3177+/* Line 453 of lalr1.cc */
3178+#line 759 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3179+ break;
3180+ case 409: /* ExitStatement */
3181+/* Line 453 of lalr1.cc */
3182+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3183+ { release_hack( ((*yyvaluep).expr) ); };
3184+/* Line 453 of lalr1.cc */
3185+#line 766 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3186+ break;
3187+ case 410: /* WhileStatement */
3188+/* Line 453 of lalr1.cc */
3189+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3190+ { release_hack( ((*yyvaluep).expr) ); };
3191+/* Line 453 of lalr1.cc */
3192+#line 773 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3193+ break;
3194+ case 411: /* FlowCtlStatement */
3195+/* Line 453 of lalr1.cc */
3196+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3197+ { release_hack( ((*yyvaluep).expr) ); };
3198+/* Line 453 of lalr1.cc */
3199+#line 780 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3200+ break;
3201+ case 412: /* FLWORStatement */
3202+/* Line 453 of lalr1.cc */
3203+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3204+ { release_hack( ((*yyvaluep).expr) ); };
3205+/* Line 453 of lalr1.cc */
3206+#line 787 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3207+ break;
3208+ case 413: /* ReturnStatement */
3209+/* Line 453 of lalr1.cc */
3210+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3211+ { release_hack( ((*yyvaluep).expr) ); };
3212+/* Line 453 of lalr1.cc */
3213+#line 794 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3214+ break;
3215+ case 414: /* IfStatement */
3216+/* Line 453 of lalr1.cc */
3217+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3218+ { release_hack( ((*yyvaluep).expr) ); };
3219+/* Line 453 of lalr1.cc */
3220+#line 801 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3221+ break;
3222+ case 415: /* TryStatement */
3223+/* Line 453 of lalr1.cc */
3224+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3225+ { release_hack( ((*yyvaluep).expr) ); };
3226+/* Line 453 of lalr1.cc */
3227+#line 808 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3228+ break;
3229+ case 416: /* CatchListStatement */
3230+/* Line 453 of lalr1.cc */
3231+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3232+ { release_hack( ((*yyvaluep).expr) ); };
3233+/* Line 453 of lalr1.cc */
3234+#line 815 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3235+ break;
3236+ case 417: /* CatchStatement */
3237+/* Line 453 of lalr1.cc */
3238+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3239+ { release_hack( ((*yyvaluep).expr) ); };
3240+/* Line 453 of lalr1.cc */
3241+#line 822 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3242+ break;
3243+ case 418: /* VoidStatement */
3244+/* Line 453 of lalr1.cc */
3245+#line 932 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3246+ { release_hack( ((*yyvaluep).expr) ); };
3247+/* Line 453 of lalr1.cc */
3248+#line 829 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3249+ break;
3250+ case 419: /* Expr */
3251+/* Line 453 of lalr1.cc */
3252+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3253+ { release_hack( ((*yyvaluep).expr) ); };
3254+/* Line 453 of lalr1.cc */
3255+#line 836 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3256+ break;
3257+ case 420: /* ExprSingle */
3258+/* Line 453 of lalr1.cc */
3259+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3260+ { release_hack( ((*yyvaluep).expr) ); };
3261+/* Line 453 of lalr1.cc */
3262+#line 843 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3263+ break;
3264+ case 421: /* ExprSimple */
3265+/* Line 453 of lalr1.cc */
3266+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3267+ { release_hack( ((*yyvaluep).expr) ); };
3268+/* Line 453 of lalr1.cc */
3269+#line 850 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3270+ break;
3271+ case 422: /* FLWORExpr */
3272+/* Line 453 of lalr1.cc */
3273+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3274+ { release_hack( ((*yyvaluep).expr) ); };
3275+/* Line 453 of lalr1.cc */
3276+#line 857 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3277+ break;
3278+ case 423: /* ReturnExpr */
3279+/* Line 453 of lalr1.cc */
3280+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3281+ { release_hack( ((*yyvaluep).expr) ); };
3282+/* Line 453 of lalr1.cc */
3283+#line 864 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3284+ break;
3285+ case 427: /* FLWORWinCond */
3286+/* Line 453 of lalr1.cc */
3287+#line 930 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3288+ { release_hack( ((*yyvaluep).node) ); };
3289+/* Line 453 of lalr1.cc */
3290+#line 871 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3291+ break;
3292+ case 428: /* WindowClause */
3293+/* Line 453 of lalr1.cc */
3294+#line 923 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3295+ { release_hack( ((*yyvaluep).node) ); };
3296+/* Line 453 of lalr1.cc */
3297+#line 878 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3298+ break;
3299+ case 429: /* CountClause */
3300+/* Line 453 of lalr1.cc */
3301+#line 931 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3302+ { release_hack( ((*yyvaluep).node) ); };
3303+/* Line 453 of lalr1.cc */
3304+#line 885 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3305+ break;
3306+ case 430: /* ForLetWinClause */
3307+/* Line 453 of lalr1.cc */
3308+#line 923 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3309+ { release_hack( ((*yyvaluep).node) ); };
3310+/* Line 453 of lalr1.cc */
3311+#line 892 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3312+ break;
3313+ case 432: /* FLWORClauseList */
3314+/* Line 453 of lalr1.cc */
3315+#line 923 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3316+ { release_hack( ((*yyvaluep).node) ); };
3317+/* Line 453 of lalr1.cc */
3318+#line 899 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3319+ break;
3320+ case 433: /* ForClause */
3321+/* Line 453 of lalr1.cc */
3322+#line 923 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3323+ { release_hack( ((*yyvaluep).node) ); };
3324+/* Line 453 of lalr1.cc */
3325+#line 906 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3326+ break;
3327+ case 435: /* VarInDeclList */
3328+/* Line 453 of lalr1.cc */
3329+#line 930 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3330+ { release_hack( ((*yyvaluep).node) ); };
3331+/* Line 453 of lalr1.cc */
3332+#line 913 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3333+ break;
3334+ case 436: /* VarInDecl */
3335+/* Line 453 of lalr1.cc */
3336+#line 930 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3337+ { release_hack( ((*yyvaluep).node) ); };
3338+/* Line 453 of lalr1.cc */
3339+#line 920 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3340+ break;
3341+ case 437: /* PositionalVar */
3342+/* Line 453 of lalr1.cc */
3343+#line 926 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3344+ { release_hack( ((*yyvaluep).node) ); };
3345+/* Line 453 of lalr1.cc */
3346+#line 927 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3347+ break;
3348+ case 438: /* FTScoreVar */
3349+/* Line 453 of lalr1.cc */
3350+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3351+ { release_hack( ((*yyvaluep).node) ); };
3352+/* Line 453 of lalr1.cc */
3353+#line 934 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3354+ break;
3355+ case 439: /* LetClause */
3356+/* Line 453 of lalr1.cc */
3357+#line 924 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3358+ { release_hack( ((*yyvaluep).node) ); };
3359+/* Line 453 of lalr1.cc */
3360+#line 941 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3361+ break;
3362+ case 440: /* VarGetsDeclList */
3363+/* Line 453 of lalr1.cc */
3364+#line 930 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3365+ { release_hack( ((*yyvaluep).node) ); };
3366+/* Line 453 of lalr1.cc */
3367+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3368+ break;
3369+ case 441: /* VarGetsDecl */
3370+/* Line 453 of lalr1.cc */
3371+#line 930 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3372+ { release_hack( ((*yyvaluep).node) ); };
3373+/* Line 453 of lalr1.cc */
3374+#line 955 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3375+ break;
3376+ case 442: /* WindowVarDecl */
3377+/* Line 453 of lalr1.cc */
3378+#line 930 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3379+ { release_hack( ((*yyvaluep).node) ); };
3380+/* Line 453 of lalr1.cc */
3381+#line 962 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3382+ break;
3383+ case 443: /* WindowVars */
3384+/* Line 453 of lalr1.cc */
3385+#line 930 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3386+ { release_hack( ((*yyvaluep).node) ); };
3387+/* Line 453 of lalr1.cc */
3388+#line 969 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3389+ break;
3390+ case 444: /* WindowVars3 */
3391+/* Line 453 of lalr1.cc */
3392+#line 930 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3393+ { release_hack( ((*yyvaluep).node) ); };
3394+/* Line 453 of lalr1.cc */
3395+#line 976 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3396+ break;
3397+ case 445: /* WindowVars2 */
3398+/* Line 453 of lalr1.cc */
3399+#line 930 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3400+ { release_hack( ((*yyvaluep).node) ); };
3401+/* Line 453 of lalr1.cc */
3402+#line 983 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3403+ break;
3404+ case 446: /* WhereClause */
3405+/* Line 453 of lalr1.cc */
3406+#line 931 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3407+ { release_hack( ((*yyvaluep).node) ); };
3408+/* Line 453 of lalr1.cc */
3409+#line 990 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3410+ break;
3411+ case 447: /* GroupByClause */
3412+/* Line 453 of lalr1.cc */
3413+#line 925 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3414+ { release_hack( ((*yyvaluep).node) ); };
3415+/* Line 453 of lalr1.cc */
3416+#line 997 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3417+ break;
3418+ case 448: /* GroupSpecList */
3419+/* Line 453 of lalr1.cc */
3420+#line 925 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3421+ { release_hack( ((*yyvaluep).node) ); };
3422+/* Line 453 of lalr1.cc */
3423+#line 1004 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3424+ break;
3425+ case 449: /* GroupSpec */
3426+/* Line 453 of lalr1.cc */
3427+#line 925 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3428+ { release_hack( ((*yyvaluep).node) ); };
3429+/* Line 453 of lalr1.cc */
3430+#line 1011 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3431+ break;
3432+ case 450: /* GroupCollationSpec */
3433+/* Line 453 of lalr1.cc */
3434+#line 925 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3435+ { release_hack( ((*yyvaluep).node) ); };
3436+/* Line 453 of lalr1.cc */
3437+#line 1018 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3438+ break;
3439+ case 451: /* OrderByClause */
3440+/* Line 453 of lalr1.cc */
3441+#line 925 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3442+ { release_hack( ((*yyvaluep).node) ); };
3443+/* Line 453 of lalr1.cc */
3444+#line 1025 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3445+ break;
3446+ case 452: /* OrderSpecList */
3447+/* Line 453 of lalr1.cc */
3448+#line 926 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3449+ { release_hack( ((*yyvaluep).node) ); };
3450+/* Line 453 of lalr1.cc */
3451+#line 1032 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3452+ break;
3453+ case 453: /* OrderSpec */
3454+/* Line 453 of lalr1.cc */
3455+#line 926 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3456+ { release_hack( ((*yyvaluep).node) ); };
3457+/* Line 453 of lalr1.cc */
3458+#line 1039 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3459+ break;
3460+ case 454: /* OrderModifier */
3461+/* Line 453 of lalr1.cc */
3462+#line 925 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3463+ { release_hack( ((*yyvaluep).node) ); };
3464+/* Line 453 of lalr1.cc */
3465+#line 1046 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3466+ break;
3467+ case 455: /* OrderDirSpec */
3468+/* Line 453 of lalr1.cc */
3469+#line 925 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3470+ { release_hack( ((*yyvaluep).node) ); };
3471+/* Line 453 of lalr1.cc */
3472+#line 1053 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3473+ break;
3474+ case 456: /* OrderEmptySpec */
3475+/* Line 453 of lalr1.cc */
3476+#line 925 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3477+ { release_hack( ((*yyvaluep).node) ); };
3478+/* Line 453 of lalr1.cc */
3479+#line 1060 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3480+ break;
3481+ case 457: /* OrderCollationSpec */
3482+/* Line 453 of lalr1.cc */
3483+#line 925 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3484+ { release_hack( ((*yyvaluep).node) ); };
3485+/* Line 453 of lalr1.cc */
3486+#line 1067 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3487+ break;
3488+ case 458: /* QuantifiedExpr */
3489+/* Line 453 of lalr1.cc */
3490+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3491+ { release_hack( ((*yyvaluep).expr) ); };
3492+/* Line 453 of lalr1.cc */
3493+#line 1074 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3494+ break;
3495+ case 459: /* QVarInDeclList */
3496+/* Line 453 of lalr1.cc */
3497+#line 926 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3498+ { release_hack( ((*yyvaluep).node) ); };
3499+/* Line 453 of lalr1.cc */
3500+#line 1081 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3501+ break;
3502+ case 460: /* QVarInDecl */
3503+/* Line 453 of lalr1.cc */
3504+#line 926 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3505+ { release_hack( ((*yyvaluep).node) ); };
3506+/* Line 453 of lalr1.cc */
3507+#line 1088 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3508+ break;
3509+ case 461: /* SwitchExpr */
3510+/* Line 453 of lalr1.cc */
3511+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3512+ { release_hack( ((*yyvaluep).expr) ); };
3513+/* Line 453 of lalr1.cc */
3514+#line 1095 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3515+ break;
3516+ case 462: /* SwitchCaseClauseList */
3517+/* Line 453 of lalr1.cc */
3518+#line 932 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3519+ { release_hack( ((*yyvaluep).node) ); };
3520+/* Line 453 of lalr1.cc */
3521+#line 1102 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3522+ break;
3523+ case 463: /* SwitchCaseClause */
3524+/* Line 453 of lalr1.cc */
3525+#line 932 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3526+ { release_hack( ((*yyvaluep).node) ); };
3527+/* Line 453 of lalr1.cc */
3528+#line 1109 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3529+ break;
3530+ case 464: /* SwitchCaseOperandList */
3531+/* Line 453 of lalr1.cc */
3532+#line 932 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3533+ { release_hack( ((*yyvaluep).node) ); };
3534+/* Line 453 of lalr1.cc */
3535+#line 1116 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3536+ break;
3537+ case 465: /* SwitchStatement */
3538+/* Line 453 of lalr1.cc */
3539+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3540+ { release_hack( ((*yyvaluep).expr) ); };
3541+/* Line 453 of lalr1.cc */
3542+#line 1123 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3543+ break;
3544+ case 468: /* TypeswitchExpr */
3545+/* Line 453 of lalr1.cc */
3546+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3547+ { release_hack( ((*yyvaluep).expr) ); };
3548+/* Line 453 of lalr1.cc */
3549+#line 1130 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3550+ break;
3551+ case 469: /* TypeswitchStatement */
3552+/* Line 453 of lalr1.cc */
3553+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3554+ { release_hack( ((*yyvaluep).expr) ); };
3555+/* Line 453 of lalr1.cc */
3556+#line 1137 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3557+ break;
3558+ case 470: /* CaseClauseList */
3559+/* Line 453 of lalr1.cc */
3560+#line 921 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3561+ { release_hack( ((*yyvaluep).node) ); };
3562+/* Line 453 of lalr1.cc */
3563+#line 1144 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3564+ break;
3565+ case 471: /* CaseClause */
3566+/* Line 453 of lalr1.cc */
3567+#line 921 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3568+ { release_hack( ((*yyvaluep).node) ); };
3569+/* Line 453 of lalr1.cc */
3570+#line 1151 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3571+ break;
3572+ case 474: /* SequenceTypeList */
3573+/* Line 453 of lalr1.cc */
3574+#line 928 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3575+ { release_hack( ((*yyvaluep).node) ); };
3576+/* Line 453 of lalr1.cc */
3577+#line 1158 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3578+ break;
3579+ case 475: /* IfExpr */
3580+/* Line 453 of lalr1.cc */
3581+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3582+ { release_hack( ((*yyvaluep).expr) ); };
3583+/* Line 453 of lalr1.cc */
3584+#line 1165 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3585+ break;
3586+ case 476: /* OrExpr */
3587+/* Line 453 of lalr1.cc */
3588+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3589+ { release_hack( ((*yyvaluep).expr) ); };
3590+/* Line 453 of lalr1.cc */
3591+#line 1172 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3592+ break;
3593+ case 477: /* AndExpr */
3594+/* Line 453 of lalr1.cc */
3595+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3596+ { release_hack( ((*yyvaluep).expr) ); };
3597+/* Line 453 of lalr1.cc */
3598+#line 1179 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3599+ break;
3600+ case 478: /* NotExpr */
3601+/* Line 453 of lalr1.cc */
3602+#line 935 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3603+ { release_hack( ((*yyvaluep).expr) ); };
3604+/* Line 453 of lalr1.cc */
3605+#line 1186 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3606+ break;
3607+ case 479: /* ComparisonExpr */
3608+/* Line 453 of lalr1.cc */
3609+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3610+ { release_hack( ((*yyvaluep).expr) ); };
3611+/* Line 453 of lalr1.cc */
3612+#line 1193 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3613+ break;
3614+ case 481: /* FTContainsExpr */
3615+/* Line 453 of lalr1.cc */
3616+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3617+ { release_hack( ((*yyvaluep).expr) ); };
3618+/* Line 453 of lalr1.cc */
3619+#line 1200 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3620+ break;
3621+ case 482: /* StringConcatExpr */
3622+/* Line 453 of lalr1.cc */
3623+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3624+ { release_hack( ((*yyvaluep).expr) ); };
3625+/* Line 453 of lalr1.cc */
3626+#line 1207 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3627+ break;
3628+ case 483: /* opt_FTIgnoreOption */
3629+/* Line 453 of lalr1.cc */
3630+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3631+ { release_hack( ((*yyvaluep).node) ); };
3632+/* Line 453 of lalr1.cc */
3633+#line 1214 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3634+ break;
3635+ case 484: /* RangeExpr */
3636+/* Line 453 of lalr1.cc */
3637+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3638+ { release_hack( ((*yyvaluep).expr) ); };
3639+/* Line 453 of lalr1.cc */
3640+#line 1221 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3641+ break;
3642+ case 485: /* AdditiveExpr */
3643+/* Line 453 of lalr1.cc */
3644+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3645+ { release_hack( ((*yyvaluep).expr) ); };
3646+/* Line 453 of lalr1.cc */
3647+#line 1228 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3648+ break;
3649+ case 486: /* MultiplicativeExpr */
3650+/* Line 453 of lalr1.cc */
3651+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3652+ { release_hack( ((*yyvaluep).expr) ); };
3653+/* Line 453 of lalr1.cc */
3654+#line 1235 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3655+ break;
3656+ case 487: /* UnionExpr */
3657+/* Line 453 of lalr1.cc */
3658+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3659+ { release_hack( ((*yyvaluep).expr) ); };
3660+/* Line 453 of lalr1.cc */
3661+#line 1242 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3662+ break;
3663+ case 488: /* IntersectExceptExpr */
3664+/* Line 453 of lalr1.cc */
3665+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3666+ { release_hack( ((*yyvaluep).expr) ); };
3667+/* Line 453 of lalr1.cc */
3668+#line 1249 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3669+ break;
3670+ case 489: /* InstanceofExpr */
3671+/* Line 453 of lalr1.cc */
3672+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3673+ { release_hack( ((*yyvaluep).expr) ); };
3674+/* Line 453 of lalr1.cc */
3675+#line 1256 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3676+ break;
3677+ case 490: /* TreatExpr */
3678+/* Line 453 of lalr1.cc */
3679+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3680+ { release_hack( ((*yyvaluep).expr) ); };
3681+/* Line 453 of lalr1.cc */
3682+#line 1263 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3683+ break;
3684+ case 491: /* CastableExpr */
3685+/* Line 453 of lalr1.cc */
3686+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3687+ { release_hack( ((*yyvaluep).expr) ); };
3688+/* Line 453 of lalr1.cc */
3689+#line 1270 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3690+ break;
3691+ case 492: /* CastExpr */
3692+/* Line 453 of lalr1.cc */
3693+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3694+ { release_hack( ((*yyvaluep).expr) ); };
3695+/* Line 453 of lalr1.cc */
3696+#line 1277 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3697+ break;
3698+ case 493: /* SingleType */
3699+/* Line 453 of lalr1.cc */
3700+#line 928 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3701+ { release_hack( ((*yyvaluep).node) ); };
3702+/* Line 453 of lalr1.cc */
3703+#line 1284 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3704+ break;
3705+ case 494: /* UnaryExpr */
3706+/* Line 453 of lalr1.cc */
3707+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3708+ { release_hack( ((*yyvaluep).expr) ); };
3709+/* Line 453 of lalr1.cc */
3710+#line 1291 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3711+ break;
3712+ case 495: /* SignList */
3713+/* Line 453 of lalr1.cc */
3714+#line 928 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3715+ { release_hack( ((*yyvaluep).node) ); };
3716+/* Line 453 of lalr1.cc */
3717+#line 1298 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3718+ break;
3719+ case 496: /* ValueExpr */
3720+/* Line 453 of lalr1.cc */
3721+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3722+ { release_hack( ((*yyvaluep).expr) ); };
3723+/* Line 453 of lalr1.cc */
3724+#line 1305 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3725+ break;
3726+ case 497: /* SimpleMapExpr */
3727+/* Line 453 of lalr1.cc */
3728+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3729+ { release_hack( ((*yyvaluep).expr) ); };
3730+/* Line 453 of lalr1.cc */
3731+#line 1312 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3732+ break;
3733+ case 498: /* ValueComp */
3734+/* Line 453 of lalr1.cc */
3735+#line 929 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3736+ { release_hack( ((*yyvaluep).node) ); };
3737+/* Line 453 of lalr1.cc */
3738+#line 1319 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3739+ break;
3740+ case 499: /* NodeComp */
3741+/* Line 453 of lalr1.cc */
3742+#line 932 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3743+ { release_hack( ((*yyvaluep).node) ); };
3744+/* Line 453 of lalr1.cc */
3745+#line 1326 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3746+ break;
3747+ case 500: /* ValidateExpr */
3748+/* Line 453 of lalr1.cc */
3749+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3750+ { release_hack( ((*yyvaluep).expr) ); };
3751+/* Line 453 of lalr1.cc */
3752+#line 1333 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3753+ break;
3754+ case 501: /* ExtensionExpr */
3755+/* Line 453 of lalr1.cc */
3756+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3757+ { release_hack( ((*yyvaluep).expr) ); };
3758+/* Line 453 of lalr1.cc */
3759+#line 1340 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3760+ break;
3761+ case 502: /* Pragma_list */
3762+/* Line 453 of lalr1.cc */
3763+#line 926 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3764+ { release_hack( ((*yyvaluep).node) ); };
3765+/* Line 453 of lalr1.cc */
3766+#line 1347 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3767+ break;
3768+ case 503: /* Pragma */
3769+/* Line 453 of lalr1.cc */
3770+#line 926 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3771+ { release_hack( ((*yyvaluep).node) ); };
3772+/* Line 453 of lalr1.cc */
3773+#line 1354 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3774+ break;
3775+ case 504: /* PathExpr */
3776+/* Line 453 of lalr1.cc */
3777+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3778+ { release_hack( ((*yyvaluep).expr) ); };
3779+/* Line 453 of lalr1.cc */
3780+#line 1361 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3781+ break;
3782+ case 506: /* RelativePathExpr */
3783+/* Line 453 of lalr1.cc */
3784+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3785+ { release_hack( ((*yyvaluep).expr) ); };
3786+/* Line 453 of lalr1.cc */
3787+#line 1368 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3788+ break;
3789+ case 507: /* StepExpr */
3790+/* Line 453 of lalr1.cc */
3791+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3792+ { release_hack( ((*yyvaluep).expr) ); };
3793+/* Line 453 of lalr1.cc */
3794+#line 1375 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3795+ break;
3796+ case 508: /* AxisStep */
3797+/* Line 453 of lalr1.cc */
3798+#line 945 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3799+ { release_hack( ((*yyvaluep).expr) ); };
3800+/* Line 453 of lalr1.cc */
3801+#line 1382 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3802+ break;
3803+ case 509: /* ForwardStep */
3804+/* Line 453 of lalr1.cc */
3805+#line 917 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3806+ { release_hack( ((*yyvaluep).node) ); };
3807+/* Line 453 of lalr1.cc */
3808+#line 1389 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3809+ break;
3810+ case 510: /* ForwardAxis */
3811+/* Line 453 of lalr1.cc */
3812+#line 917 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3813+ { release_hack( ((*yyvaluep).node) ); };
3814+/* Line 453 of lalr1.cc */
3815+#line 1396 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3816+ break;
3817+ case 511: /* AbbrevForwardStep */
3818+/* Line 453 of lalr1.cc */
3819+#line 917 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3820+ { release_hack( ((*yyvaluep).node) ); };
3821+/* Line 453 of lalr1.cc */
3822+#line 1403 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3823+ break;
3824+ case 512: /* ReverseStep */
3825+/* Line 453 of lalr1.cc */
3826+#line 917 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3827+ { release_hack( ((*yyvaluep).node) ); };
3828+/* Line 453 of lalr1.cc */
3829+#line 1410 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3830+ break;
3831+ case 513: /* ReverseAxis */
3832+/* Line 453 of lalr1.cc */
3833+#line 917 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3834+ { release_hack( ((*yyvaluep).node) ); };
3835+/* Line 453 of lalr1.cc */
3836+#line 1417 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3837+ break;
3838+ case 514: /* NodeTest */
3839+/* Line 453 of lalr1.cc */
3840+#line 917 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3841+ { release_hack( ((*yyvaluep).node) ); };
3842+/* Line 453 of lalr1.cc */
3843+#line 1424 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3844+ break;
3845+ case 515: /* NameTest */
3846+/* Line 453 of lalr1.cc */
3847+#line 924 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3848+ { release_hack( ((*yyvaluep).node) ); };
3849+/* Line 453 of lalr1.cc */
3850+#line 1431 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3851+ break;
3852+ case 516: /* Wildcard */
3853+/* Line 453 of lalr1.cc */
3854+#line 931 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3855+ { release_hack( ((*yyvaluep).node) ); };
3856+/* Line 453 of lalr1.cc */
3857+#line 1438 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3858+ break;
3859+ case 517: /* PostfixExpr */
3860+/* Line 453 of lalr1.cc */
3861+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3862+ { release_hack( ((*yyvaluep).expr) ); };
3863+/* Line 453 of lalr1.cc */
3864+#line 1445 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3865+ break;
3866+ case 518: /* PredicateList */
3867+/* Line 453 of lalr1.cc */
3868+#line 926 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3869+ { release_hack( ((*yyvaluep).node) ); };
3870+/* Line 453 of lalr1.cc */
3871+#line 1452 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3872+ break;
3873+ case 519: /* Predicate */
3874+/* Line 453 of lalr1.cc */
3875+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3876+ { release_hack( ((*yyvaluep).expr) ); };
3877+/* Line 453 of lalr1.cc */
3878+#line 1459 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3879+ break;
3880+ case 520: /* PrimaryExpr */
3881+/* Line 453 of lalr1.cc */
3882+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3883+ { release_hack( ((*yyvaluep).expr) ); };
3884+/* Line 453 of lalr1.cc */
3885+#line 1466 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3886+ break;
3887+ case 521: /* Literal */
3888+/* Line 453 of lalr1.cc */
3889+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3890+ { release_hack( ((*yyvaluep).expr) ); };
3891+/* Line 453 of lalr1.cc */
3892+#line 1473 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3893+ break;
3894+ case 522: /* NumericLiteral */
3895+/* Line 453 of lalr1.cc */
3896+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3897+ { release_hack( ((*yyvaluep).expr) ); };
3898+/* Line 453 of lalr1.cc */
3899+#line 1480 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3900+ break;
3901+ case 523: /* VarRef */
3902+/* Line 453 of lalr1.cc */
3903+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3904+ { release_hack( ((*yyvaluep).expr) ); };
3905+/* Line 453 of lalr1.cc */
3906+#line 1487 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3907+ break;
3908+ case 524: /* ParenthesizedExpr */
3909+/* Line 453 of lalr1.cc */
3910+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3911+ { release_hack( ((*yyvaluep).expr) ); };
3912+/* Line 453 of lalr1.cc */
3913+#line 1494 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3914+ break;
3915+ case 525: /* ContextItemExpr */
3916+/* Line 453 of lalr1.cc */
3917+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3918+ { release_hack( ((*yyvaluep).expr) ); };
3919+/* Line 453 of lalr1.cc */
3920+#line 1501 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3921+ break;
3922+ case 526: /* OrderedExpr */
3923+/* Line 453 of lalr1.cc */
3924+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3925+ { release_hack( ((*yyvaluep).expr) ); };
3926+/* Line 453 of lalr1.cc */
3927+#line 1508 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3928+ break;
3929+ case 527: /* UnorderedExpr */
3930+/* Line 453 of lalr1.cc */
3931+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3932+ { release_hack( ((*yyvaluep).expr) ); };
3933+/* Line 453 of lalr1.cc */
3934+#line 1515 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3935+ break;
3936+ case 528: /* FunctionCall */
3937+/* Line 453 of lalr1.cc */
3938+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3939+ { release_hack( ((*yyvaluep).expr) ); };
3940+/* Line 453 of lalr1.cc */
3941+#line 1522 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3942+ break;
3943+ case 529: /* ArgList */
3944+/* Line 453 of lalr1.cc */
3945+#line 920 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3946+ { release_hack( ((*yyvaluep).node) ); };
3947+/* Line 453 of lalr1.cc */
3948+#line 1529 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3949+ break;
3950+ case 533: /* Constructor */
3951+/* Line 453 of lalr1.cc */
3952+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3953+ { release_hack( ((*yyvaluep).expr) ); };
3954+/* Line 453 of lalr1.cc */
3955+#line 1536 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3956+ break;
3957+ case 534: /* DirectConstructor */
3958+/* Line 453 of lalr1.cc */
3959+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3960+ { release_hack( ((*yyvaluep).expr) ); };
3961+/* Line 453 of lalr1.cc */
3962+#line 1543 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3963+ break;
3964+ case 535: /* DirElemConstructor */
3965+/* Line 453 of lalr1.cc */
3966+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3967+ { release_hack( ((*yyvaluep).expr) ); };
3968+/* Line 453 of lalr1.cc */
3969+#line 1550 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3970+ break;
3971+ case 536: /* DirElemContentList */
3972+/* Line 453 of lalr1.cc */
3973+#line 922 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3974+ { release_hack( ((*yyvaluep).node) ); };
3975+/* Line 453 of lalr1.cc */
3976+#line 1557 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3977+ break;
3978+ case 537: /* DirAttributeList */
3979+/* Line 453 of lalr1.cc */
3980+#line 922 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3981+ { release_hack( ((*yyvaluep).node) ); };
3982+/* Line 453 of lalr1.cc */
3983+#line 1564 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3984+ break;
3985+ case 538: /* DirAttr */
3986+/* Line 453 of lalr1.cc */
3987+#line 922 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3988+ { release_hack( ((*yyvaluep).node) ); };
3989+/* Line 453 of lalr1.cc */
3990+#line 1571 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3991+ break;
3992+ case 540: /* DirAttributeValue */
3993+/* Line 453 of lalr1.cc */
3994+#line 922 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
3995+ { release_hack( ((*yyvaluep).node) ); };
3996+/* Line 453 of lalr1.cc */
3997+#line 1578 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
3998+ break;
3999+ case 541: /* opt_QuoteAttrContentList */
4000+/* Line 453 of lalr1.cc */
4001+#line 927 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4002+ { release_hack( ((*yyvaluep).node) ); };
4003+/* Line 453 of lalr1.cc */
4004+#line 1585 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4005+ break;
4006+ case 542: /* QuoteAttrContentList */
4007+/* Line 453 of lalr1.cc */
4008+#line 927 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4009+ { release_hack( ((*yyvaluep).node) ); };
4010+/* Line 453 of lalr1.cc */
4011+#line 1592 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4012+ break;
4013+ case 543: /* opt_AposAttrContentList */
4014+/* Line 453 of lalr1.cc */
4015+#line 920 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4016+ { release_hack( ((*yyvaluep).node) ); };
4017+/* Line 453 of lalr1.cc */
4018+#line 1599 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4019+ break;
4020+ case 544: /* AposAttrContentList */
4021+/* Line 453 of lalr1.cc */
4022+#line 920 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4023+ { release_hack( ((*yyvaluep).node) ); };
4024+/* Line 453 of lalr1.cc */
4025+#line 1606 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4026+ break;
4027+ case 545: /* QuoteAttrValueContent */
4028+/* Line 453 of lalr1.cc */
4029+#line 927 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4030+ { release_hack( ((*yyvaluep).node) ); };
4031+/* Line 453 of lalr1.cc */
4032+#line 1613 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4033+ break;
4034+ case 546: /* AposAttrValueContent */
4035+/* Line 453 of lalr1.cc */
4036+#line 920 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4037+ { release_hack( ((*yyvaluep).node) ); };
4038+/* Line 453 of lalr1.cc */
4039+#line 1620 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4040+ break;
4041+ case 547: /* DirElemContent */
4042+/* Line 453 of lalr1.cc */
4043+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4044+ { release_hack( ((*yyvaluep).expr) ); };
4045+/* Line 453 of lalr1.cc */
4046+#line 1627 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4047+ break;
4048+ case 548: /* CommonContent */
4049+/* Line 453 of lalr1.cc */
4050+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4051+ { release_hack( ((*yyvaluep).expr) ); };
4052+/* Line 453 of lalr1.cc */
4053+#line 1634 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4054+ break;
4055+ case 549: /* DirCommentConstructor */
4056+/* Line 453 of lalr1.cc */
4057+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4058+ { release_hack( ((*yyvaluep).expr) ); };
4059+/* Line 453 of lalr1.cc */
4060+#line 1641 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4061+ break;
4062+ case 550: /* DirPIConstructor */
4063+/* Line 453 of lalr1.cc */
4064+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4065+ { release_hack( ((*yyvaluep).expr) ); };
4066+/* Line 453 of lalr1.cc */
4067+#line 1648 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4068+ break;
4069+ case 551: /* CDataSection */
4070+/* Line 453 of lalr1.cc */
4071+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4072+ { release_hack( ((*yyvaluep).expr) ); };
4073+/* Line 453 of lalr1.cc */
4074+#line 1655 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4075+ break;
4076+ case 552: /* ComputedConstructor */
4077+/* Line 453 of lalr1.cc */
4078+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4079+ { release_hack( ((*yyvaluep).expr) ); };
4080+/* Line 453 of lalr1.cc */
4081+#line 1662 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4082+ break;
4083+ case 553: /* CompDocConstructor */
4084+/* Line 453 of lalr1.cc */
4085+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4086+ { release_hack( ((*yyvaluep).expr) ); };
4087+/* Line 453 of lalr1.cc */
4088+#line 1669 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4089+ break;
4090+ case 554: /* CompElemConstructor */
4091+/* Line 453 of lalr1.cc */
4092+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4093+ { release_hack( ((*yyvaluep).expr) ); };
4094+/* Line 453 of lalr1.cc */
4095+#line 1676 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4096+ break;
4097+ case 555: /* CompAttrConstructor */
4098+/* Line 453 of lalr1.cc */
4099+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4100+ { release_hack( ((*yyvaluep).expr) ); };
4101+/* Line 453 of lalr1.cc */
4102+#line 1683 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4103+ break;
4104+ case 556: /* CompTextConstructor */
4105+/* Line 453 of lalr1.cc */
4106+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4107+ { release_hack( ((*yyvaluep).expr) ); };
4108+/* Line 453 of lalr1.cc */
4109+#line 1690 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4110+ break;
4111+ case 557: /* CompCommentConstructor */
4112+/* Line 453 of lalr1.cc */
4113+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4114+ { release_hack( ((*yyvaluep).expr) ); };
4115+/* Line 453 of lalr1.cc */
4116+#line 1697 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4117+ break;
4118+ case 558: /* CompPIConstructor */
4119+/* Line 453 of lalr1.cc */
4120+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4121+ { release_hack( ((*yyvaluep).expr) ); };
4122+/* Line 453 of lalr1.cc */
4123+#line 1704 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4124+ break;
4125+ case 559: /* CompNamespaceConstructor */
4126+/* Line 453 of lalr1.cc */
4127+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4128+ { release_hack( ((*yyvaluep).expr) ); };
4129+/* Line 453 of lalr1.cc */
4130+#line 1711 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4131+ break;
4132+ case 560: /* TypeDeclaration */
4133+/* Line 453 of lalr1.cc */
4134+#line 928 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4135+ { release_hack( ((*yyvaluep).node) ); };
4136+/* Line 453 of lalr1.cc */
4137+#line 1718 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4138+ break;
4139+ case 561: /* SequenceType */
4140+/* Line 453 of lalr1.cc */
4141+#line 928 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4142+ { release_hack( ((*yyvaluep).node) ); };
4143+/* Line 453 of lalr1.cc */
4144+#line 1725 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4145+ break;
4146+ case 562: /* OccurrenceIndicator */
4147+/* Line 453 of lalr1.cc */
4148+#line 924 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4149+ { release_hack( ((*yyvaluep).node) ); };
4150+/* Line 453 of lalr1.cc */
4151+#line 1732 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4152+ break;
4153+ case 563: /* ItemType */
4154+/* Line 453 of lalr1.cc */
4155+#line 924 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4156+ { release_hack( ((*yyvaluep).node) ); };
4157+/* Line 453 of lalr1.cc */
4158+#line 1739 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4159+ break;
4160+ case 564: /* TypeList */
4161+/* Line 453 of lalr1.cc */
4162+#line 931 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4163+ { release_hack( ((*yyvaluep).node) ); };
4164+/* Line 453 of lalr1.cc */
4165+#line 1746 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4166+ break;
4167+ case 565: /* GeneralizedAtomicType */
4168+/* Line 453 of lalr1.cc */
4169+#line 921 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4170+ { release_hack( ((*yyvaluep).node) ); };
4171+/* Line 453 of lalr1.cc */
4172+#line 1753 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4173+ break;
4174+ case 566: /* SimpleType */
4175+/* Line 453 of lalr1.cc */
4176+#line 921 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4177+ { release_hack( ((*yyvaluep).node) ); };
4178+/* Line 453 of lalr1.cc */
4179+#line 1760 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4180+ break;
4181+ case 567: /* KindTest */
4182+/* Line 453 of lalr1.cc */
4183+#line 924 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4184+ { release_hack( ((*yyvaluep).node) ); };
4185+/* Line 453 of lalr1.cc */
4186+#line 1767 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4187+ break;
4188+ case 568: /* AnyKindTest */
4189+/* Line 453 of lalr1.cc */
4190+#line 920 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4191+ { release_hack( ((*yyvaluep).node) ); };
4192+/* Line 453 of lalr1.cc */
4193+#line 1774 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4194+ break;
4195+ case 570: /* DocumentTest */
4196+/* Line 453 of lalr1.cc */
4197+#line 922 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4198+ { release_hack( ((*yyvaluep).node) ); };
4199+/* Line 453 of lalr1.cc */
4200+#line 1781 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4201+ break;
4202+ case 571: /* NamespaceTest */
4203+/* Line 453 of lalr1.cc */
4204+#line 928 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4205+ { release_hack( ((*yyvaluep).node) ); };
4206+/* Line 453 of lalr1.cc */
4207+#line 1788 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4208+ break;
4209+ case 572: /* TextTest */
4210+/* Line 453 of lalr1.cc */
4211+#line 928 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4212+ { release_hack( ((*yyvaluep).node) ); };
4213+/* Line 453 of lalr1.cc */
4214+#line 1795 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4215+ break;
4216+ case 573: /* CommentTest */
4217+/* Line 453 of lalr1.cc */
4218+#line 921 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4219+ { release_hack( ((*yyvaluep).node) ); };
4220+/* Line 453 of lalr1.cc */
4221+#line 1802 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4222+ break;
4223+ case 574: /* PITest */
4224+/* Line 453 of lalr1.cc */
4225+#line 926 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4226+ { release_hack( ((*yyvaluep).node) ); };
4227+/* Line 453 of lalr1.cc */
4228+#line 1809 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4229+ break;
4230+ case 575: /* AttributeTest */
4231+/* Line 453 of lalr1.cc */
4232+#line 921 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4233+ { release_hack( ((*yyvaluep).node) ); };
4234+/* Line 453 of lalr1.cc */
4235+#line 1816 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4236+ break;
4237+ case 576: /* SchemaAttributeTest */
4238+/* Line 453 of lalr1.cc */
4239+#line 927 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4240+ { release_hack( ((*yyvaluep).node) ); };
4241+/* Line 453 of lalr1.cc */
4242+#line 1823 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4243+ break;
4244+ case 577: /* ElementTest */
4245+/* Line 453 of lalr1.cc */
4246+#line 922 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4247+ { release_hack( ((*yyvaluep).node) ); };
4248+/* Line 453 of lalr1.cc */
4249+#line 1830 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4250+ break;
4251+ case 578: /* SchemaElementTest */
4252+/* Line 453 of lalr1.cc */
4253+#line 927 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4254+ { release_hack( ((*yyvaluep).node) ); };
4255+/* Line 453 of lalr1.cc */
4256+#line 1837 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4257+ break;
4258+ case 579: /* TypeName */
4259+/* Line 453 of lalr1.cc */
4260+#line 928 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4261+ { release_hack( ((*yyvaluep).node) ); };
4262+/* Line 453 of lalr1.cc */
4263+#line 1844 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4264+ break;
4265+ case 580: /* TypeName_WITH_HOOK */
4266+/* Line 453 of lalr1.cc */
4267+#line 928 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4268+ { release_hack( ((*yyvaluep).node) ); };
4269+/* Line 453 of lalr1.cc */
4270+#line 1851 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4271+ break;
4272+ case 581: /* StringLiteral */
4273+/* Line 453 of lalr1.cc */
4274+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4275+ { release_hack( ((*yyvaluep).expr) ); };
4276+/* Line 453 of lalr1.cc */
4277+#line 1858 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4278+ break;
4279+ case 583: /* AnyFunctionTest */
4280+/* Line 453 of lalr1.cc */
4281+#line 931 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4282+ { release_hack( ((*yyvaluep).node) ); };
4283+/* Line 453 of lalr1.cc */
4284+#line 1865 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4285+ break;
4286+ case 584: /* TypedFunctionTest */
4287+/* Line 453 of lalr1.cc */
4288+#line 931 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4289+ { release_hack( ((*yyvaluep).node) ); };
4290+/* Line 453 of lalr1.cc */
4291+#line 1872 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4292+ break;
4293+ case 587: /* InsertExpr */
4294+/* Line 453 of lalr1.cc */
4295+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4296+ { release_hack( ((*yyvaluep).expr) ); };
4297+/* Line 453 of lalr1.cc */
4298+#line 1879 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4299+ break;
4300+ case 588: /* DeleteExpr */
4301+/* Line 453 of lalr1.cc */
4302+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4303+ { release_hack( ((*yyvaluep).expr) ); };
4304+/* Line 453 of lalr1.cc */
4305+#line 1886 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4306+ break;
4307+ case 589: /* ReplaceExpr */
4308+/* Line 453 of lalr1.cc */
4309+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4310+ { release_hack( ((*yyvaluep).expr) ); };
4311+/* Line 453 of lalr1.cc */
4312+#line 1893 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4313+ break;
4314+ case 590: /* RenameExpr */
4315+/* Line 453 of lalr1.cc */
4316+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4317+ { release_hack( ((*yyvaluep).expr) ); };
4318+/* Line 453 of lalr1.cc */
4319+#line 1900 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4320+ break;
4321+ case 591: /* TransformExpr */
4322+/* Line 453 of lalr1.cc */
4323+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4324+ { release_hack( ((*yyvaluep).expr) ); };
4325+/* Line 453 of lalr1.cc */
4326+#line 1907 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4327+ break;
4328+ case 592: /* VarNameList */
4329+/* Line 453 of lalr1.cc */
4330+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4331+ { release_hack( ((*yyvaluep).expr) ); };
4332+/* Line 453 of lalr1.cc */
4333+#line 1914 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4334+ break;
4335+ case 593: /* VarNameDecl */
4336+/* Line 453 of lalr1.cc */
4337+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4338+ { release_hack( ((*yyvaluep).expr) ); };
4339+/* Line 453 of lalr1.cc */
4340+#line 1921 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4341+ break;
4342+ case 594: /* TryExpr */
4343+/* Line 453 of lalr1.cc */
4344+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4345+ { release_hack( ((*yyvaluep).expr) ); };
4346+/* Line 453 of lalr1.cc */
4347+#line 1928 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4348+ break;
4349+ case 595: /* CatchListExpr */
4350+/* Line 453 of lalr1.cc */
4351+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4352+ { release_hack( ((*yyvaluep).expr) ); };
4353+/* Line 453 of lalr1.cc */
4354+#line 1935 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4355+ break;
4356+ case 596: /* CatchExpr */
4357+/* Line 453 of lalr1.cc */
4358+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4359+ { release_hack( ((*yyvaluep).expr) ); };
4360+/* Line 453 of lalr1.cc */
4361+#line 1942 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4362+ break;
4363+ case 597: /* BracedExpr */
4364+/* Line 453 of lalr1.cc */
4365+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4366+ { release_hack( ((*yyvaluep).expr) ); };
4367+/* Line 453 of lalr1.cc */
4368+#line 1949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4369+ break;
4370+ case 598: /* NameTestList */
4371+/* Line 453 of lalr1.cc */
4372+#line 951 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4373+ { delete ((*yyvaluep).name_test_list); };
4374+/* Line 453 of lalr1.cc */
4375+#line 1956 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4376+ break;
4377+ case 599: /* FTSelection */
4378+/* Line 453 of lalr1.cc */
4379+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4380+ { release_hack( ((*yyvaluep).node) ); };
4381+/* Line 453 of lalr1.cc */
4382+#line 1963 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4383+ break;
4384+ case 602: /* FTOr */
4385+/* Line 453 of lalr1.cc */
4386+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4387+ { release_hack( ((*yyvaluep).node) ); };
4388+/* Line 453 of lalr1.cc */
4389+#line 1970 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4390+ break;
4391+ case 603: /* FTAnd */
4392+/* Line 453 of lalr1.cc */
4393+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4394+ { release_hack( ((*yyvaluep).node) ); };
4395+/* Line 453 of lalr1.cc */
4396+#line 1977 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4397+ break;
4398+ case 604: /* FTMildNot */
4399+/* Line 453 of lalr1.cc */
4400+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4401+ { release_hack( ((*yyvaluep).node) ); };
4402+/* Line 453 of lalr1.cc */
4403+#line 1984 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4404+ break;
4405+ case 605: /* FTUnaryNot */
4406+/* Line 453 of lalr1.cc */
4407+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4408+ { release_hack( ((*yyvaluep).node) ); };
4409+/* Line 453 of lalr1.cc */
4410+#line 1991 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4411+ break;
4412+ case 606: /* FTPrimaryWithOptions */
4413+/* Line 453 of lalr1.cc */
4414+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4415+ { release_hack( ((*yyvaluep).node) ); };
4416+/* Line 453 of lalr1.cc */
4417+#line 1998 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4418+ break;
4419+ case 607: /* opt_FTMatchOptions */
4420+/* Line 453 of lalr1.cc */
4421+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4422+ { release_hack( ((*yyvaluep).node) ); };
4423+/* Line 453 of lalr1.cc */
4424+#line 2005 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4425+ break;
4426+ case 609: /* FTWeight */
4427+/* Line 453 of lalr1.cc */
4428+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4429+ { release_hack( ((*yyvaluep).node) ); };
4430+/* Line 453 of lalr1.cc */
4431+#line 2012 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4432+ break;
4433+ case 610: /* FTPrimary */
4434+/* Line 453 of lalr1.cc */
4435+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4436+ { release_hack( ((*yyvaluep).node) ); };
4437+/* Line 453 of lalr1.cc */
4438+#line 2019 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4439+ break;
4440+ case 611: /* opt_FTTimes */
4441+/* Line 453 of lalr1.cc */
4442+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4443+ { release_hack( ((*yyvaluep).node) ); };
4444+/* Line 453 of lalr1.cc */
4445+#line 2026 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4446+ break;
4447+ case 612: /* FTExtensionSelection */
4448+/* Line 453 of lalr1.cc */
4449+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4450+ { release_hack( ((*yyvaluep).node) ); };
4451+/* Line 453 of lalr1.cc */
4452+#line 2033 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4453+ break;
4454+ case 614: /* FTWords */
4455+/* Line 453 of lalr1.cc */
4456+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4457+ { release_hack( ((*yyvaluep).node) ); };
4458+/* Line 453 of lalr1.cc */
4459+#line 2040 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4460+ break;
4461+ case 615: /* FTWordsValue */
4462+/* Line 453 of lalr1.cc */
4463+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4464+ { release_hack( ((*yyvaluep).node) ); };
4465+/* Line 453 of lalr1.cc */
4466+#line 2047 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4467+ break;
4468+ case 617: /* FTAnyallOption */
4469+/* Line 453 of lalr1.cc */
4470+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4471+ { release_hack( ((*yyvaluep).node) ); };
4472+/* Line 453 of lalr1.cc */
4473+#line 2054 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4474+ break;
4475+ case 620: /* FTPosFilter */
4476+/* Line 453 of lalr1.cc */
4477+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4478+ { release_hack( ((*yyvaluep).node) ); };
4479+/* Line 453 of lalr1.cc */
4480+#line 2061 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4481+ break;
4482+ case 621: /* FTOrder */
4483+/* Line 453 of lalr1.cc */
4484+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4485+ { release_hack( ((*yyvaluep).node) ); };
4486+/* Line 453 of lalr1.cc */
4487+#line 2068 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4488+ break;
4489+ case 622: /* FTWindow */
4490+/* Line 453 of lalr1.cc */
4491+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4492+ { release_hack( ((*yyvaluep).node) ); };
4493+/* Line 453 of lalr1.cc */
4494+#line 2075 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4495+ break;
4496+ case 623: /* FTDistance */
4497+/* Line 453 of lalr1.cc */
4498+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4499+ { release_hack( ((*yyvaluep).node) ); };
4500+/* Line 453 of lalr1.cc */
4501+#line 2082 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4502+ break;
4503+ case 624: /* FTUnit */
4504+/* Line 453 of lalr1.cc */
4505+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4506+ { release_hack( ((*yyvaluep).node) ); };
4507+/* Line 453 of lalr1.cc */
4508+#line 2089 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4509+ break;
4510+ case 625: /* FTMatchOptions */
4511+/* Line 453 of lalr1.cc */
4512+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4513+ { release_hack( ((*yyvaluep).node) ); };
4514+/* Line 453 of lalr1.cc */
4515+#line 2096 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4516+ break;
4517+ case 626: /* FTMatchOption */
4518+/* Line 453 of lalr1.cc */
4519+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4520+ { release_hack( ((*yyvaluep).node) ); };
4521+/* Line 453 of lalr1.cc */
4522+#line 2103 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4523+ break;
4524+ case 627: /* FTCaseOption */
4525+/* Line 453 of lalr1.cc */
4526+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4527+ { release_hack( ((*yyvaluep).node) ); };
4528+/* Line 453 of lalr1.cc */
4529+#line 2110 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4530+ break;
4531+ case 628: /* FTDiacriticsOption */
4532+/* Line 453 of lalr1.cc */
4533+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4534+ { release_hack( ((*yyvaluep).node) ); };
4535+/* Line 453 of lalr1.cc */
4536+#line 2117 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4537+ break;
4538+ case 629: /* FTExtensionOption */
4539+/* Line 453 of lalr1.cc */
4540+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4541+ { release_hack( ((*yyvaluep).node) ); };
4542+/* Line 453 of lalr1.cc */
4543+#line 2124 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4544+ break;
4545+ case 630: /* FTStemOption */
4546+/* Line 453 of lalr1.cc */
4547+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4548+ { release_hack( ((*yyvaluep).node) ); };
4549+/* Line 453 of lalr1.cc */
4550+#line 2131 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4551+ break;
4552+ case 631: /* FTThesaurusOption */
4553+/* Line 453 of lalr1.cc */
4554+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4555+ { release_hack( ((*yyvaluep).node) ); };
4556+/* Line 453 of lalr1.cc */
4557+#line 2138 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4558+ break;
4559+ case 635: /* FTThesaurusID */
4560+/* Line 453 of lalr1.cc */
4561+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4562+ { release_hack( ((*yyvaluep).node) ); };
4563+/* Line 453 of lalr1.cc */
4564+#line 2145 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4565+ break;
4566+ case 638: /* FTStopWordOption */
4567+/* Line 453 of lalr1.cc */
4568+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4569+ { release_hack( ((*yyvaluep).node) ); };
4570+/* Line 453 of lalr1.cc */
4571+#line 2152 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4572+ break;
4573+ case 639: /* FTStopWords */
4574+/* Line 453 of lalr1.cc */
4575+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4576+ { release_hack( ((*yyvaluep).node) ); };
4577+/* Line 453 of lalr1.cc */
4578+#line 2159 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4579+ break;
4580+ case 643: /* FTStopWordsInclExcl */
4581+/* Line 453 of lalr1.cc */
4582+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4583+ { release_hack( ((*yyvaluep).node) ); };
4584+/* Line 453 of lalr1.cc */
4585+#line 2166 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4586+ break;
4587+ case 644: /* FTLanguageOption */
4588+/* Line 453 of lalr1.cc */
4589+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4590+ { release_hack( ((*yyvaluep).node) ); };
4591+/* Line 453 of lalr1.cc */
4592+#line 2173 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4593+ break;
4594+ case 645: /* FTWildCardOption */
4595+/* Line 453 of lalr1.cc */
4596+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4597+ { release_hack( ((*yyvaluep).node) ); };
4598+/* Line 453 of lalr1.cc */
4599+#line 2180 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4600+ break;
4601+ case 646: /* FTContent */
4602+/* Line 453 of lalr1.cc */
4603+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4604+ { release_hack( ((*yyvaluep).node) ); };
4605+/* Line 453 of lalr1.cc */
4606+#line 2187 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4607+ break;
4608+ case 647: /* FTTimes */
4609+/* Line 453 of lalr1.cc */
4610+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4611+ { release_hack( ((*yyvaluep).node) ); };
4612+/* Line 453 of lalr1.cc */
4613+#line 2194 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4614+ break;
4615+ case 648: /* FTRange */
4616+/* Line 453 of lalr1.cc */
4617+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4618+ { release_hack( ((*yyvaluep).node) ); };
4619+/* Line 453 of lalr1.cc */
4620+#line 2201 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4621+ break;
4622+ case 649: /* FTScope */
4623+/* Line 453 of lalr1.cc */
4624+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4625+ { release_hack( ((*yyvaluep).node) ); };
4626+/* Line 453 of lalr1.cc */
4627+#line 2208 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4628+ break;
4629+ case 650: /* FTBigUnit */
4630+/* Line 453 of lalr1.cc */
4631+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4632+ { release_hack( ((*yyvaluep).node) ); };
4633+/* Line 453 of lalr1.cc */
4634+#line 2215 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4635+ break;
4636+ case 651: /* FTIgnoreOption */
4637+/* Line 453 of lalr1.cc */
4638+#line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4639+ { release_hack( ((*yyvaluep).node) ); };
4640+/* Line 453 of lalr1.cc */
4641+#line 2222 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4642+ break;
4643+ case 652: /* JSONArrayConstructor */
4644+/* Line 453 of lalr1.cc */
4645+#line 942 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4646+ { release_hack( ((*yyvaluep).expr) ); };
4647+/* Line 453 of lalr1.cc */
4648+#line 2229 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4649+ break;
4650+ case 653: /* JSONSimpleObjectUnion */
4651+/* Line 453 of lalr1.cc */
4652+#line 942 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4653+ { release_hack( ((*yyvaluep).expr) ); };
4654+/* Line 453 of lalr1.cc */
4655+#line 2236 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4656+ break;
4657+ case 654: /* JSONAccumulatorObjectUnion */
4658+/* Line 453 of lalr1.cc */
4659+#line 942 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4660+ { release_hack( ((*yyvaluep).expr) ); };
4661+/* Line 453 of lalr1.cc */
4662+#line 2243 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4663+ break;
4664+ case 655: /* JSONObjectConstructor */
4665+/* Line 453 of lalr1.cc */
4666+#line 942 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4667+ { release_hack( ((*yyvaluep).expr) ); };
4668+/* Line 453 of lalr1.cc */
4669+#line 2250 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4670+ break;
4671+ case 656: /* JSONPairList */
4672+/* Line 453 of lalr1.cc */
4673+#line 942 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4674+ { release_hack( ((*yyvaluep).node) ); };
4675+/* Line 453 of lalr1.cc */
4676+#line 2257 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4677+ break;
4678+ case 657: /* JSONInsertExpr */
4679+/* Line 453 of lalr1.cc */
4680+#line 942 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4681+ { release_hack( ((*yyvaluep).expr) ); };
4682+/* Line 453 of lalr1.cc */
4683+#line 2264 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4684+ break;
4685+ case 658: /* JSONAppendExpr */
4686+/* Line 453 of lalr1.cc */
4687+#line 942 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4688+ { release_hack( ((*yyvaluep).expr) ); };
4689+/* Line 453 of lalr1.cc */
4690+#line 2271 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4691+ break;
4692+ case 659: /* JSONDeleteExpr */
4693+/* Line 453 of lalr1.cc */
4694+#line 942 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4695+ { release_hack( ((*yyvaluep).expr) ); };
4696+/* Line 453 of lalr1.cc */
4697+#line 2278 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4698+ break;
4699+ case 660: /* JSONRenameExpr */
4700+/* Line 453 of lalr1.cc */
4701+#line 942 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4702+ { release_hack( ((*yyvaluep).expr) ); };
4703+/* Line 453 of lalr1.cc */
4704+#line 2285 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4705+ break;
4706+ case 661: /* JSONReplaceExpr */
4707+/* Line 453 of lalr1.cc */
4708+#line 942 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4709+ { release_hack( ((*yyvaluep).expr) ); };
4710+/* Line 453 of lalr1.cc */
4711+#line 2292 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4712+ break;
4713+ case 664: /* QNAME */
4714+/* Line 453 of lalr1.cc */
4715+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4716+ { release_hack( ((*yyvaluep).expr) ); };
4717+/* Line 453 of lalr1.cc */
4718+#line 2299 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4719+ break;
4720+ case 665: /* FUNCTION_NAME */
4721+/* Line 453 of lalr1.cc */
4722+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4723+ { release_hack( ((*yyvaluep).expr) ); };
4724+/* Line 453 of lalr1.cc */
4725+#line 2306 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4726+ break;
4727+ case 666: /* EQNAME */
4728+/* Line 453 of lalr1.cc */
4729+#line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4730+ { release_hack( ((*yyvaluep).expr) ); };
4731+/* Line 453 of lalr1.cc */
4732+#line 2313 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4733 break;
4734
4735 default:
4736@@ -2961,16 +2397,14 @@
4737 YYCDEBUG << "Starting parse" << std::endl;
4738
4739
4740- /* User initialization code. */
4741-
4742-/* Line 565 of lalr1.cc */
4743-#line 128 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
4744+/* User initialization code. */
4745+/* Line 538 of lalr1.cc */
4746+#line 140 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4747 {
4748 yylloc.begin.filename = yylloc.end.filename = &(driver.theFilename2);
4749 }
4750-
4751-/* Line 565 of lalr1.cc */
4752-#line 2974 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
4753+/* Line 538 of lalr1.cc */
4754+#line 2408 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
4755
4756 /* Initialize the stacks. The initial state will be pushed in
4757 yynewstate, since the latter expects the semantical and the
4758@@ -3087,63 +2521,56 @@
4759 switch (yyn)
4760 {
4761 case 3:
4762-
4763-/* Line 690 of lalr1.cc */
4764-#line 854 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
4765+/* Line 661 of lalr1.cc */
4766+#line 1052 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4767 {
4768 (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
4769 }
4770 break;
4771
4772 case 4:
4773-
4774-/* Line 690 of lalr1.cc */
4775-#line 858 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
4776+/* Line 661 of lalr1.cc */
4777+#line 1056 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4778 {
4779 (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
4780 }
4781 break;
4782
4783 case 5:
4784-
4785-/* Line 690 of lalr1.cc */
4786-#line 862 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
4787+/* Line 661 of lalr1.cc */
4788+#line 1060 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4789 {
4790 (yyval.node) = (yysemantic_stack_[(3) - (3)].node);
4791 }
4792 break;
4793
4794 case 6:
4795-
4796-/* Line 690 of lalr1.cc */
4797-#line 868 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
4798+/* Line 661 of lalr1.cc */
4799+#line 1068 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4800 {
4801 (yyval.node) = NULL;
4802 }
4803 break;
4804
4805 case 7:
4806-
4807-/* Line 690 of lalr1.cc */
4808-#line 872 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
4809+/* Line 661 of lalr1.cc */
4810+#line 1074 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4811 {
4812 (yyval.node) = NULL; YYABORT;
4813 }
4814 break;
4815
4816 case 8:
4817-
4818-/* Line 690 of lalr1.cc */
4819-#line 876 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
4820+/* Line 661 of lalr1.cc */
4821+#line 1078 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4822 {
4823 (yyval.node) = NULL; YYABORT;
4824 }
4825 break;
4826
4827 case 9:
4828-
4829-/* Line 690 of lalr1.cc */
4830-#line 882 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
4831+/* Line 661 of lalr1.cc */
4832+#line 1087 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4833 {
4834 (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
4835 driver.set_expr( (yyval.node) );
4836@@ -3151,9 +2578,8 @@
4837 break;
4838
4839 case 10:
4840-
4841-/* Line 690 of lalr1.cc */
4842-#line 888 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
4843+/* Line 661 of lalr1.cc */
4844+#line 1093 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4845 {
4846 MainModule* mm = dynamic_cast<MainModule*>((yysemantic_stack_[(2) - (2)].node));
4847 mm->set_version_decl( static_cast<VersionDecl*>((yysemantic_stack_[(2) - (1)].node)) );
4848@@ -3163,9 +2589,8 @@
4849 break;
4850
4851 case 11:
4852-
4853-/* Line 690 of lalr1.cc */
4854-#line 896 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
4855+/* Line 661 of lalr1.cc */
4856+#line 1101 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4857 {
4858 (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
4859 driver.set_expr( (yyval.node) );
4860@@ -3173,9 +2598,8 @@
4861 break;
4862
4863 case 12:
4864-
4865-/* Line 690 of lalr1.cc */
4866-#line 902 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
4867+/* Line 661 of lalr1.cc */
4868+#line 1107 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4869 {
4870 LibraryModule* lm = dynamic_cast<LibraryModule*>((yysemantic_stack_[(2) - (2)].node));
4871 lm->set_version_decl( static_cast<VersionDecl*>((yysemantic_stack_[(2) - (1)].node)) );
4872@@ -3185,68 +2609,64 @@
4873 break;
4874
4875 case 13:
4876-
4877-/* Line 690 of lalr1.cc */
4878-#line 911 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
4879+/* Line 661 of lalr1.cc */
4880+#line 1118 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4881 {
4882 (yyval.node) = new VersionDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (3)].sval)), "utf-8", VersionDecl::jsoniq );
4883 }
4884 break;
4885
4886 case 14:
4887-
4888-/* Line 690 of lalr1.cc */
4889-#line 916 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
4890+/* Line 661 of lalr1.cc */
4891+#line 1123 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4892 {
4893 (yyval.node) = new VersionDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(6) - (3)].sval)), SYMTAB((yysemantic_stack_[(6) - (5)].sval)), VersionDecl::jsoniq );
4894 }
4895 break;
4896
4897 case 15:
4898-
4899-/* Line 690 of lalr1.cc */
4900-#line 922 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
4901+/* Line 661 of lalr1.cc */
4902+#line 1132 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4903 {
4904 Prolog* prolog = new Prolog(LOC((yyloc)), static_cast<SIND_DeclList*>((yysemantic_stack_[(3) - (1)].node)), NULL);
4905+
4906 (yyval.node) = new MainModule(LOC((yyloc)), static_cast<QueryBody*>((yysemantic_stack_[(3) - (3)].expr)), prolog);
4907 }
4908 break;
4909
4910 case 16:
4911-
4912-/* Line 690 of lalr1.cc */
4913-#line 928 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
4914+/* Line 661 of lalr1.cc */
4915+#line 1139 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4916 {
4917 Prolog* prolog = new Prolog(LOC((yyloc)), NULL, static_cast<VFO_DeclList*>((yysemantic_stack_[(3) - (1)].node)));
4918+
4919 (yyval.node) = new MainModule(LOC((yyloc)), static_cast<QueryBody*>((yysemantic_stack_[(3) - (3)].expr)), prolog);
4920 }
4921 break;
4922
4923 case 17:
4924-
4925-/* Line 690 of lalr1.cc */
4926-#line 934 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
4927+/* Line 661 of lalr1.cc */
4928+#line 1146 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4929 {
4930 Prolog* prolog = new Prolog(LOC((yyloc)),
4931 static_cast<SIND_DeclList*>((yysemantic_stack_[(5) - (1)].node)),
4932 static_cast<VFO_DeclList*>((yysemantic_stack_[(5) - (3)].node)));
4933+
4934 (yyval.node) = new MainModule(LOC((yyloc)), static_cast<QueryBody*>((yysemantic_stack_[(5) - (5)].expr)), prolog);
4935 }
4936 break;
4937
4938 case 18:
4939-
4940-/* Line 690 of lalr1.cc */
4941-#line 942 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
4942+/* Line 661 of lalr1.cc */
4943+#line 1155 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4944 {
4945 (yyval.node) = new MainModule( LOC((yyloc)), static_cast<QueryBody*>((yysemantic_stack_[(1) - (1)].expr)), NULL );
4946 }
4947 break;
4948
4949 case 19:
4950-
4951-/* Line 690 of lalr1.cc */
4952-#line 947 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
4953+/* Line 661 of lalr1.cc */
4954+#line 1162 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4955 {
4956 (yyval.node) = (yysemantic_stack_[(3) - (1)].node); (yyval.node) = (yysemantic_stack_[(3) - (3)].expr);
4957 (yylocation_stack_[(3) - (1)]).step();
4958@@ -3256,9 +2676,8 @@
4959 break;
4960
4961 case 20:
4962-
4963-/* Line 690 of lalr1.cc */
4964-#line 955 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
4965+/* Line 661 of lalr1.cc */
4966+#line 1170 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4967 {
4968 (yyval.node) = (yysemantic_stack_[(3) - (1)].node); (yyval.node) = (yysemantic_stack_[(3) - (3)].expr);
4969 (yylocation_stack_[(3) - (1)]).step();
4970@@ -3268,9 +2687,8 @@
4971 break;
4972
4973 case 21:
4974-
4975-/* Line 690 of lalr1.cc */
4976-#line 963 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
4977+/* Line 661 of lalr1.cc */
4978+#line 1178 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4979 {
4980 (yyval.node) = (yysemantic_stack_[(5) - (1)].node); (yyval.node) = (yysemantic_stack_[(5) - (3)].node); (yyval.node) = (yysemantic_stack_[(5) - (5)].expr);
4981 (yylocation_stack_[(5) - (3)]).step();
4982@@ -3280,9 +2698,8 @@
4983 break;
4984
4985 case 22:
4986-
4987-/* Line 690 of lalr1.cc */
4988-#line 971 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
4989+/* Line 661 of lalr1.cc */
4990+#line 1186 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
4991 {
4992 (yyval.node) = (yysemantic_stack_[(5) - (1)].node); (yyval.node) = (yysemantic_stack_[(5) - (3)].node); (yyval.node) = (yysemantic_stack_[(5) - (5)].expr);
4993 (yylocation_stack_[(5) - (1)]).step();
4994@@ -3292,50 +2709,48 @@
4995 break;
4996
4997 case 23:
4998-
4999-/* Line 690 of lalr1.cc */
5000-#line 980 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches