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

Proposed by Nicolae Brinza
Status: Superseded
Proposed branch: lp:~nbrinza/zorba/hof
Merge into: lp:zorba
Diff against target: 37622 lines (+13008/-9485)
189 files modified
include/zorba/pregenerated/diagnostic_list.h (+4/-0)
modules/w3c/pregenerated/xqt-errors.xq (+16/-0)
src/api/serialization/serializer.cpp (+5/-0)
src/compiler/api/compiler_api.cpp (+4/-1)
src/compiler/api/compilercb.cpp (+5/-0)
src/compiler/codegen/plan_visitor.cpp (+252/-28)
src/compiler/expression/abstract_expr_visitor.h (+7/-6)
src/compiler/expression/expr_base.cpp (+7/-0)
src/compiler/expression/expr_base.h (+3/-0)
src/compiler/expression/expr_classes.h (+1/-0)
src/compiler/expression/expr_clone.cpp (+37/-15)
src/compiler/expression/expr_iter.cpp (+23/-6)
src/compiler/expression/expr_manager.cpp (+27/-12)
src/compiler/expression/expr_manager.h (+18/-7)
src/compiler/expression/expr_put.cpp (+62/-11)
src/compiler/expression/expr_type.cpp (+10/-1)
src/compiler/expression/expr_visitor.h (+6/-5)
src/compiler/expression/function_item_expr.cpp (+79/-40)
src/compiler/expression/function_item_expr.h (+77/-32)
src/compiler/expression/var_expr.cpp (+2/-1)
src/compiler/expression/var_expr.h (+2/-0)
src/compiler/parser/xquery_parser.cpp (+7005/-6829)
src/compiler/parser/xquery_parser.hpp (+18/-59)
src/compiler/parser/xquery_parser.y (+32/-8)
src/compiler/parser/xquery_scanner.cpp (+360/-360)
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 (+32/-6)
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 (+1492/-854)
src/compiler/translator/translator.h (+15/-0)
src/context/dynamic_context.cpp (+35/-0)
src/context/dynamic_context.h (+8/-0)
src/context/root_static_context.cpp (+1/-1)
src/context/static_context.cpp (+47/-0)
src/context/static_context.h (+10/-1)
src/diagnostics/diagnostic_en.xml (+14/-0)
src/diagnostics/pregenerated/diagnostic_list.cpp (+6/-0)
src/diagnostics/pregenerated/dict_en.cpp (+2/-0)
src/functions/CMakeLists.txt (+1/-0)
src/functions/func_hof_impl.cpp (+216/-0)
src/functions/func_hof_impl.h (+38/-0)
src/functions/func_sequences_impl.cpp (+2/-0)
src/functions/function.h (+4/-4)
src/functions/function_consts.h (+3/-0)
src/functions/library.cpp (+2/-0)
src/functions/pregenerated/func_function_item_iter.cpp (+27/-29)
src/functions/pregenerated/func_function_item_iter.h (+50/-5)
src/functions/pregenerated/func_numerics.cpp (+2/-2)
src/functions/pregenerated/function_enum.h (+4/-2)
src/functions/signature.cpp (+122/-87)
src/functions/signature.h (+10/-0)
src/functions/udf.cpp (+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 (+66/-7)
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 (+24/-17)
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 (+114/-64)
src/runtime/function_item/dynamic_fncall_iterator.h (+56/-14)
src/runtime/function_item/function_item.cpp (+557/-86)
src/runtime/function_item/function_item.h (+132/-29)
src/runtime/function_item/function_item_iter_impl.cpp (+363/-29)
src/runtime/function_item/pregenerated/function_item_iter.cpp (+89/-26)
src/runtime/function_item/pregenerated/function_item_iter.h (+124/-15)
src/runtime/misc/materialize.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 (+100/-30)
src/runtime/spec/numerics/numerics.xml (+2/-2)
src/runtime/spec/printer_visitor_cpp.xq (+4/-0)
src/runtime/strings/strings_impl.cpp (+20/-9)
src/runtime/util/item_iterator.cpp (+9/-0)
src/runtime/util/item_iterator.h (+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 (+4/-3)
src/types/typeimpl.h (+1/-1)
src/types/typemanagerimpl.cpp (+14/-3)
src/types/typeops.cpp (+1/-2)
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 (+13/-5)
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-023.xq (+0/-11)
test/rbkt/Queries/zorba/HigherOrder/hof-025.xq (+0/-11)
test/rbkt/Queries/zorba/HigherOrder/hof-026.xq (+0/-17)
test/rbkt/Queries/zorba/HigherOrder/hof-032.xq (+0/-10)
test/rbkt/Queries/zorba/HigherOrder/hof-037.xq (+0/-17)
test/rbkt/Queries/zorba/HigherOrder/hof-038.xq (+0/-18)
test/rbkt/Queries/zorba/HigherOrder/hof-039.xq (+0/-22)
test/rbkt/Queries/zorba/HigherOrder/hof-101.xq.failing (+0/-7)
test/rbkt/Queries/zorba/HigherOrder/hof-901.spec (+0/-1)
test/rbkt/Queries/zorba/HigherOrder/hof-901.xq (+0/-13)
test/rbkt/Queries/zorba/HigherOrder/hof-902.spec (+0/-1)
test/rbkt/Queries/zorba/HigherOrder/hof-902.xq (+0/-13)
test/rbkt/Queries/zorba/HigherOrder/hof-904.xq (+0/-13)
test/rbkt/Queries/zorba/HigherOrder/hof-905.spec (+0/-1)
test/rbkt/Queries/zorba/HigherOrder/hof-905.xq (+0/-13)
test/rbkt/Queries/zorba/HigherOrder/hof-906.spec (+0/-1)
test/rbkt/Queries/zorba/HigherOrder/hof-906.xq (+0/-13)
test/rbkt/Queries/zorba/HigherOrder/hof-907.spec (+0/-1)
test/rbkt/Queries/zorba/HigherOrder/hof-907.xq (+0/-13)
test/rbkt/Queries/zorba/HigherOrder/hof-908.spec (+0/-1)
test/rbkt/Queries/zorba/HigherOrder/hof-908.xq (+0/-13)
test/rbkt/Queries/zorba/HigherOrder/hof-909.spec (+0/-1)
test/rbkt/Queries/zorba/HigherOrder/hof-909.xq (+0/-13)
test/rbkt/Queries/zorba/HigherOrder/userdefined.xsd (+0/-62)
To merge this branch: bzr merge lp:~nbrinza/zorba/hof
Reviewer Review Type Date Requested Status
Nicolae Brinza Pending
Review via email: mp+151650@code.launchpad.net

This proposal supersedes a proposal from 2013-03-04.

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 : Posted in a previous version of this proposal

Attempt to merge into lp:zorba failed due to conflicts:

text conflict in test/rbkt/ExpCompilerResults/IterPlan/zorba/optim/hoist01.iter

Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal

Validation queue starting for merge proposal.
Log at: http://zorbatest.lambda.nu:8080/remotequeue/hof-2013-03-04T22-44-26.059Z/log.html

Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal

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-04T22-44-26.059Z is finished. The final
  status was:

  No tests were run - build or configure step must have failed.

  Not commiting changes.

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

Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal

Validation queue starting for merge proposal.
Log at: http://zorbatest.lambda.nu:8080/remotequeue/hof-2013-03-04T23-05-21.304Z/log.html

Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal

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-04T23-05-21.304Z 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-04T23-43-28.732Z/log.html

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

Validation queue job hof-2013-03-04T23-43-28.732Z is finished. The final status was:

All tests succeeded!

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

Voting does not meet specified criteria. Required: Approve > 1, Disapprove < 1, Needs Fixing < 1, Pending < 1. Got: 1 Pending.

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

HoF cleanup

10702. By Nicolae Brinza

Fixed issues reported by Markos.

10703. By Nicolae Brinza

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

10704. By Nicolae Brinza

Removed redundant arity checks

10705. By Nicolae Brinza

Enabled FOTS HoF tests

10706. By Nicolae Brinza

Fixed more fn:function-lookup() tests.

10707. By Nicolae Brinza

Fixed a small error in the code

10708. By Nicolae Brinza

Better static typing for dynamic_function_invocation_expr

10709. By Nicolae Brinza

The testdriver no longer attempts to set enable the HoF feature

10710. By Nicolae Brinza

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

10711. By Nicolae Brinza

Merged with Zorba trunk

10712. By Nicolae Brinza

Removed more obsolete HoF feature enabling code.

10713. By Nicolae Brinza

HoF work in progress

10714. By Nicolae Brinza

Pulled some changes from the hof-merge branch

10715. By Nicolae Brinza

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

10716. By Nicolae Brinza

Pulled changes from the hof-merge branch

Unmerged revisions

Preview Diff

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

Subscribers

People subscribed via source and target branches