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: 37920 lines (+13066/-9524)
190 files modified
include/zorba/pregenerated/diagnostic_list.h (+4/-0)
modules/w3c/pregenerated/xqt-errors.xq (+16/-0)
src/api/serialization/serializer.cpp (+5/-0)
src/compiler/api/compiler_api.cpp (+1/-1)
src/compiler/codegen/plan_visitor.cpp (+249/-28)
src/compiler/expression/abstract_expr_visitor.h (+7/-6)
src/compiler/expression/expr_base.cpp (+7/-0)
src/compiler/expression/expr_base.h (+3/-0)
src/compiler/expression/expr_classes.h (+1/-0)
src/compiler/expression/expr_clone.cpp (+37/-15)
src/compiler/expression/expr_iter.cpp (+23/-6)
src/compiler/expression/expr_manager.cpp (+27/-12)
src/compiler/expression/expr_manager.h (+18/-7)
src/compiler/expression/expr_put.cpp (+62/-11)
src/compiler/expression/expr_type.cpp (+7/-0)
src/compiler/expression/expr_visitor.h (+6/-5)
src/compiler/expression/function_item_expr.cpp (+79/-40)
src/compiler/expression/function_item_expr.h (+77/-32)
src/compiler/expression/var_expr.cpp (+2/-1)
src/compiler/expression/var_expr.h (+2/-0)
src/compiler/parser/xquery_parser.cpp (+7005/-6829)
src/compiler/parser/xquery_parser.hpp (+18/-59)
src/compiler/parser/xquery_parser.y (+32/-8)
src/compiler/parser/xquery_scanner.cpp (+360/-360)
src/compiler/parsetree/parsenode_print_xml_visitor.cpp (+1/-0)
src/compiler/parsetree/parsenode_print_xqdoc_visitor.cpp (+15/-14)
src/compiler/parsetree/parsenode_print_xquery_visitor.cpp (+15/-6)
src/compiler/parsetree/parsenode_visitor.h (+1/-0)
src/compiler/parsetree/parsenodes.cpp (+19/-2)
src/compiler/parsetree/parsenodes.h (+32/-6)
src/compiler/rewriter/framework/rewriter_context.cpp (+1/-2)
src/compiler/rewriter/rules/fold_rules.cpp (+29/-20)
src/compiler/rewriter/rules/hoist_rules.cpp (+1/-0)
src/compiler/rewriter/rules/nodeid_rules.cpp (+11/-7)
src/compiler/rewriter/tools/dataflow_annotations.cpp (+8/-0)
src/compiler/rewriter/tools/udf_graph.cpp (+7/-3)
src/compiler/translator/translator.cpp (+1492/-854)
src/compiler/translator/translator.h (+15/-0)
src/context/dynamic_context.cpp (+31/-0)
src/context/dynamic_context.h (+8/-0)
src/context/root_static_context.cpp (+1/-1)
src/context/static_context.cpp (+47/-0)
src/context/static_context.h (+10/-1)
src/diagnostics/diagnostic_en.xml (+14/-0)
src/diagnostics/pregenerated/diagnostic_list.cpp (+6/-0)
src/diagnostics/pregenerated/dict_en.cpp (+2/-0)
src/functions/CMakeLists.txt (+1/-0)
src/functions/func_hof_impl.cpp (+216/-0)
src/functions/func_hof_impl.h (+38/-0)
src/functions/func_sequences_impl.cpp (+2/-0)
src/functions/function.h (+4/-4)
src/functions/function_consts.h (+3/-0)
src/functions/library.cpp (+2/-0)
src/functions/pregenerated/func_function_item_iter.cpp (+27/-29)
src/functions/pregenerated/func_function_item_iter.h (+50/-5)
src/functions/pregenerated/func_numerics.cpp (+2/-2)
src/functions/pregenerated/function_enum.h (+4/-2)
src/functions/signature.cpp (+122/-87)
src/functions/signature.h (+10/-0)
src/functions/udf.cpp (+26/-1)
src/functions/udf.h (+2/-2)
src/runtime/accessors/accessors_impl.cpp (+3/-2)
src/runtime/api/plan_iterator_wrapper.cpp (+133/-7)
src/runtime/api/plan_iterator_wrapper.h (+66/-7)
src/runtime/api/plan_wrapper.cpp (+33/-12)
src/runtime/api/plan_wrapper.h (+3/-0)
src/runtime/base/plan_iterator.cpp (+71/-2)
src/runtime/base/plan_iterator.h (+40/-24)
src/runtime/core/constructors.cpp (+14/-2)
src/runtime/core/flwor_iterator.h (+50/-50)
src/runtime/core/fncall_iterator.cpp (+53/-20)
src/runtime/core/fncall_iterator.h (+24/-17)
src/runtime/core/item_iterator.cpp (+403/-16)
src/runtime/core/item_iterator.h (+67/-19)
src/runtime/core/sequencetypes.cpp (+1/-1)
src/runtime/core/var_iterators.cpp (+33/-1)
src/runtime/core/var_iterators.h (+27/-27)
src/runtime/function_item/dynamic_fncall_iterator.cpp (+114/-64)
src/runtime/function_item/dynamic_fncall_iterator.h (+56/-14)
src/runtime/function_item/function_item.cpp (+208/-85)
src/runtime/function_item/function_item.h (+87/-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/system/zorba_properties.h (+8/-1)
src/system/zorba_properties.txt (+1/-0)
src/types/typeimpl.cpp (+5/-3)
src/types/typeimpl.h (+1/-1)
src/types/typemanagerimpl.cpp (+14/-3)
src/types/typeops.cpp (+7/-2)
src/zorbaserialization/archiver_consts.h (+18/-15)
src/zorbaserialization/class_serializer.h (+21/-14)
src/zorbaserialization/serialize_template_types.h (+4/-0)
test/apitest.cpp (+58/-4)
test/fots/CMakeLists.txt (+19/-3)
test/rbkt/ExpCompilerResults/IterPlan/zorba/collections/count_w3c_collection.iter (+1/-1)
test/rbkt/ExpCompilerResults/IterPlan/zorba/index/match_veq_06.iter (+1/-1)
test/rbkt/ExpCompilerResults/IterPlan/zorba/misc/inline_var1.iter (+1/-1)
test/rbkt/ExpCompilerResults/IterPlan/zorba/no-copy/dataguide-c.iter (+4/-4)
test/rbkt/ExpCompilerResults/IterPlan/zorba/no-copy/dataguide-nc.iter (+4/-4)
test/rbkt/ExpCompilerResults/IterPlan/zorba/no-copy/dataguide2-c.iter (+4/-4)
test/rbkt/ExpCompilerResults/IterPlan/zorba/no-copy/dataguide2-nc.iter (+4/-4)
test/rbkt/ExpCompilerResults/IterPlan/zorba/no-copy/udfs1.iter (+3/-3)
test/rbkt/ExpCompilerResults/IterPlan/zorba/optim/hoist01.iter (+1/-1)
test/rbkt/ExpCompilerResults/IterPlan/zorba/udf/udf-fib-rec2.iter (+3/-3)
test/rbkt/ExpCompilerResults/IterPlan/zorba/udf/udf-recursive-1.iter (+6/-6)
test/rbkt/ExpCompilerResults/IterPlan/zorba/udf/udf-recursive-2.iter (+3/-3)
test/rbkt/ExpCompilerResults/IterPlan/zorba/udf/udf1.iter (+1/-1)
test/rbkt/ExpCompilerResults/IterPlan/zorba/xray/ppm_10.iter (+22/-22)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-001.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-002.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-003.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-004.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-005.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-006.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-010.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-011.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-012.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-013.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-014.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-015.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-023.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-025.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-026.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-032.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-037.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-038.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-039.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/HigherOrder/hof-904.xml.res (+0/-1)
test/rbkt/ExpQueryResults/zorba/introspection/introsp-fn-7.xml.res (+1/-1)
test/rbkt/Queries/CMakeLists.txt (+17/-2)
test/rbkt/Queries/w3c_known_failures.txt (+4/-0)
test/rbkt/Queries/w3c_known_failures_XQueryX.txt (+4/-0)
test/rbkt/Queries/zorba/HigherOrder/hof-001.xq (+0/-13)
test/rbkt/Queries/zorba/HigherOrder/hof-002.xq (+0/-17)
test/rbkt/Queries/zorba/HigherOrder/hof-003.lib (+0/-10)
test/rbkt/Queries/zorba/HigherOrder/hof-003.xq (+0/-11)
test/rbkt/Queries/zorba/HigherOrder/hof-004.xq (+0/-9)
test/rbkt/Queries/zorba/HigherOrder/hof-023.xq (+0/-11)
test/rbkt/Queries/zorba/HigherOrder/hof-025.xq (+0/-11)
test/rbkt/Queries/zorba/HigherOrder/hof-026.xq (+0/-17)
test/rbkt/Queries/zorba/HigherOrder/hof-032.xq (+0/-10)
test/rbkt/Queries/zorba/HigherOrder/hof-037.xq (+0/-17)
test/rbkt/Queries/zorba/HigherOrder/hof-038.xq (+0/-18)
test/rbkt/Queries/zorba/HigherOrder/hof-039.xq (+0/-22)
test/rbkt/Queries/zorba/HigherOrder/hof-101.xq.failing (+0/-7)
test/rbkt/Queries/zorba/HigherOrder/hof-901.spec (+0/-1)
test/rbkt/Queries/zorba/HigherOrder/hof-901.xq (+0/-13)
test/rbkt/Queries/zorba/HigherOrder/hof-902.spec (+0/-1)
test/rbkt/Queries/zorba/HigherOrder/hof-902.xq (+0/-13)
test/rbkt/Queries/zorba/HigherOrder/hof-904.xq (+0/-13)
test/rbkt/Queries/zorba/HigherOrder/hof-905.spec (+0/-1)
test/rbkt/Queries/zorba/HigherOrder/hof-905.xq (+0/-13)
test/rbkt/Queries/zorba/HigherOrder/hof-906.spec (+0/-1)
test/rbkt/Queries/zorba/HigherOrder/hof-906.xq (+0/-13)
test/rbkt/Queries/zorba/HigherOrder/hof-907.spec (+0/-1)
test/rbkt/Queries/zorba/HigherOrder/hof-907.xq (+0/-13)
test/rbkt/Queries/zorba/HigherOrder/hof-908.spec (+0/-1)
test/rbkt/Queries/zorba/HigherOrder/hof-908.xq (+0/-13)
test/rbkt/Queries/zorba/HigherOrder/hof-909.spec (+0/-1)
test/rbkt/Queries/zorba/HigherOrder/hof-909.xq (+0/-13)
test/rbkt/Queries/zorba/HigherOrder/userdefined.xsd (+0/-62)
To merge this branch: bzr merge lp:~nbrinza/zorba/hof
Reviewer Review Type Date Requested Status
Nicolae Brinza Pending
Review via email: mp+150791@code.launchpad.net

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

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

Commit message

Implementation of higher order functions.

Description of the change

Implementation of higher order functions.

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

Validation queue starting for merge proposal.
Log at: http://zorbatest.lambda.nu:8080/remotequeue/hof-2013-02-12T14-18-33.969Z/log.html

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

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

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

  13 tests did not succeed - changes not commited.

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

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

Validation queue starting for merge proposal.
Log at: http://zorbatest.lambda.nu:8080/remotequeue/hof-2013-02-15T12-11-21.543Z/log.html

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

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

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

  10 tests did not succeed - changes not commited.

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

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

Validation queue starting for merge proposal.
Log at: http://zorbatest.lambda.nu:8080/remotequeue/hof-2013-02-26T23-59-22.762Z/log.html

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

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

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

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

Validation queue starting for merge proposal.
Log at: http://zorbatest.lambda.nu:8080/remotequeue/hof-2013-02-27T02-47-40.428Z/log.html

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

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

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

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

Validation queue starting for merge proposal.
Log at: http://zorbatest.lambda.nu:8080/remotequeue/hof-2013-02-27T03-18-22.196Z/log.html

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

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

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

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

Validation queue starting for merge proposal.
Log at: http://zorbatest.lambda.nu:8080/remotequeue/hof-2013-02-27T10-41-28.476Z/log.html

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

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

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

  4 tests did not succeed - changes not commited.

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

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

Validation queue starting for merge proposal.
Log at: http://zorbatest.lambda.nu:8080/remotequeue/hof-2013-02-27T13-23-20.254Z/log.html

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

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

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

  4 tests did not succeed - changes not commited.

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

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

math:pi() FOTS regression now passing.

10697. By Nicolae Brinza

HoF work in progress

10698. By Nicolae Brinza

Merged with Zorba trunk

10699. By Nicolae Brinza

Cleanup of HoF work

10700. By Nicolae Brinza

Updated iterator tree for the gflwor_04.iter test

10701. By Nicolae Brinza

HoF cleanup

10702. By Nicolae Brinza

Fixed issues reported by Markos.

10703. By Nicolae Brinza

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

10704. By Nicolae Brinza

Removed redundant arity checks

10705. By Nicolae Brinza

Enabled FOTS HoF tests

10706. By Nicolae Brinza

Fixed more fn:function-lookup() tests.

10707. By Nicolae Brinza

Fixed a small error in the code

10708. By Nicolae Brinza

Better static typing for dynamic_function_invocation_expr

10709. By Nicolae Brinza

The testdriver no longer attempts to set enable the HoF feature

10710. By Nicolae Brinza

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

10711. By Nicolae Brinza

Merged with Zorba trunk

10712. By Nicolae Brinza

Removed more obsolete HoF feature enabling code.

10713. By Nicolae Brinza

HoF work in progress

10714. By Nicolae Brinza

Pulled some changes from the hof-merge branch

10715. By Nicolae Brinza

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

10716. By Nicolae Brinza

Pulled changes from the hof-merge branch

Unmerged revisions

Preview Diff

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

Subscribers

People subscribed via source and target branches