Merge lp:~nbrinza/zorba/hof into lp:zorba

Proposed by Nicolae Brinza
Status: Superseded
Proposed branch: lp:~nbrinza/zorba/hof
Merge into: lp:zorba
Diff against target: 39316 lines (+14445/-12655)
167 files modified
include/zorba/pregenerated/diagnostic_list.h (+4/-0)
modules/w3c/pregenerated/xqt-errors.xq (+16/-0)
src/api/serialization/serializer.cpp (+5/-0)
src/compiler/api/compiler_api.cpp (+1/-1)
src/compiler/codegen/plan_visitor.cpp (+129/-28)
src/compiler/expression/abstract_expr_visitor.h (+7/-6)
src/compiler/expression/expr_base.cpp (+7/-0)
src/compiler/expression/expr_base.h (+3/-0)
src/compiler/expression/expr_classes.h (+1/-0)
src/compiler/expression/expr_clone.cpp (+37/-15)
src/compiler/expression/expr_iter.cpp (+23/-6)
src/compiler/expression/expr_manager.cpp (+24/-8)
src/compiler/expression/expr_manager.h (+16/-5)
src/compiler/expression/expr_put.cpp (+59/-11)
src/compiler/expression/expr_type.cpp (+7/-0)
src/compiler/expression/expr_visitor.h (+6/-5)
src/compiler/expression/function_item_expr.cpp (+66/-42)
src/compiler/expression/function_item_expr.h (+79/-30)
src/compiler/expression/var_expr.cpp (+2/-1)
src/compiler/expression/var_expr.h (+2/-0)
src/compiler/parser/xquery_parser.cpp (+8635/-9944)
src/compiler/parser/xquery_parser.hpp (+40/-97)
src/compiler/parser/xquery_parser.y (+32/-8)
src/compiler/parser/xquery_scanner.cpp (+365/-379)
src/compiler/parsetree/parsenode_print_xml_visitor.cpp (+1/-0)
src/compiler/parsetree/parsenode_print_xqdoc_visitor.cpp (+15/-14)
src/compiler/parsetree/parsenode_print_xquery_visitor.cpp (+16/-6)
src/compiler/parsetree/parsenode_visitor.h (+1/-0)
src/compiler/parsetree/parsenodes.cpp (+19/-2)
src/compiler/parsetree/parsenodes.h (+32/-6)
src/compiler/rewriter/framework/rewriter_context.cpp (+1/-2)
src/compiler/rewriter/rules/fold_rules.cpp (+29/-20)
src/compiler/rewriter/rules/nodeid_rules.cpp (+11/-7)
src/compiler/rewriter/tools/dataflow_annotations.cpp (+8/-0)
src/compiler/rewriter/tools/udf_graph.cpp (+7/-3)
src/compiler/translator/translator.cpp (+1454/-837)
src/compiler/translator/translator.h (+15/-0)
src/context/dynamic_context.cpp (+31/-0)
src/context/dynamic_context.h (+8/-0)
src/context/root_static_context.cpp (+1/-0)
src/context/static_context.cpp (+56/-0)
src/context/static_context.h (+10/-1)
src/diagnostics/diagnostic_en.xml (+14/-0)
src/diagnostics/pregenerated/diagnostic_list.cpp (+6/-0)
src/diagnostics/pregenerated/dict_en.cpp (+2/-0)
src/functions/CMakeLists.txt (+1/-0)
src/functions/func_hof_impl.cpp (+218/-0)
src/functions/func_hof_impl.h (+38/-0)
src/functions/func_sequences_impl.cpp (+2/-0)
src/functions/function.h (+4/-4)
src/functions/function_consts.h (+3/-0)
src/functions/library.cpp (+2/-0)
src/functions/pregenerated/func_function_item_iter.cpp (+27/-29)
src/functions/pregenerated/func_function_item_iter.h (+50/-5)
src/functions/pregenerated/func_numerics.cpp (+2/-2)
src/functions/pregenerated/function_enum.h (+4/-2)
src/functions/signature.cpp (+122/-87)
src/functions/signature.h (+10/-0)
src/functions/udf.cpp (+19/-1)
src/functions/udf.h (+2/-2)
src/runtime/accessors/accessors_impl.cpp (+3/-2)
src/runtime/api/plan_iterator_wrapper.cpp (+133/-7)
src/runtime/api/plan_iterator_wrapper.h (+66/-7)
src/runtime/api/plan_wrapper.cpp (+33/-12)
src/runtime/api/plan_wrapper.h (+3/-0)
src/runtime/base/plan_iterator.cpp (+61/-2)
src/runtime/base/plan_iterator.h (+32/-24)
src/runtime/core/constructors.cpp (+14/-2)
src/runtime/core/flwor_iterator.cpp (+75/-58)
src/runtime/core/flwor_iterator.h (+50/-50)
src/runtime/core/fncall_iterator.cpp (+47/-20)
src/runtime/core/fncall_iterator.h (+24/-17)
src/runtime/core/item_iterator.cpp (+371/-16)
src/runtime/core/item_iterator.h (+70/-19)
src/runtime/core/sequencetypes.cpp (+1/-1)
src/runtime/core/var_iterators.cpp (+34/-2)
src/runtime/core/var_iterators.h (+28/-28)
src/runtime/function_item/dynamic_fncall_iterator.cpp (+147/-57)
src/runtime/function_item/dynamic_fncall_iterator.h (+57/-7)
src/runtime/function_item/function_item.cpp (+190/-84)
src/runtime/function_item/function_item.h (+86/-29)
src/runtime/function_item/function_item_iter_impl.cpp (+371/-25)
src/runtime/function_item/pregenerated/function_item_iter.cpp (+89/-26)
src/runtime/function_item/pregenerated/function_item_iter.h (+124/-15)
src/runtime/misc/materialize.cpp (+8/-0)
src/runtime/misc/materialize.h (+2/-0)
src/runtime/numerics/numerics_impl.cpp (+6/-3)
src/runtime/pregenerated/iterator_enum.h (+3/-1)
src/runtime/sequences/sequences_impl.cpp (+15/-15)
src/runtime/spec/function_item/function_item_iter.xml (+100/-30)
src/runtime/spec/numerics/numerics.xml (+2/-2)
src/runtime/spec/printer_visitor_cpp.xq (+4/-0)
src/runtime/strings/strings_impl.cpp (+20/-9)
src/runtime/util/item_iterator.cpp (+9/-0)
src/runtime/util/item_iterator.h (+3/-0)
src/runtime/visitors/planiter_visitor_impl_code.h (+3/-0)
src/runtime/visitors/planiter_visitor_impl_include.h (+2/-0)
src/runtime/visitors/pregenerated/planiter_visitor.h (+13/-3)
src/runtime/visitors/pregenerated/printer_visitor.cpp (+44/-12)
src/runtime/visitors/pregenerated/printer_visitor.h (+8/-2)
src/runtime/visitors/printer_visitor_impl.cpp (+40/-9)
src/runtime/visitors/printer_visitor_impl.h (+4/-0)
src/store/api/item.h (+45/-31)
src/store/api/iterator.h (+4/-0)
src/store/api/temp_seq.h (+5/-0)
src/store/naive/atomic_items.cpp (+7/-0)
src/store/naive/atomic_items.h (+20/-6)
src/store/naive/item.cpp (+6/-0)
src/store/naive/simple_lazy_temp_seq.cpp (+23/-1)
src/store/naive/simple_lazy_temp_seq.h (+4/-0)
src/store/naive/simple_temp_seq.cpp (+48/-0)
src/store/naive/simple_temp_seq.h (+11/-1)
src/types/typeimpl.cpp (+5/-3)
src/types/typeimpl.h (+1/-1)
src/types/typemanagerimpl.cpp (+14/-3)
src/types/typeops.cpp (+9/-2)
src/zorbaserialization/archiver_consts.h (+20/-15)
src/zorbaserialization/class_serializer.h (+21/-14)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-001.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-002.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-003.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-004.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-005.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-006.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-010.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-011.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-012.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-013.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-014.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-015.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-023.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-025.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-026.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-032.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-037.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-038.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-039.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-904.xml.res (+0/-1)
test/rbkt/Queries/zorba/HigherOrder/hof-001.xq (+0/-13)
test/rbkt/Queries/zorba/HigherOrder/hof-002.xq (+0/-17)
test/rbkt/Queries/zorba/HigherOrder/hof-003.lib (+0/-10)
test/rbkt/Queries/zorba/HigherOrder/hof-003.xq (+0/-11)
test/rbkt/Queries/zorba/HigherOrder/hof-004.xq (+0/-9)
test/rbkt/Queries/zorba/HigherOrder/hof-023.xq (+0/-11)
test/rbkt/Queries/zorba/HigherOrder/hof-025.xq (+0/-11)
test/rbkt/Queries/zorba/HigherOrder/hof-026.xq (+0/-17)
test/rbkt/Queries/zorba/HigherOrder/hof-032.xq (+0/-10)
test/rbkt/Queries/zorba/HigherOrder/hof-037.xq (+0/-17)
test/rbkt/Queries/zorba/HigherOrder/hof-038.xq (+0/-18)
test/rbkt/Queries/zorba/HigherOrder/hof-039.xq (+0/-22)
test/rbkt/Queries/zorba/HigherOrder/hof-101.xq.failing (+0/-7)
test/rbkt/Queries/zorba/HigherOrder/hof-901.spec (+0/-1)
test/rbkt/Queries/zorba/HigherOrder/hof-901.xq (+0/-13)
test/rbkt/Queries/zorba/HigherOrder/hof-902.spec (+0/-1)
test/rbkt/Queries/zorba/HigherOrder/hof-902.xq (+0/-13)
test/rbkt/Queries/zorba/HigherOrder/hof-904.xq (+0/-13)
test/rbkt/Queries/zorba/HigherOrder/hof-905.spec (+0/-1)
test/rbkt/Queries/zorba/HigherOrder/hof-905.xq (+0/-13)
test/rbkt/Queries/zorba/HigherOrder/hof-906.spec (+0/-1)
test/rbkt/Queries/zorba/HigherOrder/hof-906.xq (+0/-13)
test/rbkt/Queries/zorba/HigherOrder/hof-907.spec (+0/-1)
test/rbkt/Queries/zorba/HigherOrder/hof-907.xq (+0/-13)
test/rbkt/Queries/zorba/HigherOrder/hof-908.spec (+0/-1)
test/rbkt/Queries/zorba/HigherOrder/hof-908.xq (+0/-13)
test/rbkt/Queries/zorba/HigherOrder/hof-909.spec (+0/-1)
test/rbkt/Queries/zorba/HigherOrder/hof-909.xq (+0/-13)
test/rbkt/Queries/zorba/HigherOrder/userdefined.xsd (+0/-62)
To merge this branch: bzr merge lp:~nbrinza/zorba/hof
Reviewer Review Type Date Requested Status
Nicolae Brinza Pending
Review via email: mp+140721@code.launchpad.net

