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

Proposed by Nicolae Brinza
Status: Merged
Merged at revision: 11300
Proposed branch: lp:~nbrinza/zorba/hof
Merge into: lp:zorba
Diff against target: 36770 lines (+12044/-8560)
217 files modified
include/zorba/pregenerated/diagnostic_list.h (+4/-0)
modules/w3c/pregenerated/xqt-errors.xq (+16/-0)
modules/xqxq/xqxq.xq (+0/-1)
src/api/serialization/serializer.cpp (+5/-0)
src/compiler/api/compiler_api.cpp (+4/-1)
src/compiler/api/compilercb.cpp (+5/-0)
src/compiler/codegen/plan_visitor.cpp (+257/-30)
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 (+36/-15)
src/compiler/expression/expr_iter.cpp (+17/-6)
src/compiler/expression/expr_manager.cpp (+29/-12)
src/compiler/expression/expr_manager.h (+20/-7)
src/compiler/expression/expr_put.cpp (+60/-11)
src/compiler/expression/expr_type.cpp (+31/-1)
src/compiler/expression/expr_visitor.h (+6/-5)
src/compiler/expression/function_item_expr.cpp (+87/-46)
src/compiler/expression/function_item_expr.h (+110/-39)
src/compiler/expression/var_expr.cpp (+2/-1)
src/compiler/expression/var_expr.h (+2/-0)
src/compiler/parser/xquery_parser.cpp (+5822/-5705)
src/compiler/parser/xquery_parser.hpp (+6/-6)
src/compiler/parser/xquery_parser.y (+64/-48)
src/compiler/parser/xquery_scanner.cpp (+361/-361)
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 (+15/-6)
src/compiler/parsetree/parsenode_visitor.h (+1/-0)
src/compiler/parsetree/parsenodes.cpp (+19/-2)
src/compiler/parsetree/parsenodes.h (+234/-160)
src/compiler/rewriter/framework/rewriter_context.cpp (+1/-2)
src/compiler/rewriter/rules/fold_rules.cpp (+29/-20)
src/compiler/rewriter/rules/hoist_rules.cpp (+1/-0)
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 (+1320/-840)
src/compiler/translator/translator.h (+15/-0)
src/context/dynamic_context.cpp (+35/-0)
src/context/dynamic_context.h (+8/-0)
src/context/features.cpp (+0/-5)
src/context/features.h (+3/-4)
src/context/root_static_context.cpp (+0/-1)
src/context/static_context.cpp (+47/-0)
src/context/static_context.h (+10/-1)
src/diagnostics/diagnostic_en.xml (+18/-1)
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 (+230/-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 (+18/-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 (+26/-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 (+64/-6)
src/runtime/api/plan_wrapper.cpp (+33/-12)
src/runtime/api/plan_wrapper.h (+3/-0)
src/runtime/base/plan_iterator.cpp (+53/-1)
src/runtime/base/plan_iterator.h (+39/-14)
src/runtime/core/constructors.cpp (+14/-2)
src/runtime/core/flwor_iterator.h (+50/-50)
src/runtime/core/fncall_iterator.cpp (+38/-4)
src/runtime/core/fncall_iterator.h (+8/-3)
src/runtime/core/sequencetypes.cpp (+1/-1)
src/runtime/core/var_iterators.cpp (+33/-1)
src/runtime/core/var_iterators.h (+27/-27)
src/runtime/function_item/dynamic_fncall_iterator.cpp (+125/-66)
src/runtime/function_item/dynamic_fncall_iterator.h (+53/-14)
src/runtime/function_item/function_item.cpp (+590/-86)
src/runtime/function_item/function_item.h (+137/-29)
src/runtime/function_item/function_item_iter_impl.cpp (+358/-29)
src/runtime/function_item/pregenerated/function_item_iter.cpp (+91/-26)
src/runtime/function_item/pregenerated/function_item_iter.h (+128/-15)
src/runtime/misc/materialize.h (+1/-1)
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 (+106/-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 (+4/-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 (+36/-22)
src/store/api/iterator.h (+5/-0)
src/store/api/temp_seq.h (+5/-0)
src/store/naive/atomic_items.cpp (+7/-0)
src/store/naive/atomic_items.h (+18/-4)
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 (+5/-0)
src/store/naive/simple_temp_seq.cpp (+48/-0)
src/store/naive/simple_temp_seq.h (+12/-1)
src/system/zorba_properties.h (+8/-1)
src/system/zorba_properties.txt (+1/-0)
src/types/typeimpl.cpp (+29/-5)
src/types/typeimpl.h (+15/-7)
src/types/typemanagerimpl.cpp (+21/-10)
src/types/typeops.cpp (+6/-7)
src/zorbaserialization/archiver_consts.h (+18/-15)
src/zorbaserialization/class_serializer.h (+64/-31)
src/zorbaserialization/serialize_template_types.h (+4/-0)
test/apitest.cpp (+59/-4)
test/fots/CMakeLists.txt (+12/-5)
test/fots_driver/FOTSZorbaManifest.xml (+1/-1)
test/fots_driver/cli.xq (+3/-0)
test/fots_driver/environment.xq (+3/-1)
test/fots_driver/evaluate.xq (+0/-4)
test/fots_driver/fots-driver.xq (+1/-2)
test/rbkt/ExpCompilerResults/IterPlan/zorba/collections/count_w3c_collection.iter (+1/-1)
test/rbkt/ExpCompilerResults/IterPlan/zorba/hashjoins/gflwor_04.iter (+1/-1)
test/rbkt/ExpCompilerResults/IterPlan/zorba/index/match_veq_06.iter (+1/-1)
test/rbkt/ExpCompilerResults/IterPlan/zorba/misc/inline_var1.iter (+1/-1)
test/rbkt/ExpCompilerResults/IterPlan/zorba/no-copy/dataguide-c.iter (+4/-4)
test/rbkt/ExpCompilerResults/IterPlan/zorba/no-copy/dataguide-nc.iter (+4/-4)
test/rbkt/ExpCompilerResults/IterPlan/zorba/no-copy/dataguide2-c.iter (+4/-4)
test/rbkt/ExpCompilerResults/IterPlan/zorba/no-copy/dataguide2-nc.iter (+4/-4)
test/rbkt/ExpCompilerResults/IterPlan/zorba/no-copy/udfs1.iter (+3/-3)
test/rbkt/ExpCompilerResults/IterPlan/zorba/optim/hoist01.iter (+1/-1)
test/rbkt/ExpCompilerResults/IterPlan/zorba/udf/udf-fib-rec2.iter (+3/-3)
test/rbkt/ExpCompilerResults/IterPlan/zorba/udf/udf-recursive-1.iter (+6/-6)
test/rbkt/ExpCompilerResults/IterPlan/zorba/udf/udf-recursive-2.iter (+3/-3)
test/rbkt/ExpCompilerResults/IterPlan/zorba/udf/udf1.iter (+1/-1)
test/rbkt/ExpCompilerResults/IterPlan/zorba/xray/ppm_10.iter (+22/-22)
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/ExpQueryResults/zorba/introspection/introsp-fn-7.xml.res (+1/-1)
test/rbkt/Queries/CMakeLists.txt (+17/-2)
test/rbkt/Queries/w3c_known_failures.txt (+4/-0)
test/rbkt/Queries/w3c_known_failures_XQueryX.txt (+4/-0)
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-020.xq (+0/-3)
test/rbkt/Queries/zorba/HigherOrder/hof-022.xq (+0/-1)
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-033.xq (+0/-3)
test/rbkt/Queries/zorba/HigherOrder/hof-034.xq (+0/-3)
test/rbkt/Queries/zorba/HigherOrder/hof-035.xq (+0/-3)
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-102.xq (+0/-1)
test/rbkt/Queries/zorba/HigherOrder/hof-103.xq (+0/-1)
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)
test/rbkt/Queries/zorba/casting/notation.xq (+0/-3)
test/rbkt/Queries/zorba/jsoniq/coll_dyn_01.xq (+1/-1)
test/rbkt/Queries/zorba/jsoniq/coll_dyn_03.xq (+1/-1)
test/rbkt/Queries/zorba/xqxq/error-in-query.xq (+0/-1)
test/rbkt/Queries/zorba/xqxq/uri-mapper.xq (+0/-1)
test/rbkt/Queries/zorba/xqxq/uri-mapper2.xq (+0/-1)
test/rbkt/Queries/zorba/xqxq/url-module-resolver.xq (+0/-1)
test/rbkt/Queries/zorba/xqxq/url-schema-resolver.xq (+0/-1)
test/rbkt/Queries/zorba/xqxq/url-schema-resolver2.xq (+0/-1)
test/rbkt/Queries/zorba/xqxq/url-schema-resolver3.xq (+0/-1)
test/rbkt/testdriver.cpp (+0/-1)
test/rbkt/testdriver_mt.cpp (+0/-1)
test/update/updtestdriver.cpp (+0/-1)
To merge this branch: bzr merge lp:~nbrinza/zorba/hof
Reviewer Review Type Date Requested Status
Nicolae Brinza Pending
Review via email: mp+151660@code.launchpad.net

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-2013-03-05T00-49-26.585Z/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-2013-03-05T00-49-26.585Z is finished. The final
  status was:

  2 tests did not succeed - changes not commited.

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

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-2013-03-05T01-36-25.371Z/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-2013-03-05T01-36-25.371Z is finished. The final
  status was:

  1 tests did not succeed - changes not commited.

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

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-2013-03-05T02-53-19.978Z/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-2013-03-05T02-53-19.978Z is finished. The final
  status was:

  1 tests did not succeed - changes not commited.

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

lp:~nbrinza/zorba/hof updated
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

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

Subscribers

People subscribed via source and target branches