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: 37767 lines (+13009/-9521)
187 files modified
include/zorba/pregenerated/diagnostic_list.h (+4/-0)
modules/w3c/pregenerated/xqt-errors.xq (+16/-0)
src/api/serialization/serializer.cpp (+5/-0)
src/compiler/api/compiler_api.cpp (+1/-1)
src/compiler/codegen/plan_visitor.cpp (+249/-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 (+7/-0)
src/compiler/expression/expr_visitor.h (+6/-5)
src/compiler/expression/function_item_expr.cpp (+77/-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 (+31/-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 (+71/-2)
src/runtime/base/plan_iterator.h (+40/-24)
src/runtime/core/constructors.cpp (+14/-2)
src/runtime/core/flwor_iterator.h (+50/-50)
src/runtime/core/fncall_iterator.cpp (+47/-20)
src/runtime/core/fncall_iterator.h (+24/-17)
src/runtime/core/item_iterator.cpp (+404/-16)
src/runtime/core/item_iterator.h (+67/-19)
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 (+209/-85)
src/runtime/function_item/function_item.h (+84/-29)
src/runtime/function_item/function_item_iter_impl.cpp (+352/-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.cpp (+8/-0)
src/runtime/misc/materialize.h (+2/-0)
src/runtime/numerics/numerics_impl.cpp (+6/-3)
src/runtime/pregenerated/iterator_enum.h (+3/-1)
src/runtime/sequences/sequences_impl.cpp (+15/-15)
src/runtime/spec/function_item/function_item_iter.xml (+100/-30)
src/runtime/spec/numerics/numerics.xml (+2/-2)
src/runtime/spec/printer_visitor_cpp.xq (+4/-0)
src/runtime/strings/strings_impl.cpp (+20/-9)
src/runtime/util/item_iterator.cpp (+9/-0)
src/runtime/util/item_iterator.h (+3/-0)
src/runtime/visitors/planiter_visitor_impl_code.h (+3/-0)
src/runtime/visitors/planiter_visitor_impl_include.h (+2/-0)
src/runtime/visitors/pregenerated/planiter_visitor.h (+13/-3)
src/runtime/visitors/pregenerated/printer_visitor.cpp (+44/-12)
src/runtime/visitors/pregenerated/printer_visitor.h (+8/-2)
src/runtime/visitors/printer_visitor_impl.cpp (+40/-9)
src/runtime/visitors/printer_visitor_impl.h (+4/-0)
src/store/api/item.h (+36/-22)
src/store/api/iterator.h (+4/-0)
src/store/api/temp_seq.h (+5/-0)
src/store/naive/atomic_items.cpp (+7/-0)
src/store/naive/atomic_items.h (+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 (+4/-0)
src/store/naive/simple_temp_seq.cpp (+48/-0)
src/store/naive/simple_temp_seq.h (+11/-1)
src/system/zorba_properties.h (+8/-1)
src/system/zorba_properties.txt (+1/-0)
src/types/typeimpl.cpp (+5/-3)
src/types/typeimpl.h (+1/-1)
src/types/typemanagerimpl.cpp (+14/-3)
src/types/typeops.cpp (+7/-2)
src/zorbaserialization/archiver_consts.h (+18/-15)
src/zorbaserialization/class_serializer.h (+21/-14)
src/zorbaserialization/serialize_template_types.h (+4/-0)
test/apitest.cpp (+58/-4)
test/rbkt/ExpCompilerResults/IterPlan/zorba/collections/count_w3c_collection.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 (+0/-2)
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+148686@code.launchpad.net

This proposal supersedes a proposal from 2013-02-12.

This proposal has been superseded by a proposal from 2013-02-26.

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

Validation queue starting for merge proposal.
Log at: http://zorbatest.lambda.nu:8080/remotequeue/hof-2013-02-12T14-18-33.969Z/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-02-12T14-18-33.969Z is finished. The final
  status was:

  13 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-02-15T12-11-21.543Z/log.html

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

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

CMake Error at /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake:275 (message):
  Validation queue job hof-2013-02-15T12-11-21.543Z is finished. The final
  status was:

  10 tests did not succeed - changes not commited.

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

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

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

10690. By Nicolae Brinza

Merged with Zorba trunk

10691. By Nicolae Brinza

Added expected failures for tests with incorrect results in XQTTS

10692. By Nicolae Brinza

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

10693. By Nicolae Brinza

Fixed FOTS regressions

10694. By Nicolae Brinza

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

10695. By Nicolae Brinza

Adjusted more expected FOTS failures

10696. By Nicolae Brinza

math:pi() FOTS regression now passing.

10697. By Nicolae Brinza

HoF work in progress

10698. By Nicolae Brinza

Merged with Zorba trunk

10699. By Nicolae Brinza

Cleanup of HoF work

10700. By Nicolae Brinza

Updated iterator tree for the gflwor_04.iter test

10701. By Nicolae Brinza

HoF cleanup

10702. By Nicolae Brinza

Fixed issues reported by Markos.

10703. By Nicolae Brinza

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

10704. By Nicolae Brinza

Removed redundant arity checks

10705. By Nicolae Brinza

Enabled FOTS HoF tests

10706. By Nicolae Brinza

Fixed more fn:function-lookup() tests.

10707. By Nicolae Brinza

Fixed a small error in the code

10708. By Nicolae Brinza

Better static typing for dynamic_function_invocation_expr

10709. By Nicolae Brinza

The testdriver no longer attempts to set enable the HoF feature

10710. By Nicolae Brinza

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

10711. By Nicolae Brinza

Merged with Zorba trunk

10712. By Nicolae Brinza

Removed more obsolete HoF feature enabling code.

10713. By Nicolae Brinza

HoF work in progress

10714. By Nicolae Brinza

Pulled some changes from the hof-merge branch

10715. By Nicolae Brinza

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

10716. By Nicolae Brinza

Pulled changes from the hof-merge branch

Unmerged revisions

Preview Diff

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

Subscribers

People subscribed via source and target branches