This proposal has been superseded by a proposal from 2012-12-23.

Commit message

Implementation of higher order functions.

Description of the change

Implementation of higher order functions.

To post a comment you must log in.
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :

Validation queue starting for merge proposal.
Log at: http://zorbatest.lambda.nu:8080/remotequeue/hof-2012-12-19T16-30-52.813Z/log.html

Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :

The attempt to merge lp:~nbrinza/zorba/hof into lp:zorba failed. Below is the output from the failed tests.

CMake Error at /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake:275 (message):
  Validation queue job hof-2012-12-19T16-30-52.813Z is finished. The final
  status was:

  29 tests did not succeed - changes not commited.

Error in read script: /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake

lp:~nbrinza/zorba/hof updated
10666. By Nicolae Brinza

Higher order functions work in progress (cp22)

10667. By Nicolae Brinza

Merged with Zorba trunk

10668. By Nicolae Brinza

Higher order functions work in progress (cp23)

10669. By Nicolae Brinza

Higher order functions work in progress (cp24)

10670. By Nicolae Brinza

Merged with Zorba trunk

10671. By Nicolae Brinza

Merged with Zorba trunk

10672. By Nicolae Brinza

Higher order functions work in progress (cp24 -- fixed a memory leak)

10673. By Nicolae Brinza

