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: 37128 lines (+12724/-9462)
167 files modified
include/zorba/pregenerated/diagnostic_list.h (+4/-0)
modules/w3c/pregenerated/xqt-errors.xq (+16/-0)
src/api/serialization/serializer.cpp (+5/-0)
src/compiler/api/compiler_api.cpp (+1/-1)
src/compiler/codegen/plan_visitor.cpp (+129/-28)
src/compiler/expression/abstract_expr_visitor.h (+7/-6)
src/compiler/expression/expr_base.cpp (+7/-0)
src/compiler/expression/expr_base.h (+3/-0)
src/compiler/expression/expr_classes.h (+1/-0)
src/compiler/expression/expr_clone.cpp (+37/-15)
src/compiler/expression/expr_iter.cpp (+23/-6)
src/compiler/expression/expr_manager.cpp (+24/-8)
src/compiler/expression/expr_manager.h (+16/-5)
src/compiler/expression/expr_put.cpp (+59/-11)
src/compiler/expression/expr_type.cpp (+7/-0)
src/compiler/expression/expr_visitor.h (+6/-5)
src/compiler/expression/function_item_expr.cpp (+66/-42)
src/compiler/expression/function_item_expr.h (+79/-30)
src/compiler/expression/var_expr.cpp (+2/-1)
src/compiler/expression/var_expr.h (+2/-0)
src/compiler/parser/xquery_parser.cpp (+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/nodeid_rules.cpp (+11/-7)
src/compiler/rewriter/tools/dataflow_annotations.cpp (+8/-0)
src/compiler/rewriter/tools/udf_graph.cpp (+7/-3)
src/compiler/translator/translator.cpp (+1454/-824)
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 (+56/-0)
src/context/static_context.h (+10/-1)
src/diagnostics/diagnostic_en.xml (+14/-0)
src/diagnostics/pregenerated/diagnostic_list.cpp (+6/-0)
src/diagnostics/pregenerated/dict_en.cpp (+2/-0)
src/functions/CMakeLists.txt (+1/-0)
src/functions/func_hof_impl.cpp (+218/-0)
src/functions/func_hof_impl.h (+38/-0)
src/functions/func_sequences_impl.cpp (+2/-0)
src/functions/function.h (+4/-4)
src/functions/function_consts.h (+3/-0)
src/functions/library.cpp (+2/-0)
src/functions/pregenerated/func_function_item_iter.cpp (+27/-29)
src/functions/pregenerated/func_function_item_iter.h (+50/-5)
src/functions/pregenerated/func_numerics.cpp (+2/-2)
src/functions/pregenerated/function_enum.h (+4/-2)
src/functions/signature.cpp (+122/-87)
src/functions/signature.h (+10/-0)
src/functions/udf.cpp (+19/-1)
src/functions/udf.h (+2/-2)
src/runtime/accessors/accessors_impl.cpp (+3/-2)
src/runtime/api/plan_iterator_wrapper.cpp (+133/-7)
src/runtime/api/plan_iterator_wrapper.h (+66/-7)
src/runtime/api/plan_wrapper.cpp (+33/-12)
src/runtime/api/plan_wrapper.h (+3/-0)
src/runtime/base/plan_iterator.cpp (+61/-2)
src/runtime/base/plan_iterator.h (+32/-24)
src/runtime/core/constructors.cpp (+14/-2)
src/runtime/core/flwor_iterator.cpp (+75/-58)
src/runtime/core/flwor_iterator.h (+50/-50)
src/runtime/core/fncall_iterator.cpp (+47/-20)
src/runtime/core/fncall_iterator.h (+24/-17)
src/runtime/core/item_iterator.cpp (+375/-16)
src/runtime/core/item_iterator.h (+70/-19)
src/runtime/core/sequencetypes.cpp (+1/-1)
src/runtime/core/var_iterators.cpp (+34/-2)
src/runtime/core/var_iterators.h (+28/-28)
src/runtime/function_item/dynamic_fncall_iterator.cpp (+100/-55)
src/runtime/function_item/dynamic_fncall_iterator.h (+57/-7)
src/runtime/function_item/function_item.cpp (+198/-84)
src/runtime/function_item/function_item.h (+86/-29)
src/runtime/function_item/function_item_iter_impl.cpp (+356/-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/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 (+20/-15)
src/zorbaserialization/class_serializer.h (+21/-14)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-001.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-002.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-003.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-004.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-005.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-006.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-010.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-011.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-012.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-013.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-014.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-015.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-023.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-025.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-026.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-032.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-037.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-038.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-039.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-904.xml.res (+0/-1)
test/rbkt/Queries/zorba/HigherOrder/hof-001.xq (+0/-13)
test/rbkt/Queries/zorba/HigherOrder/hof-002.xq (+0/-17)
test/rbkt/Queries/zorba/HigherOrder/hof-003.lib (+0/-10)
test/rbkt/Queries/zorba/HigherOrder/hof-003.xq (+0/-11)
test/rbkt/Queries/zorba/HigherOrder/hof-004.xq (+0/-9)
test/rbkt/Queries/zorba/HigherOrder/hof-023.xq (+0/-11)
test/rbkt/Queries/zorba/HigherOrder/hof-025.xq (+0/-11)
test/rbkt/Queries/zorba/HigherOrder/hof-026.xq (+0/-17)
test/rbkt/Queries/zorba/HigherOrder/hof-032.xq (+0/-10)
test/rbkt/Queries/zorba/HigherOrder/hof-037.xq (+0/-17)
test/rbkt/Queries/zorba/HigherOrder/hof-038.xq (+0/-18)
test/rbkt/Queries/zorba/HigherOrder/hof-039.xq (+0/-22)
test/rbkt/Queries/zorba/HigherOrder/hof-101.xq.failing (+0/-7)
test/rbkt/Queries/zorba/HigherOrder/hof-901.spec (+0/-1)
test/rbkt/Queries/zorba/HigherOrder/hof-901.xq (+0/-13)
test/rbkt/Queries/zorba/HigherOrder/hof-902.spec (+0/-1)
test/rbkt/Queries/zorba/HigherOrder/hof-902.xq (+0/-13)
test/rbkt/Queries/zorba/HigherOrder/hof-904.xq (+0/-13)
test/rbkt/Queries/zorba/HigherOrder/hof-905.spec (+0/-1)
test/rbkt/Queries/zorba/HigherOrder/hof-905.xq (+0/-13)
test/rbkt/Queries/zorba/HigherOrder/hof-906.spec (+0/-1)
test/rbkt/Queries/zorba/HigherOrder/hof-906.xq (+0/-13)
test/rbkt/Queries/zorba/HigherOrder/hof-907.spec (+0/-1)
test/rbkt/Queries/zorba/HigherOrder/hof-907.xq (+0/-13)
test/rbkt/Queries/zorba/HigherOrder/hof-908.spec (+0/-1)
test/rbkt/Queries/zorba/HigherOrder/hof-908.xq (+0/-13)
test/rbkt/Queries/zorba/HigherOrder/hof-909.spec (+0/-1)
test/rbkt/Queries/zorba/HigherOrder/hof-909.xq (+0/-13)
test/rbkt/Queries/zorba/HigherOrder/userdefined.xsd (+0/-62)
To merge this branch: bzr merge lp:~nbrinza/zorba/hof
Reviewer Review Type Date Requested Status
Nicolae Brinza Pending
Review via email: mp+144533@code.launchpad.net

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

Commit message

Implementation of higher order functions.

Description of the change

Implementation of higher order functions.

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

Validation queue starting for merge proposal.
Log at: http://zorbatest.lambda.nu:8080/remotequeue/hof-2013-01-23T16-47-10.293Z/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-01-23T16-47-10.293Z is finished. The final
  status was:

  69 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 :

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

text conflict in src/compiler/translator/translator.cpp
text conflict in src/types/typeops.cpp

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

Higher order functions work in progress (cp27)

10677. By Nicolae Brinza

Merged with Zorba trunk

10678. By Nicolae Brinza

Merged with Zorba trunk

10679. By Nicolae Brinza

Updated the iterator plans

10680. By Nicolae Brinza

Fixed a hof regression

10681. By Nicolae Brinza

Fixed a hof regression

10682. By Nicolae Brinza

Fixed hof regressions

10683. By Nicolae Brinza

Merged with Zorba trunk

10684. By Nicolae Brinza

Fixed hof regressions

10685. By Nicolae Brinza

Merged with Zorba trunk

10686. By Nicolae Brinza

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

10687. By Nicolae Brinza

Fixed more hof regressions

10688. By Nicolae Brinza

Merged with Zorba trunk

10689. By Nicolae Brinza

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

10690. By Nicolae Brinza

Merged with Zorba trunk

10691. By Nicolae Brinza

Added expected failures for tests with incorrect results in XQTTS

10692. By Nicolae Brinza

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

10693. By Nicolae Brinza

Fixed FOTS regressions

10694. By Nicolae Brinza

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

10695. By Nicolae Brinza

Adjusted more expected FOTS failures

10696. By Nicolae Brinza

math:pi() FOTS regression now passing.

10697. By Nicolae Brinza

HoF work in progress

10698. By Nicolae Brinza

Merged with Zorba trunk

10699. By Nicolae Brinza

Cleanup of HoF work

10700. By Nicolae Brinza

Updated iterator tree for the gflwor_04.iter test

10701. By Nicolae Brinza

HoF cleanup

10702. By Nicolae Brinza

Fixed issues reported by Markos.

10703. By Nicolae Brinza

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

10704. By Nicolae Brinza

Removed redundant arity checks

10705. By Nicolae Brinza

Enabled FOTS HoF tests

10706. By Nicolae Brinza

Fixed more fn:function-lookup() tests.

10707. By Nicolae Brinza

Fixed a small error in the code

10708. By Nicolae Brinza

Better static typing for dynamic_function_invocation_expr

10709. By Nicolae Brinza

The testdriver no longer attempts to set enable the HoF feature

10710. By Nicolae Brinza

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

10711. By Nicolae Brinza

Merged with Zorba trunk

10712. By Nicolae Brinza

Removed more obsolete HoF feature enabling code.

10713. By Nicolae Brinza

HoF work in progress

10714. By Nicolae Brinza

Pulled some changes from the hof-merge branch

10715. By Nicolae Brinza

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

10716. By Nicolae Brinza

Pulled changes from the hof-merge branch

Unmerged revisions

Preview Diff

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

Subscribers

People subscribed via source and target branches