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: 37948 lines (+13084/-9526) (has conflicts)
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 (+252/-28)
src/compiler/expression/abstract_expr_visitor.h (+7/-6)
src/compiler/expression/expr_base.cpp (+7/-0)
src/compiler/expression/expr_base.h (+3/-0)
src/compiler/expression/expr_classes.h (+1/-0)
src/compiler/expression/expr_clone.cpp (+37/-15)
src/compiler/expression/expr_iter.cpp (+23/-6)
src/compiler/expression/expr_manager.cpp (+27/-12)
src/compiler/expression/expr_manager.h (+18/-7)
src/compiler/expression/expr_put.cpp (+62/-11)
src/compiler/expression/expr_type.cpp (+10/-1)
src/compiler/expression/expr_visitor.h (+6/-5)
src/compiler/expression/function_item_expr.cpp (+79/-40)
src/compiler/expression/function_item_expr.h (+77/-32)
src/compiler/expression/var_expr.cpp (+2/-1)
src/compiler/expression/var_expr.h (+2/-0)
src/compiler/parser/xquery_parser.cpp (+7005/-6829)
src/compiler/parser/xquery_parser.hpp (+18/-59)
src/compiler/parser/xquery_parser.y (+32/-8)
src/compiler/parser/xquery_scanner.cpp (+360/-360)
src/compiler/parsetree/parsenode_print_xml_visitor.cpp (+1/-0)
src/compiler/parsetree/parsenode_print_xqdoc_visitor.cpp (+15/-14)
src/compiler/parsetree/parsenode_print_xquery_visitor.cpp (+15/-6)
src/compiler/parsetree/parsenode_visitor.h (+1/-0)
src/compiler/parsetree/parsenodes.cpp (+19/-2)
src/compiler/parsetree/parsenodes.h (+32/-6)
src/compiler/rewriter/framework/rewriter_context.cpp (+1/-2)
src/compiler/rewriter/rules/fold_rules.cpp (+29/-20)
src/compiler/rewriter/rules/hoist_rules.cpp (+1/-0)
src/compiler/rewriter/rules/nodeid_rules.cpp (+11/-7)
src/compiler/rewriter/tools/dataflow_annotations.cpp (+8/-0)
src/compiler/rewriter/tools/udf_graph.cpp (+7/-3)
src/compiler/translator/translator.cpp (+1492/-854)
src/compiler/translator/translator.h (+15/-0)
src/context/dynamic_context.cpp (+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 (+210/-85)
src/runtime/function_item/function_item.h (+87/-29)
src/runtime/function_item/function_item_iter_impl.cpp (+363/-29)
src/runtime/function_item/pregenerated/function_item_iter.cpp (+89/-26)
src/runtime/function_item/pregenerated/function_item_iter.h (+124/-15)
src/runtime/misc/materialize.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 (+13/-5)
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 (+10/-0)
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)
Text conflict in test/rbkt/ExpCompilerResults/IterPlan/zorba/optim/hoist01.iter
To merge this branch: bzr merge lp:~nbrinza/zorba/hof
Reviewer Review Type Date Requested Status
Nicolae Brinza Pending
Review via email: mp+150801@code.launchpad.net

This proposal supersedes 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 : 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-27T13-23-20.254Z/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-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

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-27T14-09-20.948Z/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-27T14-09-20.948Z is finished. The final
  status was:

  1 tests did not succeed - changes not commited.

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

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

Subscribers

People subscribed via source and target branches