Merged with Zorba trunk

10674. By Nicolae Brinza

Higher order functions work in progress (cp26 -- fixed more tests)

10675. By Nicolae Brinza

Merged with Zorba trunk

10676. By Nicolae Brinza

Higher order functions work in progress (cp27)

10677. By Nicolae Brinza

Merged with Zorba trunk

10678. By Nicolae Brinza

Merged with Zorba trunk

10679. By Nicolae Brinza

Updated the iterator plans

10680. By Nicolae Brinza

Fixed a hof regression

10681. By Nicolae Brinza

Fixed a hof regression

10682. By Nicolae Brinza

Fixed hof regressions

10683. By Nicolae Brinza

Merged with Zorba trunk

10684. By Nicolae Brinza

Fixed hof regressions

10685. By Nicolae Brinza

Merged with Zorba trunk

10686. By Nicolae Brinza

Removed the test 'xquery_3_0' from expected failures as it now passes.

10687. By Nicolae Brinza

Fixed more hof regressions

10688. By Nicolae Brinza

Merged with Zorba trunk

10689. By Nicolae Brinza

Fixed more hof regressions -- fixed plan serialization working with hofs.

10690. By Nicolae Brinza

Merged with Zorba trunk

10691. By Nicolae Brinza

Added expected failures for tests with incorrect results in XQTTS

10692. By Nicolae Brinza

Added the expected failures to the w3c_known_failures.txt as well so that it gets picked up by the testdriver_mt

10693. By Nicolae Brinza

Fixed FOTS regressions

10694. By Nicolae Brinza

Attempt to remove an expected FOTS failure as the test is now passing

10695. By Nicolae Brinza

Adjusted more expected FOTS failures

10696. By Nicolae Brinza

math:pi() FOTS regression now passing.

10697. By Nicolae Brinza

HoF work in progress

10698. By Nicolae Brinza

Merged with Zorba trunk

10699. By Nicolae Brinza

Cleanup of HoF work

10700. By Nicolae Brinza

Updated iterator tree for the gflwor_04.iter test

10701. By Nicolae Brinza

HoF cleanup

10702. By Nicolae Brinza

Fixed issues reported by Markos.

10703. By Nicolae Brinza

Removed HoFs from the features system. They are now always supported.

10704. By Nicolae Brinza

Removed redundant arity checks

10705. By Nicolae Brinza

Enabled FOTS HoF tests

10706. By Nicolae Brinza

Fixed more fn:function-lookup() tests.

10707. By Nicolae Brinza

Fixed a small error in the code

10708. By Nicolae Brinza

Better static typing for dynamic_function_invocation_expr

10709. By Nicolae Brinza

The testdriver no longer attempts to set enable the HoF feature

10710. By Nicolae Brinza

dynamic_function_invocation_expr's flwor translation now uses allowing empty, so that the flow reaches the iterator and the proper error is thrown

10711. By Nicolae Brinza

Merged with Zorba trunk

10712. By Nicolae Brinza

Removed more obsolete HoF feature enabling code.

10713. By Nicolae Brinza

HoF work in progress

10714. By Nicolae Brinza

Pulled some changes from the hof-merge branch

10715. By Nicolae Brinza

Fixed fn:function-name() for coerced functions.

10716. By Nicolae Brinza

Pulled changes from the hof-merge branch

Unmerged revisions

Preview Diff

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

Subscribers

People subscribed via source and target branches