← Back to team overview

zorba-coders team mailing list archive

[Merge] lp:~zorba-coders/zorba/new-jsoniq into lp:zorba

 

Nicolae Brinza has proposed merging lp:~zorba-coders/zorba/new-jsoniq into lp:zorba.

Commit message:
Merged the xquery and jsoniq grammar files into one

Requested reviews:
  Nicolae Brinza (nbrinza)

For more details, see:
https://code.launchpad.net/~zorba-coders/zorba/new-jsoniq/+merge/159477

Merged the xquery and jsoniq grammar files into one 
-- 
The attached diff has been truncated due to its size.
https://code.launchpad.net/~zorba-coders/zorba/new-jsoniq/+merge/159477
Your team Zorba Coders is subscribed to branch lp:zorba.
=== modified file 'cmake_modules/CMakeUseBison.cmake'
--- cmake_modules/CMakeUseBison.cmake	2013-02-07 17:24:36 +0000
+++ cmake_modules/CMakeUseBison.cmake	2013-04-17 19:19:31 +0000
@@ -71,24 +71,24 @@
     ELSE(BISON_PREFIX_OUTPUTS)
       SET(PREFIX "yy")
     ENDIF(BISON_PREFIX_OUTPUTS)
-    SET(OUTFILE "${CMAKE_CURRENT_BINARY_DIR}/${PATH}/${HEAD}.cpp")
+    SET(OUTFILE "${PATH}/${HEAD}.cpp")
     IF(BISON_GENERATE_DEFINES)
-      SET(HEADER "${CMAKE_CURRENT_BINARY_DIR}/${PATH}/${HEAD}.hpp")
-	  SET(LOCATION "${CMAKE_CURRENT_BINARY_DIR}/${PATH}/location.hh")
-	  SET(POSITION "${CMAKE_CURRENT_BINARY_DIR}/${PATH}/position.hh")
-	  SET(STACK "${CMAKE_CURRENT_BINARY_DIR}/${PATH}/stack.hh")
+      SET(HEADER "${PATH}/${HEAD}.hpp")
+      SET(LOCATION "${PATH}/location.hh")
+      SET(POSITION "${PATH}/position.hh")
+      SET(STACK "${PATH}/stack.hh")
 	  
       ADD_CUSTOM_COMMAND(
         OUTPUT "${OUTFILE}" "${HEADER}" "${LOCATION}" "${POSITION}" "${STACK}"
         COMMAND "${BISON_EXECUTABLE}"
         ARGS "--name-prefix=${PREFIX}"
         "--defines"
-		"-t"
-		"-rall"
-		"--locations"
+        "-t"
+        "-rall"
+        "--locations"
         "--output-file=${OUTFILE}"
-        "${CMAKE_CURRENT_SOURCE_DIR}/${FILENAME}"
-        DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/${FILENAME}")
+        "${FILENAME}"
+        DEPENDS "${FILENAME}")
       SET_SOURCE_FILES_PROPERTIES("${OUTFILE}" "${HEADER}" "${LOCATION}" "${POSITION}" "${STACK}" PROPERTIES GENERATED TRUE)
       SET_SOURCE_FILES_PROPERTIES("${HEADER}" "${LOCATION}" "${POSITION}" "${STACK}" PROPERTIES HEADER_FILE_ONLY TRUE)
     ELSE(BISON_GENERATE_DEFINES)
@@ -97,8 +97,8 @@
         COMMAND "${BISON_EXECUTABLE}"
         ARGS "--name-prefix=${PREFIX}"
         "--output-file=${OUTFILE}"
-        "${CMAKE_CURRENT_SOURCE_DIR}/${FILENAME}"
-        DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/${FILENAME}")
+        "${FILENAME}"
+        DEPENDS "${FILENAME}")
       SET_SOURCE_FILES_PROPERTIES("${OUTFILE}" PROPERTIES GENERATED TRUE)
     ENDIF(BISON_GENERATE_DEFINES)
   ENDMACRO(BISON_FILE)

=== modified file 'cmake_modules/CMakeUseFlex.cmake'
--- cmake_modules/CMakeUseFlex.cmake	2013-02-07 17:24:36 +0000
+++ cmake_modules/CMakeUseFlex.cmake	2013-04-17 19:19:31 +0000
@@ -81,14 +81,14 @@
       ARGS -E copy_if_different
          "${FLEX_INCLUDE_DIR}/FlexLexer.h"
          "${FLEXLEXERH}")
-    SET(OUTFILE "${CMAKE_CURRENT_BINARY_DIR}/${PATH}/${PREFIX}.cpp")
+    SET(OUTFILE "${PATH}/${PREFIX}.cpp")
     ADD_CUSTOM_COMMAND(
       OUTPUT "${OUTFILE}"
       COMMAND "${FLEX_EXECUTABLE}"
-      ARGS -t --debug "${CMAKE_CURRENT_SOURCE_DIR}/${FILENAME}"
+      ARGS -t --debug "${FILENAME}"
       # flex's --outfile doesn't seem to work right, so redirect stdout
           > "${OUTFILE}"
-      DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/${FILENAME}"
+      DEPENDS "${FILENAME}"
          "${FLEXLEXERH}")
     SET_SOURCE_FILES_PROPERTIES("${OUTFILE}" PROPERTIES GENERATED TRUE)
   ENDMACRO(FLEX_FILE)

=== modified file 'src/compiler/api/compiler_api.cpp'
--- src/compiler/api/compiler_api.cpp	2013-04-10 10:13:31 +0000
+++ src/compiler/api/compiler_api.cpp	2013-04-17 19:19:31 +0000
@@ -39,7 +39,6 @@
 #include "compiler/api/compilercb.h"
 
 #include "compiler/parser/xquery_driver.h"
-#include "compiler/parser/jsoniq_driver.h"
 #include "compiler/parsetree/parsenodes.h"
 #include "compiler/parsetree/parsenode_print_xml_visitor.h"
 #include "compiler/parsetree/parsenode_print_xqdoc_visitor.h"
@@ -225,15 +224,15 @@
   
   bool lXQueryMode = getLanguageMode(xquery_stream);
 
-  if (!lXQueryMode)
+  if (lXQueryMode)
   {
-    jsoniq_driver lDriver(&*theCompilerCB);
+    xquery_driver lDriver(&*theCompilerCB, xquery_driver::XQUERY_GRAMMAR);
     lDriver.parse_stream(xquery_stream, aFileName);
     node =  lDriver.get_expr();
   }
   else
   {
-    xquery_driver lDriver(&*theCompilerCB);
+    xquery_driver lDriver(&*theCompilerCB, xquery_driver::JSONIQ_GRAMMAR);
     lDriver.parse_stream(xquery_stream, aFileName);
     node =  lDriver.get_expr();
   }

=== modified file 'src/compiler/parser/CMakeLists.txt'
--- src/compiler/parser/CMakeLists.txt	2013-03-17 16:30:51 +0000
+++ src/compiler/parser/CMakeLists.txt	2013-04-17 19:19:31 +0000
@@ -19,7 +19,6 @@
     ft_types.cpp
     symbol_table.cpp
     xquery_driver.cpp
-    jsoniq_driver.cpp
     query_loc.cpp
     xqdoc_comment.cpp
     parser_helpers.cpp
@@ -47,13 +46,40 @@
 
 COMPARE_BISON_VERSION("${BISON_VERSION_FULL}" "2.4")
 
+
+MACRO(GENERATE_GRAMMAR_FILE PARSER_TYPE)
+  SET(TARGET_PATH "${CMAKE_CURRENT_BINARY_DIR}/compiler/parser")
+  SET_SOURCE_FILES_PROPERTIES(${TARGET_PATH}/${PARSER_TYPE}.y PROPERTIES GENERATED TRUE)
+  STRING(TOUPPER ${PARSER_TYPE} PARSER_DEFINE)
+  ADD_CUSTOM_COMMAND(
+      OUTPUT ${TARGET_PATH}/${PARSER_TYPE}.y
+      COMMAND "echo"
+      ARGS "-e" "\"%{\\n#define" "${PARSER_DEFINE}\\n%}\">${TARGET_PATH}/${PARSER_TYPE}.y"
+      COMMAND "cat"
+      ARGS "${CMAKE_CURRENT_SOURCE_DIR}/compiler/parser/parser_y_includes.h" 
+            ">>"
+           "${TARGET_PATH}/${PARSER_TYPE}.y"
+      COMMAND ${CMAKE_CXX_COMPILER} 
+      ARGS "-xc++" "-P" "-D${PARSER_DEFINE}"
+           "-E" "${CMAKE_CURRENT_SOURCE_DIR}/compiler/parser/parser.y"
+           ">>" "${TARGET_PATH}/${PARSER_TYPE}.y"
+      DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/compiler/parser/parser.y" "${CMAKE_CURRENT_SOURCE_DIR}/compiler/parser/parser_y_includes.h"
+    )
+  
+  BISON_FILE(${TARGET_PATH}/${PARSER_TYPE}.y)
+  LIST(APPEND PARSER_BUILD_SRCS ${TARGET_PATH}/${PARSER_TYPE}.cpp)
+ENDMACRO(GENERATE_GRAMMAR_FILE PARSER_TYPE)
+
 # Bison setup for the parser
 IF (GENERATE_BISON_FILES)
     SET(BISON_GENERATE_DEFINES TRUE)
-    BISON_FILE(compiler/parser/xquery_parser.y)
-    LIST(APPEND PARSER_BUILD_SRCS ${CMAKE_BINARY_DIR}/src/compiler/parser/xquery_parser.cpp)
-    BISON_FILE(compiler/parser/jsoniq_parser.y)
-    LIST(APPEND PARSER_BUILD_SRCS ${CMAKE_BINARY_DIR}/src/compiler/parser/jsoniq_parser.cpp)
+    IF(NOT EXISTS "${CMAKE_CURRENT_BINARY_DIR}/compiler/parser")
+      FILE(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/compiler/parser")
+    ENDIF(NOT EXISTS "${CMAKE_CURRENT_BINARY_DIR}/compiler/parser")
+    
+    GENERATE_GRAMMAR_FILE(xquery_parser)
+    GENERATE_GRAMMAR_FILE(jsoniq_parser)
+    
 ELSE (GENERATE_BISON_FILES)
     IF (BISON_EXECUTABLE)
         MESSAGE(STATUS "         GNU Bison's version " ${BISON_VERSION_FULL} " is less than required (2.4) -- the parser will not be regenerated")
@@ -85,13 +111,43 @@
 
 COMPARE_FLEX_VERSION("${FLEX_VERSION_FULL}" "2.5.33")
 
+MACRO(GENERATE_FLEX_FILE SCANNER_TYPE)
+  SET(TARGET_PATH ${CMAKE_CURRENT_BINARY_DIR}/compiler/parser)  
+  SET_SOURCE_FILES_PROPERTIES(${TARGET_PATH}/${SCANNER_TYPE}.l PROPERTIES GENERATED TRUE)
+  STRING(TOUPPER ${SCANNER_TYPE} SCANNER_DEFINE)
+  
+  ADD_CUSTOM_COMMAND(
+      OUTPUT ${TARGET_PATH}/${SCANNER_TYPE}.l
+      COMMAND "echo"
+      ARGS "-e" "\"%{\\n#define" "${SCANNER_DEFINE}\\n%}\">${TARGET_PATH}/${SCANNER_TYPE}.l"
+      COMMAND "cat"
+      ARGS "${CMAKE_CURRENT_SOURCE_DIR}/compiler/parser/scanner_l_includes.h" 
+            ">>"
+           "${TARGET_PATH}/${SCANNER_TYPE}.l"
+      COMMAND ${CMAKE_CXX_COMPILER} 
+      ARGS "-xc++" "-P" "-D${SCANNER_DEFINE}"
+           "-E" "${CMAKE_CURRENT_SOURCE_DIR}/compiler/parser/scanner.l"
+           ">>" "${TARGET_PATH}/${SCANNER_TYPE}.l"
+      DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/compiler/parser/scanner.l" "${CMAKE_CURRENT_SOURCE_DIR}/compiler/parser/scanner_l_includes.h"
+    )
+    
+  FLEX_FILE(${TARGET_PATH}/${SCANNER_TYPE}.l)  
+  LIST(APPEND PARSER_BUILD_SRCS ${CMAKE_BINARY_DIR}/src/compiler/parser/${SCANNER_TYPE}.cpp)
+ENDMACRO(GENERATE_FLEX_FILE SCANNER_TYPE)
+
+
 # Flex setup for the scanner
 IF (GENERATE_FLEX_FILES AND ZORBA_HAVE_FLEXLEXER_H)
+    IF(NOT EXISTS "${CMAKE_CURRENT_BINARY_DIR}/compiler/parser")
+      FILE(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/compiler/parser")
+    ENDIF(NOT EXISTS "${CMAKE_CURRENT_BINARY_DIR}/compiler/parser")
+              
     SET(FLEX_PREFIX_OUTPUTS TRUE)
-    FLEX_FILE(compiler/parser/xquery_scanner.l)
-    FLEX_FILE(compiler/parser/jsoniq_scanner.l)
     ADD_DEFINITIONS(-DFLEX_FILES_REGENERATED)
-    LIST(APPEND PARSER_BUILD_SRCS ${CMAKE_BINARY_DIR}/src/compiler/parser/xquery_scanner.cpp ${CMAKE_BINARY_DIR}/src/compiler/parser/jsoniq_scanner.cpp)
+    
+    GENERATE_FLEX_FILE(xquery_scanner)
+    GENERATE_FLEX_FILE(jsoniq_scanner)
+        
 ELSE (GENERATE_FLEX_FILES AND ZORBA_HAVE_FLEXLEXER_H)
     IF (NOT ZORBA_HAVE_FLEXLEXER_H)
         MESSAGE(STATUS "         FlexLexer.h has not been found -- the lexer will not be regenerated")

=== removed file 'src/compiler/parser/jsoniq_driver.cpp'
--- src/compiler/parser/jsoniq_driver.cpp	2013-03-16 00:58:28 +0000
+++ src/compiler/parser/jsoniq_driver.cpp	1970-01-01 00:00:00 +0000
@@ -1,223 +0,0 @@
-/*
- * Copyright 2006-2008 The FLWOR Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#include "stdafx.h"
-
-#include <fstream>
-#include "system/properties.h"
-#include "compiler/parser/jsoniq_driver.h"
-
-#ifdef __GNUC__
-  // disable a warning in location.hh which comes with bison
-  // position.hh:141: warning: suggest parentheses around && within ||
-#  pragma GCC diagnostic ignored "-Wparentheses"
-#endif
-
-#include "compiler/parser/jsoniq_scanner.h"
-#include "compiler/parser/jsoniq_parser.hpp"
-
-#ifdef __GNUC__
-#  pragma GCC diagnostic warning "-Wparentheses"
-#endif
-
-#include "compiler/parser/zorba_parser_error.h"
-#include "compiler/api/compilercb.h"
-#include "context/static_context.h"
-#include "diagnostics/xquery_diagnostics.h"
-#include "util/xml_util.h"
-
-
-namespace zorba
-{
-
-jsoniq_driver::jsoniq_driver(CompilerCB* aCompilerCB, uint32_t initial_heapsize)
-  :
-  symtab(initial_heapsize),
-  expr_p (NULL),
-  theCompilerCB(aCompilerCB),
-  parserError(NULL)
-{
-}
-
-jsoniq_driver::~jsoniq_driver()
-{
-  if (parserError)
-    delete parserError;
-}
-
-// Error generators
-ZorbaParserError* jsoniq_driver::unrecognizedCharErr(const char* _error_token, const location& loc)
-{
-  std::string token;
-    // translate some common non-printable characters for better readability.
-  if (*_error_token == '\t')
-    token = "\\t";
-  else if (*_error_token == '\n')
-    token = "\\n";
-  else if (*_error_token == '\r')
-    token = "\\r";
-  else if (*_error_token == ' ')
-    token = "<blank>";
-  else
-    token = _error_token;
-
-  parserError = new ZorbaParserError("syntax error, unexpected character \"" + token + "\"", loc);
-  return parserError;
-};
-
-ZorbaParserError* jsoniq_driver::unterminatedCommentErr(const location& loc)
-{
-  parserError = new ZorbaParserError("syntax error, unexpected end of file, unterminated comment", loc);
-  return parserError;
-}
-
-ZorbaParserError* jsoniq_driver::unterminatedElementConstructor(const location& loc)
-{
-  parserError = new ZorbaParserError("syntax error, unexpected end of file, unterminated direct element constructor", loc);
-  return parserError;
-}
-
-ZorbaParserError* jsoniq_driver::noClosingTagForElementConstructor(const location& loc)
-{
-  parserError = new ZorbaParserError("syntax error, unexpected end of file, no closing tag for direct element constructor", loc);
-  return parserError;
-}
-
-ZorbaParserError* jsoniq_driver::unrecognizedToken(const char* _error_token, const location& loc)
-{
-  parserError = new ZorbaParserError(std::string("syntax error, unexpected \"") + _error_token + "\"", loc);
-  return parserError;
-}
-
-ZorbaParserError* jsoniq_driver::invalidCharRef(const char* _message, const location& loc)
-{
-  std::string ref = "";
-  std::string temp = _message;
-  std::string out;
-  temp = temp.substr(temp.find("&"));
-
-  while (temp.size()>0 && xml::parse_entity(temp, &out) != -1)
-  {
-    temp = temp.substr(temp.find(";") + 1);
-    if (temp.find("&") != std::string::npos)
-      temp = temp.substr(temp.find("&"));
-  }
-
-  if (temp.find("&") != std::string::npos)
-  {
-    ref = "\"" + temp.substr(temp.find("&"), 6);
-    if (temp.size() == 7)
-      ref += "\"";
-    else if (temp.size() > 7)
-      ref += "...\"";
-    ref += " ";
-  }
-
-  parserError = new ZorbaParserError(std::string("syntax error, invalid character or entity reference "
-      + ref + "in the string literal ") + _message + ".", loc);
-  return parserError;
-}
-
-ZorbaParserError* jsoniq_driver::parserErr(const std::string& _message, const location& loc, Error const &code)
-{
-  parserError = new ZorbaParserError(_message, loc, code);
-  return parserError;
-}
-
-ZorbaParserError* jsoniq_driver::parserErr(const std::string& _message, const QueryLoc& loc, Error const &code)
-{
-  parserError = new ZorbaParserError(_message, loc, code);
-  return parserError;
-}
-
-bool jsoniq_driver::parse_stream(std::istream& in, const zstring& aFilename)
-{
-  int ch[3];
-
-  theFilename = aFilename;
-  theFilename2 = theFilename.str();
-
-  // process the UTF16 Byte Order Mark = \xEF\xBB\xBF
-  if (in.peek() == 0xEF)
-  {
-    int i;
-    for (i=0; i<3; i++)
-      if (in.good())
-        ch[i] = in.get();
-      else
-        break;
-
-    if (i<3 || ch[0] != 0xEF || ch[1] != 0xBB || ch[2] != 0xBF)
-    {
-      if (i==3) i--;
-      for ( ; i>=0; i--)
-        in.putback(ch[i]);
-    }
-  }
-
-  // process the UTF16 (LE) Byte Order Mark = \xFF\xFE, not supported yet
-  //else if (in.peek() == 0xFF)
-  //{
-    // transcode the input to UTF8
-  //}
-
-  jsoniq_scanner scanner(this, &in);
-  scanner.set_yy_flex_debug(Properties::instance()->traceScanning());
-  this->lexer = &scanner;
-  // scanner.set_yy_flex_debug(true); // debugging purposes
-
-  jsoniq_parser parser(*this);
-  parser.set_debug_level(Properties::instance()->traceParsing());
-  // parser.set_debug_level(true); // debugging purposes
-
-  return (parser.parse() == 0);
-}
-
-bool jsoniq_driver::parse_file(const zstring& aFilename)
-{
-  std::ifstream in(aFilename.c_str());
-  return parse_stream(in, aFilename);
-}
-
-bool jsoniq_driver::parse_string(const zstring& input)
-{
-  std::istringstream iss(input.str());
-  return parse_stream(iss);
-}
-
-void jsoniq_driver::set_expr(parsenode* e_p)
-{
-  if (theCompilerCB->theConfig.parse_cb != NULL)
-  {
-    zstring uri;
-    theCompilerCB->theRootSctx->get_entity_retrieval_uri(uri);
-    theCompilerCB->theConfig.parse_cb(e_p, uri.str());
-  }
-  expr_p = e_p;
-}
-
-QueryLoc jsoniq_driver::createQueryLoc(const location& aLoc) const
-{
-  QueryLoc lLoc;
-  lLoc.setFilename(theFilename);
-  lLoc.setLineBegin(aLoc.begin.line);
-  lLoc.setColumnBegin(aLoc.begin.column);
-  lLoc.setLineEnd(aLoc.end.line);
-  lLoc.setColumnEnd(aLoc.end.column);
-  return lLoc;
-}
-
-}	/* namespace zorba */
-/* vim:set et sw=2 ts=2: */

=== removed file 'src/compiler/parser/jsoniq_driver.h'
--- src/compiler/parser/jsoniq_driver.h	2013-03-16 00:58:28 +0000
+++ src/compiler/parser/jsoniq_driver.h	1970-01-01 00:00:00 +0000
@@ -1,86 +0,0 @@
-/*
- * Copyright 2006-2008 The FLWOR Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#pragma once
-#ifndef ZORBA_JSONIQ_DRIVER_H
-#define ZORBA_JSONIQ_DRIVER_H
-
-#include <ostream>
-#include <string>
-#include <zorba/config.h>
-#include "compiler/parser/symbol_table.h"
-#include "compiler/parser/zorba_parser_error.h"
-
-// needed because we have to delete the main module node
-#include "compiler/parsetree/parsenode_base.h"
-
-namespace zorba {
-
-class location;
-class parsenode;
-class CompilerCB;
-class ZorbaParserError;
-
-
-// exported for unit testing only
-class ZORBA_DLL_PUBLIC jsoniq_driver
-{
-public:
-  std::stringstream theDocComment;
-  std::string theMainModuleDocComment;
-  zstring theFilename;
-  std::string theFilename2;
-  symbol_table symtab;
-  rchandle<parsenode> expr_p;
-  CompilerCB* theCompilerCB;
-  ZorbaParserError* parserError;
-  class jsoniq_scanner* lexer;
-
-  jsoniq_driver(CompilerCB* aCompilerCB, uint32_t initial_heapsize = 1024);
-
-  virtual ~jsoniq_driver();
-
-  bool parse_stream(std::istream& in, const zstring& aFilename = "");
-
-  bool parse_string(const zstring& input);
-
-  bool parse_file(const zstring& aFilename);
-
-  void set_expr(parsenode* e_p);
-
-  parsenode* get_expr() { return expr_p; }
-
-  QueryLoc createQueryLoc(const location& aLoc) const;
-
-  // Error generators
-  ZorbaParserError* unrecognizedCharErr(const char* _error_token, const location& loc);
-  ZorbaParserError* unterminatedCommentErr(const location& loc);
-  ZorbaParserError* unterminatedElementConstructor(const location& loc);
-  ZorbaParserError* noClosingTagForElementConstructor(const location& loc);
-  ZorbaParserError* unrecognizedToken(const char* _error_token, const location& loc);
-  ZorbaParserError* invalidCharRef(const char* _error_token, const location& loc);
-  ZorbaParserError* parserErr(const std::string& _message, const location& loc, Error const &code = err::XPST0003);
-  ZorbaParserError* parserErr(const std::string& _message, const QueryLoc& loc, Error const &code = err::XPST0003);
-};
-
-}	/* namespace zorba */
-#endif /* ZORBA_JSONIQ_DRIVER_H */
-
-/*
- * Local variables:
- * mode: c++
- * End:
- */
-/* vim:set et sw=2 ts=2: */

=== modified file 'src/compiler/parser/jsoniq_parser.cpp'
--- src/compiler/parser/jsoniq_parser.cpp	2013-04-17 18:19:28 +0000
+++ src/compiler/parser/jsoniq_parser.cpp	2013-04-17 19:19:31 +0000
@@ -37,7 +37,12 @@
 /* First part of user declarations.  */
 
 /* Line 293 of lalr1.cc  */
-#line 88 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+
+#define JSONIQ_PARSER
+
+/* Line 293 of lalr1.cc  */
+#line 58 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 
 
 #include "common/common.h"
@@ -50,7 +55,9 @@
 #include "compiler/parser/parse_constants.h"
 #include "compiler/api/compilercb.h"
 #include "store/api/update_consts.h"
-#include "compiler/parser/jsoniq_driver.h"
+
+#include "compiler/parser/xquery_driver.h"
+
 #include "compiler/parser/parser_helpers.h"
 
 #define SYMTAB( n ) driver.symtab.get( (off_t)n )
@@ -64,9 +71,27 @@
 using namespace zorba;
 
 
-
-/* Line 293 of lalr1.cc  */
-#line 69 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
+/* Line 293 of lalr1.cc  */
+#line 93 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+
+
+#ifdef XQUERY_PARSER
+#include "compiler/parser/xquery_scanner.h"
+#else
+#include "compiler/parser/jsoniq_scanner.h"
+#endif
+
+#undef yylex
+#ifdef XQUERY_PARSER
+#define yylex driver.getXqueryLexer()->lex
+#else
+#define yylex driver.getJsoniqLexer()->lex
+#endif
+
+
+
+/* Line 293 of lalr1.cc  */
+#line 94 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 
 
 #include "jsoniq_parser.hpp"
@@ -74,10 +99,8 @@
 /* User implementation prologue.  */
 
 /* Line 299 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 777 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 
-// HACK to trigger rchandle release: rchandles are freed when refcount == 0
-// (not <= 0); but Bison never increments the refcount, so we do it manually...
 template<typename T> inline void release_hack( T *ref ) {
     if ( ref ) {
         RCHelper::addReference( ref );
@@ -85,18 +108,9 @@
     }
 }
 
-/* Line 299 of lalr1.cc  */
-#line 1053 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-
-#include "compiler/parser/jsoniq_scanner.h"
-
-#undef yylex
-#define yylex driver.lexer->lex
-
-
-
-/* Line 299 of lalr1.cc  */
-#line 99 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
+
+/* Line 299 of lalr1.cc  */
+#line 113 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 
 #ifndef YY_
 # if defined YYENABLE_NLS && YYENABLE_NLS
@@ -182,7 +196,7 @@
 namespace zorba {
 
 /* Line 382 of lalr1.cc  */
-#line 185 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 199 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 
   /* Return YYSTR after stripping away unnecessary quotes and
      backslashes, so that it's suitable for yyerror.  The heuristic is
@@ -223,7 +237,7 @@
 
 
   /// Build a parser object.
-  jsoniq_parser::jsoniq_parser (jsoniq_driver& driver_yyarg)
+  jsoniq_parser::jsoniq_parser (xquery_driver& driver_yyarg)
     :
 #if YYDEBUG
       yydebug_ (false),
@@ -283,2495 +297,2504 @@
         case 112: /* "\"'DECIMAL'\"" */
 
 /* Line 480 of lalr1.cc  */
-#line 915 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 776 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ delete (yyvaluep->decval); };
 
 /* Line 480 of lalr1.cc  */
-#line 290 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 304 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 127: /* "\"'DOUBLE'\"" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 775 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ delete (yyvaluep->dval); };
 
 /* Line 480 of lalr1.cc  */
-#line 299 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 313 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 152: /* "\"'INTEGER'\"" */
 
 /* Line 480 of lalr1.cc  */
-#line 913 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 774 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ delete (yyvaluep->ival); };
 
 /* Line 480 of lalr1.cc  */
-#line 308 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 346: /* "VersionDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 317 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 347: /* "MainModule" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 326 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 348: /* "LibraryModule" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 335 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 349: /* "ModuleDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 344 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 350: /* "SIND_DeclList" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 353 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 351: /* "SIND_Decl" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 362 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 352: /* "Setter" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 371 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 353: /* "BoundarySpaceDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 380 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 354: /* "DefaultCollationDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 389 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 355: /* "BaseURIDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 398 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 356: /* "ConstructionDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 407 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 357: /* "OrderingModeDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 416 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 358: /* "EmptyOrderDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 425 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 359: /* "CopyNamespacesDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 434 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 360: /* "Import" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 443 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 361: /* "SchemaImport" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 452 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 362: /* "URILiteralList" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 461 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 363: /* "SchemaPrefix" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 470 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 364: /* "ModuleImport" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 479 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 365: /* "NamespaceDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 488 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 366: /* "DefaultNamespaceDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 497 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 367: /* "VFO_DeclList" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 506 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 368: /* "VFO_Decl" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 515 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 369: /* "DecimalFormatDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 524 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 370: /* "DecimalFormatParamList" */
-
-/* Line 480 of lalr1.cc  */
-#line 947 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 322 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 345: /* "VersionDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 796 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 331 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 346: /* "MainModule" */
+
+/* Line 480 of lalr1.cc  */
+#line 789 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 340 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 347: /* "LibraryModule" */
+
+/* Line 480 of lalr1.cc  */
+#line 789 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 349 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 348: /* "ModuleDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 789 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 358 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 349: /* "SIND_DeclList" */
+
+/* Line 480 of lalr1.cc  */
+#line 792 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 367 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 350: /* "SIND_Decl" */
+
+/* Line 480 of lalr1.cc  */
+#line 792 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 376 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 351: /* "Setter" */
+
+/* Line 480 of lalr1.cc  */
+#line 793 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 385 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 352: /* "BoundarySpaceDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 786 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 394 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 353: /* "DefaultCollationDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 787 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 403 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 354: /* "BaseURIDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 786 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 412 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 355: /* "ConstructionDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 786 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 421 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 356: /* "OrderingModeDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 791 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 430 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 357: /* "EmptyOrderDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 788 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 439 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 358: /* "CopyNamespacesDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 787 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 448 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 359: /* "Import" */
+
+/* Line 480 of lalr1.cc  */
+#line 788 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 457 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 360: /* "SchemaImport" */
+
+/* Line 480 of lalr1.cc  */
+#line 792 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 466 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 361: /* "URILiteralList" */
+
+/* Line 480 of lalr1.cc  */
+#line 794 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 475 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 362: /* "SchemaPrefix" */
+
+/* Line 480 of lalr1.cc  */
+#line 793 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 484 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 363: /* "ModuleImport" */
+
+/* Line 480 of lalr1.cc  */
+#line 789 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 493 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 364: /* "NamespaceDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 789 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 502 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 365: /* "DefaultNamespaceDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 787 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 511 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 366: /* "VFO_DeclList" */
+
+/* Line 480 of lalr1.cc  */
+#line 796 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 520 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 367: /* "VFO_Decl" */
+
+/* Line 480 of lalr1.cc  */
+#line 796 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 529 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 368: /* "DecimalFormatDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 796 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 538 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 369: /* "DecimalFormatParamList" */
+
+/* Line 480 of lalr1.cc  */
+#line 802 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ delete (yyvaluep->vstrpair); };
 
 /* Line 480 of lalr1.cc  */
-#line 533 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 547 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 371: /* "DecimalFormatParam" */
+      case 370: /* "DecimalFormatParam" */
 
 /* Line 480 of lalr1.cc  */
-#line 947 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 802 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ delete (yyvaluep->strpair); };
 
 /* Line 480 of lalr1.cc  */
-#line 542 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 373: /* "OptionDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 551 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 374: /* "FTOptionDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 560 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 375: /* "CtxItemDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 569 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 376: /* "CtxItemDecl2" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 578 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 377: /* "CtxItemDecl3" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 587 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 378: /* "CtxItemDecl4" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 596 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 379: /* "VarDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 605 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 380: /* "VarNameAndType" */
-
-/* Line 480 of lalr1.cc  */
-#line 947 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 556 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 372: /* "OptionDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 790 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 565 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 373: /* "FTOptionDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 574 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 374: /* "CtxItemDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 794 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 583 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 375: /* "CtxItemDecl2" */
+
+/* Line 480 of lalr1.cc  */
+#line 794 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 592 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 376: /* "CtxItemDecl3" */
+
+/* Line 480 of lalr1.cc  */
+#line 794 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 601 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 377: /* "CtxItemDecl4" */
+
+/* Line 480 of lalr1.cc  */
+#line 795 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 610 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 378: /* "VarDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 795 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 619 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 379: /* "VarNameAndType" */
+
+/* Line 480 of lalr1.cc  */
+#line 802 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ delete (yyvaluep->varnametype); };
 
 /* Line 480 of lalr1.cc  */
-#line 614 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 381: /* "AnnotationList" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 623 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 382: /* "Annotation" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 632 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 383: /* "AnnotationLiteralList" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 641 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 384: /* "FunctionDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 650 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 385: /* "FunctionDecl2" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 659 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 386: /* "FunctionDeclSimple" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 668 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 387: /* "FunctionDeclUpdating" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 677 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 388: /* "FunctionSig" */
-
-/* Line 480 of lalr1.cc  */
-#line 947 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 628 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 380: /* "AnnotationList" */
+
+/* Line 480 of lalr1.cc  */
+#line 785 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 637 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 381: /* "Annotation" */
+
+/* Line 480 of lalr1.cc  */
+#line 785 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 646 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 382: /* "AnnotationLiteralList" */
+
+/* Line 480 of lalr1.cc  */
+#line 785 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 655 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 383: /* "FunctionDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 788 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 664 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 384: /* "FunctionDecl2" */
+
+/* Line 480 of lalr1.cc  */
+#line 788 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 673 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 385: /* "FunctionDeclSimple" */
+
+/* Line 480 of lalr1.cc  */
+#line 788 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 682 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 386: /* "FunctionDeclUpdating" */
+
+/* Line 480 of lalr1.cc  */
+#line 788 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 691 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 387: /* "FunctionSig" */
+
+/* Line 480 of lalr1.cc  */
+#line 802 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ delete (yyvaluep->fnsig); };
 
 /* Line 480 of lalr1.cc  */
-#line 686 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 389: /* "ParamList" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 695 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 390: /* "Param" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 704 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 391: /* "CollectionDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 713 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 393: /* "IndexDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 722 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 394: /* "IndexKeyList" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 731 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 395: /* "IndexKeySpec" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 740 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 396: /* "IntegrityConstraintDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 749 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 397: /* "QueryBody" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 758 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 398: /* "StatementsAndOptionalExprTop" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 767 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 399: /* "StatementsAndOptionalExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 776 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 400: /* "StatementsAndExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 785 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 401: /* "Statements" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 794 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 402: /* "Statement" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 803 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 403: /* "BlockStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 812 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 404: /* "BlockExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 821 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 405: /* "EnclosedStatementsAndOptionalExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 830 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 406: /* "VarDeclStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 839 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 409: /* "AssignStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 848 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 410: /* "ApplyStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 857 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 411: /* "ExitStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 866 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 412: /* "WhileStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 875 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 413: /* "FlowCtlStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 884 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 414: /* "FLWORStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 893 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 415: /* "ReturnStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 902 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 416: /* "IfStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 911 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 417: /* "TryStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 920 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 418: /* "CatchListStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 929 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 419: /* "CatchStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 938 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 421: /* "Expr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 947 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 422: /* "ExprSingle" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 956 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 423: /* "ExprSimple" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 965 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 424: /* "FLWORExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 974 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 425: /* "ReturnExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 983 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 428: /* "FLWORWinCond" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 992 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 429: /* "WindowClause" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1001 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 430: /* "CountClause" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1010 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 431: /* "ForLetWinClause" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1019 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 433: /* "FLWORClauseList" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1028 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 434: /* "ForClause" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1037 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 436: /* "VarInDeclList" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1046 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 437: /* "VarInDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1055 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 438: /* "PositionalVar" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1064 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 439: /* "FTScoreVar" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1073 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 440: /* "LetClause" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1082 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 441: /* "VarGetsDeclList" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1091 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 442: /* "VarGetsDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1100 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 443: /* "WindowVarDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1109 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 444: /* "WindowVars" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1118 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 445: /* "WindowVars3" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1127 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 446: /* "WindowVars2" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1136 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 447: /* "WhereClause" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1145 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 448: /* "GroupByClause" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1154 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 449: /* "GroupSpecList" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1163 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 450: /* "GroupSpec" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1172 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 451: /* "GroupCollationSpec" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1181 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 452: /* "OrderByClause" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1190 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 453: /* "OrderSpecList" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1199 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 454: /* "OrderSpec" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1208 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 455: /* "OrderModifier" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1217 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 456: /* "OrderDirSpec" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1226 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 457: /* "OrderEmptySpec" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1235 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 458: /* "OrderCollationSpec" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1244 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 459: /* "QuantifiedExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1253 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 460: /* "QVarInDeclList" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1262 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 461: /* "QVarInDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1271 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 462: /* "SwitchExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1280 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 463: /* "SwitchCaseClauseList" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1289 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 464: /* "SwitchCaseClause" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1298 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 465: /* "SwitchCaseOperandList" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1307 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 466: /* "SwitchStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1316 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 469: /* "TypeswitchExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1325 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 470: /* "TypeswitchStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1334 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 471: /* "CaseClauseList" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1343 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 472: /* "CaseClause" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1352 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 475: /* "SequenceTypeList" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1361 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 476: /* "IfExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1370 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 477: /* "OrExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1379 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 478: /* "AndExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1388 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 479: /* "NotExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1397 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 480: /* "ComparisonExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1406 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 481: /* "FTContainsExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1415 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 482: /* "StringConcatExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1424 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 483: /* "opt_FTIgnoreOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1433 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 484: /* "RangeExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1442 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 485: /* "AdditiveExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1451 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 486: /* "MultiplicativeExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1460 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 487: /* "UnionExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1469 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 488: /* "IntersectExceptExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1478 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 489: /* "InstanceofExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1487 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 490: /* "TreatExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1496 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 491: /* "CastableExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1505 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 492: /* "CastExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1514 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 493: /* "SingleType" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1523 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 494: /* "UnaryExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1532 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 495: /* "SignList" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1541 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 496: /* "ValueExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1550 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 497: /* "SimpleMapExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1559 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 498: /* "ValueComp" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1568 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 499: /* "ValidateExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1577 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 500: /* "ExtensionExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1586 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 501: /* "Pragma_list" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1595 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 502: /* "Pragma" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1604 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 503: /* "PathExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1613 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 504: /* "RelativePathExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1622 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 505: /* "StepExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1631 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 506: /* "NameTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1640 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 507: /* "Wildcard" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1649 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 508: /* "FilterExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1658 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 509: /* "PredicateList" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1667 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 510: /* "Predicate" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1676 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 511: /* "PrimaryExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1685 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 512: /* "Literal" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1694 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 513: /* "NumericLiteral" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1703 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 515: /* "VarRef" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1712 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 516: /* "ParenthesizedExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1721 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 517: /* "ContextItemExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1730 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 518: /* "OrderedExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1739 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 519: /* "UnorderedExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1748 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 520: /* "FunctionCall" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1757 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 521: /* "ArgList" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1766 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 525: /* "Constructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1775 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 526: /* "DirectConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1784 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 527: /* "DirElemConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1793 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 528: /* "DirElemContentList" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1802 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 529: /* "DirAttributeList" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1811 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 530: /* "DirAttr" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1820 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 532: /* "DirAttributeValue" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1829 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 533: /* "opt_QuoteAttrContentList" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1838 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 534: /* "QuoteAttrContentList" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1847 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 535: /* "opt_AposAttrContentList" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1856 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 536: /* "AposAttrContentList" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1865 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 537: /* "QuoteAttrValueContent" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1874 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 538: /* "AposAttrValueContent" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1883 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 539: /* "DirElemContent" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1892 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 540: /* "CommonContent" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1901 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 541: /* "DirCommentConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1910 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 542: /* "DirPIConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1919 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 543: /* "CDataSection" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1928 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 544: /* "ComputedConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1937 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 545: /* "CompDocConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1946 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 546: /* "CompElemConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1955 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 547: /* "CompAttrConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1964 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 548: /* "CompTextConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1973 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 549: /* "CompCommentConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1982 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 550: /* "CompPIConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1991 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 551: /* "CompNamespaceConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2000 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 552: /* "TypeDeclaration" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2009 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 553: /* "SequenceType" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2018 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 554: /* "OccurrenceIndicator" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2027 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 555: /* "ItemType" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2036 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 556: /* "TypeList" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2045 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 557: /* "GeneralizedAtomicType" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2054 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 558: /* "SimpleType" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2063 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 559: /* "KindTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2072 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 560: /* "AnyKindTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2081 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 561: /* "DocumentTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2090 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 562: /* "NamespaceTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2099 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 563: /* "TextTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2108 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 564: /* "CommentTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2117 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 565: /* "PITest" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2126 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 566: /* "AttributeTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2135 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 567: /* "SchemaAttributeTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2144 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 568: /* "ElementTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2153 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 569: /* "SchemaElementTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2162 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 570: /* "TypeName" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2171 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 571: /* "TypeName_WITH_HOOK" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2180 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 572: /* "StringLiteral" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2189 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 574: /* "AnyFunctionTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2198 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 575: /* "TypedFunctionTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2207 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 578: /* "InsertExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2216 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 579: /* "DeleteExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2225 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 580: /* "ReplaceExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2234 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 581: /* "RenameExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2243 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 582: /* "TransformExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2252 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 583: /* "VarNameList" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2261 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 584: /* "VarNameDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2270 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 585: /* "TryExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2279 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 586: /* "CatchListExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2288 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 587: /* "CatchExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2297 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 588: /* "BracedExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2306 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 589: /* "NameTestList" */
-
-/* Line 480 of lalr1.cc  */
-#line 947 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 700 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 388: /* "ParamList" */
+
+/* Line 480 of lalr1.cc  */
+#line 791 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 709 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 389: /* "Param" */
+
+/* Line 480 of lalr1.cc  */
+#line 791 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 718 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 390: /* "CollectionDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 794 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 727 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 392: /* "IndexDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 794 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 736 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 393: /* "IndexKeyList" */
+
+/* Line 480 of lalr1.cc  */
+#line 794 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 745 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 394: /* "IndexKeySpec" */
+
+/* Line 480 of lalr1.cc  */
+#line 794 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 754 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 395: /* "IntegrityConstraintDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 794 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 763 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 396: /* "QueryBody" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 772 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 397: /* "StatementsAndOptionalExprTop" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 781 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 398: /* "StatementsAndOptionalExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 790 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 399: /* "StatementsAndExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 400: /* "Statements" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 808 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 401: /* "Statement" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 402: /* "BlockStatement" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 826 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 403: /* "BlockExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 835 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 404: /* "EnclosedStatementsAndOptionalExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 844 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 405: /* "VarDeclStatement" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 853 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 408: /* "AssignStatement" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 862 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 409: /* "ApplyStatement" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 871 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 410: /* "ExitStatement" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 880 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 411: /* "WhileStatement" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 889 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 412: /* "FlowCtlStatement" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 898 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 413: /* "FLWORStatement" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 907 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 414: /* "ReturnStatement" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 916 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 415: /* "IfStatement" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 925 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 416: /* "TryStatement" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 934 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 417: /* "CatchListStatement" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 943 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 418: /* "CatchStatement" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 952 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 419: /* "VoidStatement" */
+
+/* Line 480 of lalr1.cc  */
+#line 798 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 961 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 420: /* "Expr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 970 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 421: /* "ExprSingle" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 979 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 422: /* "ExprSimple" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 988 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 423: /* "FLWORExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 997 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 424: /* "ReturnExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1006 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 427: /* "FLWORWinCond" */
+
+/* Line 480 of lalr1.cc  */
+#line 795 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1015 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 428: /* "WindowClause" */
+
+/* Line 480 of lalr1.cc  */
+#line 788 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1024 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 429: /* "CountClause" */
+
+/* Line 480 of lalr1.cc  */
+#line 796 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1033 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 430: /* "ForLetWinClause" */
+
+/* Line 480 of lalr1.cc  */
+#line 788 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1042 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 432: /* "FLWORClauseList" */
+
+/* Line 480 of lalr1.cc  */
+#line 788 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1051 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 433: /* "ForClause" */
+
+/* Line 480 of lalr1.cc  */
+#line 788 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1060 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 435: /* "VarInDeclList" */
+
+/* Line 480 of lalr1.cc  */
+#line 795 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1069 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 436: /* "VarInDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 795 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1078 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 437: /* "PositionalVar" */
+
+/* Line 480 of lalr1.cc  */
+#line 791 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1087 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 438: /* "FTScoreVar" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1096 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 439: /* "LetClause" */
+
+/* Line 480 of lalr1.cc  */
+#line 789 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1105 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 440: /* "VarGetsDeclList" */
+
+/* Line 480 of lalr1.cc  */
+#line 795 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1114 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 441: /* "VarGetsDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 795 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1123 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 442: /* "WindowVarDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 795 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1132 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 443: /* "WindowVars" */
+
+/* Line 480 of lalr1.cc  */
+#line 795 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1141 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 444: /* "WindowVars3" */
+
+/* Line 480 of lalr1.cc  */
+#line 795 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1150 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 445: /* "WindowVars2" */
+
+/* Line 480 of lalr1.cc  */
+#line 795 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1159 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 446: /* "WhereClause" */
+
+/* Line 480 of lalr1.cc  */
+#line 796 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1168 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 447: /* "GroupByClause" */
+
+/* Line 480 of lalr1.cc  */
+#line 790 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1177 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 448: /* "GroupSpecList" */
+
+/* Line 480 of lalr1.cc  */
+#line 790 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1186 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 449: /* "GroupSpec" */
+
+/* Line 480 of lalr1.cc  */
+#line 790 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1195 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 450: /* "GroupCollationSpec" */
+
+/* Line 480 of lalr1.cc  */
+#line 790 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1204 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 451: /* "OrderByClause" */
+
+/* Line 480 of lalr1.cc  */
+#line 790 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1213 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 452: /* "OrderSpecList" */
+
+/* Line 480 of lalr1.cc  */
+#line 791 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1222 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 453: /* "OrderSpec" */
+
+/* Line 480 of lalr1.cc  */
+#line 791 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1231 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 454: /* "OrderModifier" */
+
+/* Line 480 of lalr1.cc  */
+#line 790 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1240 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 455: /* "OrderDirSpec" */
+
+/* Line 480 of lalr1.cc  */
+#line 790 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1249 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 456: /* "OrderEmptySpec" */
+
+/* Line 480 of lalr1.cc  */
+#line 790 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1258 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 457: /* "OrderCollationSpec" */
+
+/* Line 480 of lalr1.cc  */
+#line 790 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1267 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 458: /* "QuantifiedExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1276 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 459: /* "QVarInDeclList" */
+
+/* Line 480 of lalr1.cc  */
+#line 791 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1285 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 460: /* "QVarInDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 791 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1294 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 461: /* "SwitchExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1303 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 462: /* "SwitchCaseClauseList" */
+
+/* Line 480 of lalr1.cc  */
+#line 797 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1312 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 463: /* "SwitchCaseClause" */
+
+/* Line 480 of lalr1.cc  */
+#line 797 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1321 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 464: /* "SwitchCaseOperandList" */
+
+/* Line 480 of lalr1.cc  */
+#line 797 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1330 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 465: /* "SwitchStatement" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1339 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 468: /* "TypeswitchExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1348 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 469: /* "TypeswitchStatement" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1357 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 470: /* "CaseClauseList" */
+
+/* Line 480 of lalr1.cc  */
+#line 786 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1366 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 471: /* "CaseClause" */
+
+/* Line 480 of lalr1.cc  */
+#line 786 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1375 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 474: /* "SequenceTypeList" */
+
+/* Line 480 of lalr1.cc  */
+#line 793 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1384 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 475: /* "IfExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1393 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 476: /* "OrExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1402 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 477: /* "AndExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1411 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 478: /* "NotExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 798 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1420 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 479: /* "ComparisonExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1429 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 480: /* "FTContainsExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1438 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 481: /* "StringConcatExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1447 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 482: /* "opt_FTIgnoreOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1456 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 483: /* "RangeExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1465 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 484: /* "AdditiveExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1474 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 485: /* "MultiplicativeExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1483 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 486: /* "UnionExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1492 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 487: /* "IntersectExceptExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1501 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 488: /* "InstanceofExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1510 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 489: /* "TreatExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1519 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 490: /* "CastableExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1528 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 491: /* "CastExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1537 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 492: /* "SingleType" */
+
+/* Line 480 of lalr1.cc  */
+#line 793 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1546 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 493: /* "UnaryExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1555 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 494: /* "SignList" */
+
+/* Line 480 of lalr1.cc  */
+#line 793 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1564 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 495: /* "ValueExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1573 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 496: /* "SimpleMapExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1582 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 497: /* "ValueComp" */
+
+/* Line 480 of lalr1.cc  */
+#line 794 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1591 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 498: /* "ValidateExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1600 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 499: /* "ExtensionExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1609 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 500: /* "Pragma_list" */
+
+/* Line 480 of lalr1.cc  */
+#line 791 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1618 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 501: /* "Pragma" */
+
+/* Line 480 of lalr1.cc  */
+#line 791 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1627 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 502: /* "PathExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1636 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 503: /* "RelativePathExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1645 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 504: /* "StepExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1654 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 505: /* "NameTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 789 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1663 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 506: /* "Wildcard" */
+
+/* Line 480 of lalr1.cc  */
+#line 796 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1672 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 507: /* "FilterExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1681 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 508: /* "PredicateList" */
+
+/* Line 480 of lalr1.cc  */
+#line 791 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1690 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 509: /* "Predicate" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1699 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 510: /* "PrimaryExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1708 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 511: /* "Literal" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1717 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 512: /* "NumericLiteral" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1726 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 514: /* "VarRef" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1735 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 515: /* "ParenthesizedExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1744 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 516: /* "ContextItemExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1753 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 517: /* "OrderedExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1762 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 518: /* "UnorderedExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1771 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 519: /* "FunctionCall" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1780 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 520: /* "ArgList" */
+
+/* Line 480 of lalr1.cc  */
+#line 785 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1789 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 524: /* "Constructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1798 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 525: /* "DirectConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1807 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 526: /* "DirElemConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1816 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 527: /* "DirElemContentList" */
+
+/* Line 480 of lalr1.cc  */
+#line 787 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1825 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 528: /* "DirAttributeList" */
+
+/* Line 480 of lalr1.cc  */
+#line 787 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1834 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 529: /* "DirAttr" */
+
+/* Line 480 of lalr1.cc  */
+#line 787 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1843 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 531: /* "DirAttributeValue" */
+
+/* Line 480 of lalr1.cc  */
+#line 787 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1852 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 532: /* "opt_QuoteAttrContentList" */
+
+/* Line 480 of lalr1.cc  */
+#line 792 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1861 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 533: /* "QuoteAttrContentList" */
+
+/* Line 480 of lalr1.cc  */
+#line 792 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1870 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 534: /* "opt_AposAttrContentList" */
+
+/* Line 480 of lalr1.cc  */
+#line 785 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1879 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 535: /* "AposAttrContentList" */
+
+/* Line 480 of lalr1.cc  */
+#line 785 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1888 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 536: /* "QuoteAttrValueContent" */
+
+/* Line 480 of lalr1.cc  */
+#line 792 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1897 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 537: /* "AposAttrValueContent" */
+
+/* Line 480 of lalr1.cc  */
+#line 785 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1906 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 538: /* "DirElemContent" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1915 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 539: /* "CommonContent" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1924 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 540: /* "DirCommentConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1933 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 541: /* "DirPIConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1942 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 542: /* "CDataSection" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1951 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 543: /* "ComputedConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1960 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 544: /* "CompDocConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1969 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 545: /* "CompElemConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1978 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 546: /* "CompAttrConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1987 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 547: /* "CompTextConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1996 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 548: /* "CompCommentConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2005 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 549: /* "CompPIConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2014 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 550: /* "CompNamespaceConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2023 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 551: /* "TypeDeclaration" */
+
+/* Line 480 of lalr1.cc  */
+#line 793 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2032 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 552: /* "SequenceType" */
+
+/* Line 480 of lalr1.cc  */
+#line 793 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2041 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 553: /* "OccurrenceIndicator" */
+
+/* Line 480 of lalr1.cc  */
+#line 789 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2050 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 554: /* "ItemType" */
+
+/* Line 480 of lalr1.cc  */
+#line 789 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2059 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 555: /* "TypeList" */
+
+/* Line 480 of lalr1.cc  */
+#line 796 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2068 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 556: /* "GeneralizedAtomicType" */
+
+/* Line 480 of lalr1.cc  */
+#line 786 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2077 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 557: /* "SimpleType" */
+
+/* Line 480 of lalr1.cc  */
+#line 786 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2086 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 558: /* "KindTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 789 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2095 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 559: /* "AnyKindTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 785 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2104 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 560: /* "DocumentTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 787 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2113 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 561: /* "NamespaceTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 793 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2122 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 562: /* "TextTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 793 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2131 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 563: /* "CommentTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 786 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2140 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 564: /* "PITest" */
+
+/* Line 480 of lalr1.cc  */
+#line 791 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2149 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 565: /* "AttributeTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 786 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2158 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 566: /* "SchemaAttributeTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 792 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2167 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 567: /* "ElementTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 787 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2176 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 568: /* "SchemaElementTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 792 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2185 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 569: /* "TypeName" */
+
+/* Line 480 of lalr1.cc  */
+#line 793 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2194 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 570: /* "TypeName_WITH_HOOK" */
+
+/* Line 480 of lalr1.cc  */
+#line 793 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2203 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 571: /* "StringLiteral" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2212 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 573: /* "AnyFunctionTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 796 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2221 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 574: /* "TypedFunctionTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 796 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2230 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 577: /* "InsertExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2239 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 578: /* "DeleteExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2248 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 579: /* "ReplaceExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2257 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 580: /* "RenameExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2266 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 581: /* "TransformExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2275 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 582: /* "VarNameList" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2284 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 583: /* "VarNameDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2293 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 584: /* "TryExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2302 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 585: /* "CatchListExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2311 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 586: /* "CatchExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2320 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 587: /* "BracedExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2329 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 588: /* "NameTestList" */
+
+/* Line 480 of lalr1.cc  */
+#line 802 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ delete (yyvaluep->name_test_list); };
 
 /* Line 480 of lalr1.cc  */
-#line 2315 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 590: /* "FTSelection" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2324 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 593: /* "FTOr" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2333 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 594: /* "FTAnd" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2342 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 595: /* "FTMildNot" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2351 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 596: /* "FTUnaryNot" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2360 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 597: /* "FTPrimaryWithOptions" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2369 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 598: /* "opt_FTMatchOptions" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2378 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 600: /* "FTWeight" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2387 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 601: /* "FTPrimary" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2396 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 602: /* "opt_FTTimes" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2405 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 603: /* "FTExtensionSelection" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2414 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 605: /* "FTWords" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2423 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 606: /* "FTWordsValue" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2432 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 608: /* "FTAnyallOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2441 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 611: /* "FTPosFilter" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2450 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 612: /* "FTOrder" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2459 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 613: /* "FTWindow" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2468 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 614: /* "FTDistance" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2477 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 615: /* "FTUnit" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2486 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 616: /* "FTMatchOptions" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2495 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 617: /* "FTMatchOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2504 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 618: /* "FTCaseOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2513 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 619: /* "FTDiacriticsOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2522 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 620: /* "FTExtensionOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2531 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 621: /* "FTStemOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2540 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 622: /* "FTThesaurusOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2549 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 626: /* "FTThesaurusID" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2558 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 629: /* "FTStopWordOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2567 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 630: /* "FTStopWords" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2576 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 634: /* "FTStopWordsInclExcl" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2585 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 635: /* "FTLanguageOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2594 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 636: /* "FTWildCardOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2603 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 637: /* "FTContent" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2612 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 638: /* "FTTimes" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2621 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 639: /* "FTRange" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2630 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 640: /* "FTScope" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2639 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 641: /* "FTBigUnit" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2648 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 642: /* "FTIgnoreOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2657 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 643: /* "JSONArrayConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 938 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2666 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 644: /* "JSONSimpleObjectUnion" */
-
-/* Line 480 of lalr1.cc  */
-#line 938 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2675 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 645: /* "JSONAccumulatorObjectUnion" */
-
-/* Line 480 of lalr1.cc  */
-#line 938 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2684 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 646: /* "JSONObjectConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 938 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2693 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 647: /* "JSONPairList" */
-
-/* Line 480 of lalr1.cc  */
-#line 938 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2702 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 648: /* "JSONInsertExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 938 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2711 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 649: /* "JSONAppendExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 938 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2720 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 650: /* "JSONDeleteExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 938 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2729 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 651: /* "JSONRenameExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 938 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2738 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 652: /* "JSONReplaceExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 938 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2747 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 659: /* "QNAME" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2756 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 660: /* "FUNCTION_NAME" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2765 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 661: /* "EQNAME" */
-
-/* Line 480 of lalr1.cc  */
-#line 944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2774 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 2338 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 589: /* "FTSelection" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2347 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 592: /* "FTOr" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2356 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 593: /* "FTAnd" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2365 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 594: /* "FTMildNot" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2374 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 595: /* "FTUnaryNot" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2383 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 596: /* "FTPrimaryWithOptions" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2392 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 597: /* "opt_FTMatchOptions" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2401 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 599: /* "FTWeight" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2410 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 600: /* "FTPrimary" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2419 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 601: /* "opt_FTTimes" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2428 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 602: /* "FTExtensionSelection" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2437 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 604: /* "FTWords" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2446 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 605: /* "FTWordsValue" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2455 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 607: /* "FTAnyallOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2464 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 610: /* "FTPosFilter" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2473 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 611: /* "FTOrder" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2482 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 612: /* "FTWindow" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2491 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 613: /* "FTDistance" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2500 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 614: /* "FTUnit" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2509 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 615: /* "FTMatchOptions" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2518 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 616: /* "FTMatchOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2527 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 617: /* "FTCaseOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2536 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 618: /* "FTDiacriticsOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2545 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 619: /* "FTExtensionOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2554 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 620: /* "FTStemOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2563 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 621: /* "FTThesaurusOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2572 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 625: /* "FTThesaurusID" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2581 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 628: /* "FTStopWordOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2590 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 629: /* "FTStopWords" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2599 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 633: /* "FTStopWordsInclExcl" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2608 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 634: /* "FTLanguageOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2617 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 635: /* "FTWildCardOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2626 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 636: /* "FTContent" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2635 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 637: /* "FTTimes" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2644 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 638: /* "FTRange" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2653 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 639: /* "FTScope" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2662 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 640: /* "FTBigUnit" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2671 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 641: /* "FTIgnoreOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2680 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 642: /* "JSONArrayConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 800 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2689 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 643: /* "JSONSimpleObjectUnion" */
+
+/* Line 480 of lalr1.cc  */
+#line 800 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2698 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 644: /* "JSONAccumulatorObjectUnion" */
+
+/* Line 480 of lalr1.cc  */
+#line 800 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2707 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 645: /* "JSONObjectConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 800 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2716 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 646: /* "JSONPairList" */
+
+/* Line 480 of lalr1.cc  */
+#line 800 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2725 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 647: /* "JSONInsertExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 800 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2734 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 648: /* "JSONAppendExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 800 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2743 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 649: /* "JSONDeleteExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 800 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2752 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 650: /* "JSONRenameExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 800 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2761 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 651: /* "JSONReplaceExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 800 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2770 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 658: /* "QNAME" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2779 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 659: /* "FUNCTION_NAME" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2788 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 660: /* "EQNAME" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2797 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
 
 	default:
@@ -2862,13 +2885,13 @@
     /* User initialization code.  */
     
 /* Line 565 of lalr1.cc  */
-#line 133 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 120 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 {
     yylloc.begin.filename = yylloc.end.filename = &(driver.theFilename2);
 }
 
 /* Line 565 of lalr1.cc  */
-#line 2871 "/home/markos/zorba/repo/hof-next/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 2894 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 
     /* Initialize the stacks.  The initial state will be pushed in
        yynewstate, since the latter expects the semantical and the
@@ -2987,7 +3010,7 @@
 	  case 3:
 
 /* Line 690 of lalr1.cc  */
-#line 1071 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 837 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
         (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
       }
@@ -2996,7 +3019,7 @@
   case 4:
 
 /* Line 690 of lalr1.cc  */
-#line 1075 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 841 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
         (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
       }
@@ -3005,7 +3028,7 @@
   case 5:
 
 /* Line 690 of lalr1.cc  */
-#line 1079 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 845 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
         (yyval.node) = (yysemantic_stack_[(3) - (3)].node);
       }
@@ -3014,7 +3037,7 @@
   case 6:
 
 /* Line 690 of lalr1.cc  */
-#line 1087 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 851 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
         (yyval.node) = NULL;
       }
@@ -3023,7 +3046,7 @@
   case 7:
 
 /* Line 690 of lalr1.cc  */
-#line 1093 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 855 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
         (yyval.node) = NULL; YYABORT;
       }
@@ -3032,7 +3055,7 @@
   case 8:
 
 /* Line 690 of lalr1.cc  */
-#line 1097 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 859 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
         (yyval.node) = NULL; YYABORT;
       }
@@ -3041,7 +3064,7 @@
   case 9:
 
 /* Line 690 of lalr1.cc  */
-#line 1106 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 865 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
       driver.set_expr( (yyval.node) );
@@ -3051,7 +3074,7 @@
   case 10:
 
 /* Line 690 of lalr1.cc  */
-#line 1112 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 871 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       MainModule* mm = dynamic_cast<MainModule*>((yysemantic_stack_[(2) - (2)].node));
       mm->set_version_decl( static_cast<VersionDecl*>((yysemantic_stack_[(2) - (1)].node)) );
@@ -3063,7 +3086,7 @@
   case 11:
 
 /* Line 690 of lalr1.cc  */
-#line 1120 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 879 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
       driver.set_expr( (yyval.node) );
@@ -3073,7 +3096,7 @@
   case 12:
 
 /* Line 690 of lalr1.cc  */
-#line 1126 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 885 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       LibraryModule* lm = dynamic_cast<LibraryModule*>((yysemantic_stack_[(2) - (2)].node));
       lm->set_version_decl( static_cast<VersionDecl*>((yysemantic_stack_[(2) - (1)].node)) );
@@ -3085,7 +3108,7 @@
   case 13:
 
 /* Line 690 of lalr1.cc  */
-#line 1137 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 894 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VersionDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (3)].sval)), "utf-8" );
     }
@@ -3094,7 +3117,7 @@
   case 14:
 
 /* Line 690 of lalr1.cc  */
-#line 1142 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 899 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VersionDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(6) - (3)].sval)), SYMTAB((yysemantic_stack_[(6) - (5)].sval)) );
     }
@@ -3103,7 +3126,7 @@
   case 15:
 
 /* Line 690 of lalr1.cc  */
-#line 1146 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 904 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VersionDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (3)].sval)), "utf-8", VersionDecl::jsoniq );
     }
@@ -3112,20 +3135,18 @@
   case 16:
 
 /* Line 690 of lalr1.cc  */
-#line 1151 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 909 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.node) = new VersionDecl(
-        LOC((yyloc)), SYMTAB((yysemantic_stack_[(6) - (3)].sval)), SYMTAB((yysemantic_stack_[(6) - (5)].sval)), VersionDecl::jsoniq );
+      (yyval.node) = new VersionDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(6) - (3)].sval)), SYMTAB((yysemantic_stack_[(6) - (5)].sval)), VersionDecl::jsoniq );
     }
     break;
 
   case 17:
 
 /* Line 690 of lalr1.cc  */
-#line 1160 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 915 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)), static_cast<SIND_DeclList*>((yysemantic_stack_[(3) - (1)].node)), NULL);
-
       (yyval.node) = new MainModule(LOC((yyloc)), static_cast<QueryBody*>((yysemantic_stack_[(3) - (3)].expr)), prolog);
     }
     break;
@@ -3133,10 +3154,9 @@
   case 18:
 
 /* Line 690 of lalr1.cc  */
-#line 1167 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 921 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)), NULL, static_cast<VFO_DeclList*>((yysemantic_stack_[(3) - (1)].node)));
-
       (yyval.node) = new MainModule(LOC((yyloc)), static_cast<QueryBody*>((yysemantic_stack_[(3) - (3)].expr)), prolog);
     }
     break;
@@ -3144,12 +3164,11 @@
   case 19:
 
 /* Line 690 of lalr1.cc  */
-#line 1174 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 927 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)),
                                   static_cast<SIND_DeclList*>((yysemantic_stack_[(5) - (1)].node)),
                                   static_cast<VFO_DeclList*>((yysemantic_stack_[(5) - (3)].node)));
-
       (yyval.node) = new MainModule(LOC((yyloc)), static_cast<QueryBody*>((yysemantic_stack_[(5) - (5)].expr)), prolog);
     }
     break;
@@ -3157,7 +3176,7 @@
   case 20:
 
 /* Line 690 of lalr1.cc  */
-#line 1183 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new MainModule( LOC((yyloc)), static_cast<QueryBody*>((yysemantic_stack_[(1) - (1)].expr)), NULL );
     }
@@ -3166,9 +3185,9 @@
   case 21:
 
 /* Line 690 of lalr1.cc  */
-#line 1190 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 940 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.node) = (yysemantic_stack_[(3) - (1)].node); (yyval.node) = (yysemantic_stack_[(3) - (3)].expr); // to prevent the Bison warning
+      (yyval.node) = (yysemantic_stack_[(3) - (1)].node); (yyval.node) = (yysemantic_stack_[(3) - (3)].expr);
       (yylocation_stack_[(3) - (1)]).step();
       error((yylocation_stack_[(3) - (1)]), "syntax error, missing semicolon \";\" after statement.");
       YYERROR;
@@ -3178,9 +3197,9 @@
   case 22:
 
 /* Line 690 of lalr1.cc  */
-#line 1198 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 948 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.node) = (yysemantic_stack_[(3) - (1)].node); (yyval.node) = (yysemantic_stack_[(3) - (3)].expr); // to prevent the Bison warning
+      (yyval.node) = (yysemantic_stack_[(3) - (1)].node); (yyval.node) = (yysemantic_stack_[(3) - (3)].expr);
       (yylocation_stack_[(3) - (1)]).step();
       error((yylocation_stack_[(3) - (1)]), "syntax error, missing semicolon \";\" after declaration.");
       YYERROR;
@@ -3190,9 +3209,9 @@
   case 23:
 
 /* Line 690 of lalr1.cc  */
-#line 1206 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 956 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (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
+      (yyval.node) = (yysemantic_stack_[(5) - (1)].node); (yyval.node) = (yysemantic_stack_[(5) - (3)].node); (yyval.node) = (yysemantic_stack_[(5) - (5)].expr);
       (yylocation_stack_[(5) - (3)]).step();
       error((yylocation_stack_[(5) - (3)]), "syntax error, missing semicolon \";\" after declaration.");
       YYERROR;
@@ -3202,9 +3221,9 @@
   case 24:
 
 /* Line 690 of lalr1.cc  */
-#line 1214 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 964 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (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
+      (yyval.node) = (yysemantic_stack_[(5) - (1)].node); (yyval.node) = (yysemantic_stack_[(5) - (3)].node); (yyval.node) = (yysemantic_stack_[(5) - (5)].expr);
       (yylocation_stack_[(5) - (1)]).step();
       error((yylocation_stack_[(5) - (1)]), "syntax error, missing semicolon \";\" after statement.");
       YYERROR;
@@ -3214,7 +3233,7 @@
   case 25:
 
 /* Line 690 of lalr1.cc  */
-#line 1225 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 973 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new LibraryModule(LOC((yyloc)), static_cast<ModuleDecl*>((yysemantic_stack_[(1) - (1)].node)), NULL);
     }
@@ -3223,10 +3242,9 @@
   case 26:
 
 /* Line 690 of lalr1.cc  */
-#line 1230 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 978 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)), static_cast<SIND_DeclList*>((yysemantic_stack_[(3) - (2)].node)), NULL);
-
       (yyval.node) = new LibraryModule(LOC((yyloc)), static_cast<ModuleDecl*>((yysemantic_stack_[(3) - (1)].node)), prolog);
     }
     break;
@@ -3234,10 +3252,9 @@
   case 27:
 
 /* Line 690 of lalr1.cc  */
-#line 1237 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 984 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)), NULL, static_cast<VFO_DeclList*>((yysemantic_stack_[(3) - (2)].node)));
-
       (yyval.node) = new LibraryModule(LOC((yyloc)), static_cast<ModuleDecl*>((yysemantic_stack_[(3) - (1)].node)), prolog);
     }
     break;
@@ -3245,12 +3262,11 @@
   case 28:
 
 /* Line 690 of lalr1.cc  */
-#line 1244 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 990 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)),
                                   static_cast<SIND_DeclList*>((yysemantic_stack_[(5) - (2)].node)),
                                   static_cast<VFO_DeclList*>((yysemantic_stack_[(5) - (4)].node)));
-
       (yyval.node) = new LibraryModule(LOC((yyloc)), static_cast<ModuleDecl*>((yysemantic_stack_[(5) - (1)].node)), prolog);
     }
     break;
@@ -3258,10 +3274,9 @@
   case 29:
 
 /* Line 690 of lalr1.cc  */
-#line 1256 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 999 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new ModuleDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(6) - (3)].sval)), SYMTAB((yysemantic_stack_[(6) - (5)].sval)) );
-
       dynamic_cast<ModuleDecl*>((yyval.node))->setComment( SYMTAB((yysemantic_stack_[(6) - (1)].sval)) );
     }
     break;
@@ -3269,7 +3284,7 @@
   case 30:
 
 /* Line 690 of lalr1.cc  */
-#line 1266 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1006 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       SIND_DeclList *sdl = new SIND_DeclList( LOC((yyloc)) );
       sdl->push_back( (yysemantic_stack_[(1) - (1)].node) );
@@ -3280,7 +3295,7 @@
   case 31:
 
 /* Line 690 of lalr1.cc  */
-#line 1273 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1013 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       ((SIND_DeclList*)(yysemantic_stack_[(3) - (1)].node))->push_back( (yysemantic_stack_[(3) - (3)].node) );
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node);
@@ -3290,10 +3305,9 @@
   case 32:
 
 /* Line 690 of lalr1.cc  */
-#line 1280 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1019 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      // error
-      (yyval.node) = (yysemantic_stack_[(3) - (1)].node); (yyval.node) = (yysemantic_stack_[(3) - (3)].node); // to prevent the Bison warning
+      (yyval.node) = (yysemantic_stack_[(3) - (1)].node); (yyval.node) = (yysemantic_stack_[(3) - (3)].node);
       (yylocation_stack_[(3) - (1)]).step();
       error((yylocation_stack_[(3) - (1)]), "syntax error, missing semicolon \";\" after declaration.");
       YYERROR;
@@ -3303,7 +3317,7 @@
   case 46:
 
 /* Line 690 of lalr1.cc  */
-#line 1315 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1045 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new BoundarySpaceDecl(LOC((yyloc)), StaticContextConsts::preserve_space);
     }
@@ -3312,7 +3326,7 @@
   case 47:
 
 /* Line 690 of lalr1.cc  */
-#line 1320 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1050 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new BoundarySpaceDecl(LOC((yyloc)), StaticContextConsts::strip_space);
     }
@@ -3321,7 +3335,7 @@
   case 48:
 
 /* Line 690 of lalr1.cc  */
-#line 1328 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1056 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new DefaultCollationDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (4)].sval)) );
     }
@@ -3330,7 +3344,7 @@
   case 49:
 
 /* Line 690 of lalr1.cc  */
-#line 1336 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1062 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new BaseURIDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (3)].sval)) );
     }
@@ -3339,7 +3353,7 @@
   case 50:
 
 /* Line 690 of lalr1.cc  */
-#line 1344 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1068 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new ConstructionDecl(LOC((yyloc)), StaticContextConsts::cons_preserve);
     }
@@ -3348,7 +3362,7 @@
   case 51:
 
 /* Line 690 of lalr1.cc  */
-#line 1349 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1073 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new ConstructionDecl(LOC((yyloc)), StaticContextConsts::cons_strip);
     }
@@ -3357,7 +3371,7 @@
   case 52:
 
 /* Line 690 of lalr1.cc  */
-#line 1357 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1079 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new OrderingModeDecl(LOC((yyloc)), StaticContextConsts::ordered);
     }
@@ -3366,7 +3380,7 @@
   case 53:
 
 /* Line 690 of lalr1.cc  */
-#line 1362 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1084 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new OrderingModeDecl(LOC((yyloc)), StaticContextConsts::unordered);
     }
@@ -3375,7 +3389,7 @@
   case 54:
 
 /* Line 690 of lalr1.cc  */
-#line 1370 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1090 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new EmptyOrderDecl(LOC((yyloc)), StaticContextConsts::empty_greatest);
     }
@@ -3384,7 +3398,7 @@
   case 55:
 
 /* Line 690 of lalr1.cc  */
-#line 1375 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1095 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new EmptyOrderDecl(LOC((yyloc)), StaticContextConsts::empty_least);
     }
@@ -3393,7 +3407,7 @@
   case 56:
 
 /* Line 690 of lalr1.cc  */
-#line 1383 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1101 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CopyNamespacesDecl(LOC((yyloc)), true, true);
     }
@@ -3402,7 +3416,7 @@
   case 57:
 
 /* Line 690 of lalr1.cc  */
-#line 1388 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1106 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CopyNamespacesDecl(LOC((yyloc)), true, false);
     }
@@ -3411,7 +3425,7 @@
   case 58:
 
 /* Line 690 of lalr1.cc  */
-#line 1393 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1111 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CopyNamespacesDecl(LOC((yyloc)), false, true);
     }
@@ -3420,7 +3434,7 @@
   case 59:
 
 /* Line 690 of lalr1.cc  */
-#line 1398 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1116 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CopyNamespacesDecl(LOC((yyloc)), false, false);
     }
@@ -3429,9 +3443,9 @@
   case 62:
 
 /* Line 690 of lalr1.cc  */
-#line 1411 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1126 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.node) = (yyval.node); // to prevent the Bison warning
+      (yyval.node) = (yyval.node);
       error((yylocation_stack_[(3) - (2)]), "syntax error, \"import\" should be followed by either \"schema\" or \"module\".");
       YYERROR;
     }
@@ -3440,7 +3454,7 @@
   case 63:
 
 /* Line 690 of lalr1.cc  */
-#line 1421 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1134 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new SchemaImport( LOC((yyloc)), NULL, SYMTAB((yysemantic_stack_[(3) - (3)].sval)), NULL );
     }
@@ -3449,7 +3463,7 @@
   case 64:
 
 /* Line 690 of lalr1.cc  */
-#line 1426 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1139 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new SchemaImport(LOC((yyloc)),
                             dynamic_cast<SchemaPrefix*>((yysemantic_stack_[(4) - (3)].node)),
@@ -3461,7 +3475,7 @@
   case 65:
 
 /* Line 690 of lalr1.cc  */
-#line 1434 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1147 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new SchemaImport(LOC((yyloc)),
                             NULL,
@@ -3473,7 +3487,7 @@
   case 66:
 
 /* Line 690 of lalr1.cc  */
-#line 1442 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1155 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new SchemaImport(LOC((yyloc)),
                             dynamic_cast<SchemaPrefix*>((yysemantic_stack_[(6) - (3)].node)),
@@ -3485,7 +3499,7 @@
   case 67:
 
 /* Line 690 of lalr1.cc  */
-#line 1453 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1164 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       URILiteralList *ull = new URILiteralList( LOC((yyloc)));
       ull->push_back( SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
@@ -3496,11 +3510,10 @@
   case 68:
 
 /* Line 690 of lalr1.cc  */
-#line 1460 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1171 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       if ( URILiteralList *ull = dynamic_cast<URILiteralList*>((yysemantic_stack_[(3) - (1)].node)) )
         ull->push_back( SYMTAB((yysemantic_stack_[(3) - (3)].sval)) );
-
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node);
     }
     break;
@@ -3508,7 +3521,7 @@
   case 69:
 
 /* Line 690 of lalr1.cc  */
-#line 1471 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1179 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new SchemaPrefix( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (2)].sval)) );
     }
@@ -3517,7 +3530,7 @@
   case 70:
 
 /* Line 690 of lalr1.cc  */
-#line 1476 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1184 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new SchemaPrefix( LOC((yyloc)), true );
     }
@@ -3526,10 +3539,9 @@
   case 71:
 
 /* Line 690 of lalr1.cc  */
-#line 1484 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1190 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new ModuleImport(LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (3)].sval)), NULL);
-
       dynamic_cast<ModuleImport *>((yyval.node))->setComment(SYMTAB((yysemantic_stack_[(3) - (2)].sval)));
     }
     break;
@@ -3537,10 +3549,9 @@
   case 72:
 
 /* Line 690 of lalr1.cc  */
-#line 1491 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1196 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new ModuleImport(LOC((yyloc)), SYMTAB((yysemantic_stack_[(6) - (4)].sval)), SYMTAB((yysemantic_stack_[(6) - (6)].sval)), NULL);
-
       dynamic_cast<ModuleImport *>((yyval.node))->setComment(SYMTAB((yysemantic_stack_[(6) - (2)].sval)));
     }
     break;
@@ -3548,12 +3559,11 @@
   case 73:
 
 /* Line 690 of lalr1.cc  */
-#line 1498 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1202 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new ModuleImport(LOC((yyloc)),
                             SYMTAB((yysemantic_stack_[(5) - (3)].sval)),
                             dynamic_cast<URILiteralList*>((yysemantic_stack_[(5) - (5)].node)));
-
       dynamic_cast<ModuleImport *>((yyval.node))->setComment(SYMTAB((yysemantic_stack_[(5) - (2)].sval)));
     }
     break;
@@ -3561,13 +3571,12 @@
   case 74:
 
 /* Line 690 of lalr1.cc  */
-#line 1507 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1210 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new ModuleImport(LOC((yyloc)),
                             SYMTAB((yysemantic_stack_[(8) - (4)].sval)),
                             SYMTAB((yysemantic_stack_[(8) - (6)].sval)),
                             dynamic_cast<URILiteralList*>((yysemantic_stack_[(8) - (8)].node)));
-
       dynamic_cast<ModuleImport *>((yyval.node))->setComment(SYMTAB((yysemantic_stack_[(8) - (2)].sval)));
     }
     break;
@@ -3575,7 +3584,7 @@
   case 75:
 
 /* Line 690 of lalr1.cc  */
-#line 1520 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1220 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new NamespaceDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(5) - (3)].sval)), SYMTAB((yysemantic_stack_[(5) - (5)].sval)) );
     }
@@ -3584,7 +3593,7 @@
   case 76:
 
 /* Line 690 of lalr1.cc  */
-#line 1528 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1226 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new DefaultNamespaceDecl(LOC((yyloc)),
                                     ParseConstants::ns_element_default,
@@ -3595,7 +3604,7 @@
   case 77:
 
 /* Line 690 of lalr1.cc  */
-#line 1535 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1233 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new DefaultNamespaceDecl(LOC((yyloc)),
                                     ParseConstants::ns_function_default,
@@ -3606,7 +3615,7 @@
   case 78:
 
 /* Line 690 of lalr1.cc  */
-#line 1545 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1241 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       VFO_DeclList *vdl = new VFO_DeclList( LOC((yyloc)));
       vdl->push_back( (yysemantic_stack_[(1) - (1)].node) );
@@ -3617,7 +3626,7 @@
   case 79:
 
 /* Line 690 of lalr1.cc  */
-#line 1552 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1248 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       ((VFO_DeclList*)(yysemantic_stack_[(3) - (1)].node))->push_back( (yysemantic_stack_[(3) - (3)].node) );
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node);
@@ -3627,9 +3636,9 @@
   case 80:
 
 /* Line 690 of lalr1.cc  */
-#line 1559 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1254 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.node) = (yysemantic_stack_[(3) - (1)].node); (yyval.node) = (yysemantic_stack_[(3) - (3)].node); // to prevent the Bison warning
+      (yyval.node) = (yysemantic_stack_[(3) - (1)].node); (yyval.node) = (yysemantic_stack_[(3) - (3)].node);
       (yylocation_stack_[(3) - (1)]).step();
       error((yylocation_stack_[(3) - (1)]), "syntax error, missing semicolon \";\" after declaration.");
       YYERROR;
@@ -3639,7 +3648,7 @@
   case 89:
 
 /* Line 690 of lalr1.cc  */
-#line 1582 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1273 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new DecimalFormatNode(LOC((yyloc)), (yysemantic_stack_[(4) - (4)].vstrpair));
       delete (yysemantic_stack_[(4) - (4)].vstrpair);
@@ -3649,7 +3658,7 @@
   case 90:
 
 /* Line 690 of lalr1.cc  */
-#line 1588 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1279 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new DecimalFormatNode(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)), (yysemantic_stack_[(4) - (4)].vstrpair));
       delete (yysemantic_stack_[(4) - (4)].vstrpair);
@@ -3659,7 +3668,7 @@
   case 91:
 
 /* Line 690 of lalr1.cc  */
-#line 1597 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1286 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.vstrpair) = new vector<string_pair_t>();
       (yyval.vstrpair)->push_back( *(yysemantic_stack_[(1) - (1)].strpair) );
@@ -3670,7 +3679,7 @@
   case 92:
 
 /* Line 690 of lalr1.cc  */
-#line 1604 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1293 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yysemantic_stack_[(2) - (1)].vstrpair)->push_back( *(yysemantic_stack_[(2) - (2)].strpair) );
       delete (yysemantic_stack_[(2) - (2)].strpair);
@@ -3681,7 +3690,7 @@
   case 93:
 
 /* Line 690 of lalr1.cc  */
-#line 1614 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1301 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       StringLiteral *sl = static_cast<StringLiteral*>((yysemantic_stack_[(3) - (3)].expr));
       (yyval.strpair) = new string_pair_t( (yysemantic_stack_[(3) - (1)].strval), sl->get_strval().str() );
@@ -3692,77 +3701,77 @@
   case 94:
 
 /* Line 690 of lalr1.cc  */
-#line 1623 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1308 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.strval) = "decimal-separator"; }
     break;
 
   case 95:
 
 /* Line 690 of lalr1.cc  */
-#line 1624 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1309 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.strval) = "digit"; }
     break;
 
   case 96:
 
 /* Line 690 of lalr1.cc  */
-#line 1625 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1310 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.strval) = "grouping-separator"; }
     break;
 
   case 97:
 
 /* Line 690 of lalr1.cc  */
-#line 1626 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1311 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.strval) = "infinity"; }
     break;
 
   case 98:
 
 /* Line 690 of lalr1.cc  */
-#line 1627 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1312 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.strval) = "minus-sign"; }
     break;
 
   case 99:
 
 /* Line 690 of lalr1.cc  */
-#line 1628 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1313 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.strval) = "NaN"; }
     break;
 
   case 100:
 
 /* Line 690 of lalr1.cc  */
-#line 1629 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1314 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.strval) = "pattern-separator"; }
     break;
 
   case 101:
 
 /* Line 690 of lalr1.cc  */
-#line 1630 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1315 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.strval) = "percent"; }
     break;
 
   case 102:
 
 /* Line 690 of lalr1.cc  */
-#line 1631 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1316 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.strval) = "per-mille"; }
     break;
 
   case 103:
 
 /* Line 690 of lalr1.cc  */
-#line 1632 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1317 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.strval) = "zero-digit"; }
     break;
 
   case 104:
 
 /* Line 690 of lalr1.cc  */
-#line 1638 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1321 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new OptionDecl(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)), SYMTAB((yysemantic_stack_[(4) - (4)].sval)));
     }
@@ -3771,7 +3780,7 @@
   case 105:
 
 /* Line 690 of lalr1.cc  */
-#line 1646 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1327 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new FTOptionDecl( LOC((yyloc)), dynamic_cast<FTMatchOptions*>((yysemantic_stack_[(3) - (3)].node)) );
     }
@@ -3780,7 +3789,7 @@
   case 106:
 
 /* Line 690 of lalr1.cc  */
-#line 1654 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1333 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(4) - (4)].node);
     }
@@ -3789,7 +3798,7 @@
   case 107:
 
 /* Line 690 of lalr1.cc  */
-#line 1662 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1339 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       CtxItemDecl* d = dynamic_cast<CtxItemDecl*>((yysemantic_stack_[(3) - (3)].node));
       d->theType = (yysemantic_stack_[(3) - (2)].node);
@@ -3800,7 +3809,7 @@
   case 108:
 
 /* Line 690 of lalr1.cc  */
-#line 1669 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1346 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -3809,7 +3818,7 @@
   case 109:
 
 /* Line 690 of lalr1.cc  */
-#line 1677 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1352 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       CtxItemDecl* d = dynamic_cast<CtxItemDecl*>((yysemantic_stack_[(1) - (1)].node));
       d->theIsExternal = false;
@@ -3820,7 +3829,7 @@
   case 110:
 
 /* Line 690 of lalr1.cc  */
-#line 1684 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1359 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CtxItemDecl(LOC((yyloc)), NULL);
     }
@@ -3829,7 +3838,7 @@
   case 111:
 
 /* Line 690 of lalr1.cc  */
-#line 1689 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1364 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
     }
@@ -3838,7 +3847,7 @@
   case 112:
 
 /* Line 690 of lalr1.cc  */
-#line 1697 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1370 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CtxItemDecl(LOC((yyloc)), (yysemantic_stack_[(2) - (2)].expr));
     }
@@ -3847,17 +3856,15 @@
   case 113:
 
 /* Line 690 of lalr1.cc  */
-#line 1705 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1376 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       std::auto_ptr<VarNameAndType> nt(dynamic_cast<VarNameAndType *>((yysemantic_stack_[(4) - (2)].varnametype)));
-
       (yyval.node) = new GlobalVarDecl(LOC((yyloc)),
                              nt->theName,
                              nt->theType,
                              (yysemantic_stack_[(4) - (4)].expr),
                              nt->get_annotations(),
-                             false);  // not external
-
+                             false);
       static_cast<GlobalVarDecl*>((yyval.node))->setComment(SYMTAB((yysemantic_stack_[(4) - (1)].sval)));
     }
     break;
@@ -3865,17 +3872,15 @@
   case 114:
 
 /* Line 690 of lalr1.cc  */
-#line 1719 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1388 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       std::auto_ptr<VarNameAndType> nt(dynamic_cast<VarNameAndType *>((yysemantic_stack_[(3) - (2)].varnametype)));
-
       (yyval.node) = new GlobalVarDecl(LOC((yyloc)),
                              nt->theName,
                              nt->theType,
-                             NULL,   // no init expr
+                             NULL,
                              nt->get_annotations(),
-                             true);  // external
-
+                             true);
       static_cast<GlobalVarDecl*>((yyval.node))->setComment(SYMTAB((yysemantic_stack_[(3) - (1)].sval)));
     }
     break;
@@ -3883,17 +3888,15 @@
   case 115:
 
 /* Line 690 of lalr1.cc  */
-#line 1733 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1400 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       std::auto_ptr<VarNameAndType> nt(dynamic_cast<VarNameAndType *>((yysemantic_stack_[(5) - (2)].varnametype)));
-
       (yyval.node) = new GlobalVarDecl(LOC((yyloc)),
                              nt->theName,
                              nt->theType,
-                             (yysemantic_stack_[(5) - (5)].expr),     // init expr
+                             (yysemantic_stack_[(5) - (5)].expr),
                              nt->get_annotations(),
-                             true);  // external
-
+                             true);
       static_cast<GlobalVarDecl*>((yyval.node))->setComment(SYMTAB((yysemantic_stack_[(5) - (1)].sval)));
     }
     break;
@@ -3901,7 +3904,7 @@
   case 116:
 
 /* Line 690 of lalr1.cc  */
-#line 1750 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1413 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.varnametype) = new VarNameAndType(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)), NULL, NULL);
     }
@@ -3910,7 +3913,7 @@
   case 117:
 
 /* Line 690 of lalr1.cc  */
-#line 1755 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1418 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.varnametype) = new VarNameAndType(LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)),
@@ -3922,7 +3925,7 @@
   case 118:
 
 /* Line 690 of lalr1.cc  */
-#line 1763 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1426 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.varnametype) = new VarNameAndType(LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(4) - (4)].expr)),
@@ -3934,7 +3937,7 @@
   case 119:
 
 /* Line 690 of lalr1.cc  */
-#line 1771 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1434 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.varnametype) = new VarNameAndType(LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(5) - (4)].expr)),
@@ -3946,7 +3949,7 @@
   case 120:
 
 /* Line 690 of lalr1.cc  */
-#line 1782 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1443 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AnnotationListParsenode(LOC((yyloc)), static_cast<AnnotationParsenode*>((yysemantic_stack_[(1) - (1)].node)));
     }
@@ -3955,7 +3958,7 @@
   case 121:
 
 /* Line 690 of lalr1.cc  */
-#line 1787 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1448 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       static_cast<AnnotationListParsenode*>((yysemantic_stack_[(2) - (1)].node))->push_back(static_cast<AnnotationParsenode*>((yysemantic_stack_[(2) - (2)].node)));
       (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
@@ -3965,7 +3968,7 @@
   case 122:
 
 /* Line 690 of lalr1.cc  */
-#line 1796 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1455 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AnnotationParsenode(LOC((yyloc)), new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval))), NULL);
     }
@@ -3974,7 +3977,7 @@
   case 123:
 
 /* Line 690 of lalr1.cc  */
-#line 1801 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1460 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AnnotationParsenode(LOC((yyloc)),
                                    new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (1)].sval))),
@@ -3985,7 +3988,7 @@
   case 124:
 
 /* Line 690 of lalr1.cc  */
-#line 1808 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1467 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AnnotationParsenode(LOC((yyloc)), new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)), true), NULL);
     }
@@ -3994,7 +3997,7 @@
   case 125:
 
 /* Line 690 of lalr1.cc  */
-#line 1813 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1472 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AnnotationParsenode(LOC((yyloc)),
                                    new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (1)].sval)), true),
@@ -4005,7 +4008,7 @@
   case 126:
 
 /* Line 690 of lalr1.cc  */
-#line 1823 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1480 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AnnotationLiteralListParsenode(LOC((yyloc)), (yysemantic_stack_[(1) - (1)].expr));
     }
@@ -4014,7 +4017,7 @@
   case 127:
 
 /* Line 690 of lalr1.cc  */
-#line 1828 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1485 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       static_cast<AnnotationLiteralListParsenode*>((yysemantic_stack_[(3) - (1)].node))->push_back((yysemantic_stack_[(3) - (3)].expr));
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node);
@@ -4024,7 +4027,7 @@
   case 128:
 
 /* Line 690 of lalr1.cc  */
-#line 1837 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1492 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       static_cast<FunctionDecl*>((yysemantic_stack_[(2) - (2)].node))->setComment( SYMTAB((yysemantic_stack_[(2) - (1)].sval)) );
       (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
@@ -4034,12 +4037,10 @@
   case 129:
 
 /* Line 690 of lalr1.cc  */
-#line 1843 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1498 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       FunctionDecl* fdecl = static_cast<FunctionDecl*>((yysemantic_stack_[(3) - (3)].node));
-
       fdecl->setComment( SYMTAB((yysemantic_stack_[(3) - (1)].sval)) );
-
       fdecl->set_annotations(static_cast<AnnotationListParsenode*>((yysemantic_stack_[(3) - (2)].node)));
       (yyval.node) = (yysemantic_stack_[(3) - (3)].node);
     }
@@ -4048,7 +4049,7 @@
   case 130:
 
 /* Line 690 of lalr1.cc  */
-#line 1856 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1507 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -4057,7 +4058,7 @@
   case 131:
 
 /* Line 690 of lalr1.cc  */
-#line 1861 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1512 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -4066,15 +4067,15 @@
   case 132:
 
 /* Line 690 of lalr1.cc  */
-#line 1869 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1518 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new FunctionDecl(LOC((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
                             &* (yysemantic_stack_[(4) - (3)].fnsig)->theParams,
                             &* (yysemantic_stack_[(4) - (3)].fnsig)->theReturnType,
-                            (yysemantic_stack_[(4) - (4)].expr),      // body
-                            false,   // not explicitly updating
-                            false);  // not external
+                            (yysemantic_stack_[(4) - (4)].expr),
+                            false,
+                            false);
       delete (yysemantic_stack_[(4) - (3)].fnsig);
     }
     break;
@@ -4082,15 +4083,15 @@
   case 133:
 
 /* Line 690 of lalr1.cc  */
-#line 1880 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1529 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new FunctionDecl(LOC ((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
                             (yysemantic_stack_[(4) - (3)].fnsig)->theParams.getp(),
                             (yysemantic_stack_[(4) - (3)].fnsig)->theReturnType.getp(),
-                            NULL,   // no body
-                            false,   // not explicitly updating
-                            true);  // external
+                            NULL,
+                            false,
+                            true);
       delete (yysemantic_stack_[(4) - (3)].fnsig);
     }
     break;
@@ -4098,15 +4099,15 @@
   case 134:
 
 /* Line 690 of lalr1.cc  */
-#line 1895 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1542 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new FunctionDecl(LOC ((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(5) - (3)].expr)),
                             (yysemantic_stack_[(5) - (4)].fnsig)->theParams.getp(),
                             (yysemantic_stack_[(5) - (4)].fnsig)->theReturnType.getp(),
-                            (yysemantic_stack_[(5) - (5)].expr),    // body
-                            true,  // updating
-                            false);// not external
+                            (yysemantic_stack_[(5) - (5)].expr),
+                            true,
+                            false);
       delete (yysemantic_stack_[(5) - (4)].fnsig);
     }
     break;
@@ -4114,15 +4115,15 @@
   case 135:
 
 /* Line 690 of lalr1.cc  */
-#line 1907 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1554 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new FunctionDecl(LOC((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(5) - (3)].expr)),
                             (yysemantic_stack_[(5) - (4)].fnsig)->theParams.getp(),
                             (yysemantic_stack_[(5) - (4)].fnsig)->theReturnType.getp(),
-                            NULL,  // no body
-                            true,  // updating
-                            true); // external
+                            NULL,
+                            true,
+                            true);
       delete (yysemantic_stack_[(5) - (4)].fnsig);
     }
     break;
@@ -4130,7 +4131,7 @@
   case 136:
 
 /* Line 690 of lalr1.cc  */
-#line 1922 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1567 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.fnsig) = new FunctionSig(NULL);
     }
@@ -4139,7 +4140,7 @@
   case 137:
 
 /* Line 690 of lalr1.cc  */
-#line 1927 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1572 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.fnsig) = new FunctionSig(dynamic_cast<ParamList*>((yysemantic_stack_[(3) - (2)].node)));
     }
@@ -4148,7 +4149,7 @@
   case 138:
 
 /* Line 690 of lalr1.cc  */
-#line 1932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1577 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.fnsig) = new FunctionSig(NULL, dynamic_cast<SequenceType*>((yysemantic_stack_[(4) - (4)].node)));
     }
@@ -4157,7 +4158,7 @@
   case 139:
 
 /* Line 690 of lalr1.cc  */
-#line 1937 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1582 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.fnsig) = new FunctionSig(dynamic_cast<ParamList*>((yysemantic_stack_[(5) - (2)].node)), dynamic_cast<SequenceType*>((yysemantic_stack_[(5) - (5)].node)));
     }
@@ -4166,7 +4167,7 @@
   case 140:
 
 /* Line 690 of lalr1.cc  */
-#line 1945 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1588 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       ParamList *pl = new ParamList( LOC((yyloc)) );
       pl->push_back( dynamic_cast<Param*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -4177,11 +4178,10 @@
   case 141:
 
 /* Line 690 of lalr1.cc  */
-#line 1952 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1595 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       if ( ParamList *pl = dynamic_cast<ParamList*>((yysemantic_stack_[(3) - (1)].node)) )
         pl->push_back( dynamic_cast<Param*>((yysemantic_stack_[(3) - (3)].node)) );
-
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node);
     }
     break;
@@ -4189,7 +4189,7 @@
   case 142:
 
 /* Line 690 of lalr1.cc  */
-#line 1963 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1603 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new Param(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)), NULL);
     }
@@ -4198,7 +4198,7 @@
   case 143:
 
 /* Line 690 of lalr1.cc  */
-#line 1968 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1608 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new Param(LOC((yyloc)),
                      static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)),
@@ -4209,13 +4209,12 @@
   case 144:
 
 /* Line 690 of lalr1.cc  */
-#line 1978 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1616 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CollectionDecl( LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)),
                               NULL,
                               NULL);
-
       static_cast<CollectionDecl*>((yyval.node))->setComment(SYMTAB((yysemantic_stack_[(3) - (1)].sval)));
     }
     break;
@@ -4223,13 +4222,12 @@
   case 145:
 
 /* Line 690 of lalr1.cc  */
-#line 1987 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1624 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CollectionDecl( LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(5) - (3)].expr)),
                               0,
                               static_cast<SequenceType*>((yysemantic_stack_[(5) - (5)].node)));
-
       static_cast<CollectionDecl*>((yyval.node))->setComment(SYMTAB((yysemantic_stack_[(5) - (1)].sval)));
     }
     break;
@@ -4237,13 +4235,12 @@
   case 146:
 
 /* Line 690 of lalr1.cc  */
-#line 1996 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1632 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CollectionDecl( LOC((yyloc)),
                                static_cast<QName*>((yysemantic_stack_[(4) - (4)].expr)),
                                static_cast<AnnotationListParsenode*>((yysemantic_stack_[(4) - (2)].node)),
                                0);
-
       static_cast<CollectionDecl*>((yyval.node))->setComment(SYMTAB((yysemantic_stack_[(4) - (1)].sval)));
     }
     break;
@@ -4251,13 +4248,12 @@
   case 147:
 
 /* Line 690 of lalr1.cc  */
-#line 2005 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1640 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CollectionDecl( LOC((yyloc)),
                                static_cast<QName*>((yysemantic_stack_[(6) - (4)].expr)),
                                static_cast<AnnotationListParsenode*>((yysemantic_stack_[(6) - (2)].node)),
                                static_cast<SequenceType*>((yysemantic_stack_[(6) - (6)].node)));
-
       static_cast<CollectionDecl*>((yyval.node))->setComment(SYMTAB((yysemantic_stack_[(6) - (1)].sval)));
     }
     break;
@@ -4265,7 +4261,7 @@
   case 148:
 
 /* Line 690 of lalr1.cc  */
-#line 2017 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1650 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = static_cast<parsenode*>(new SequenceType(LOC((yyloc)), (yysemantic_stack_[(1) - (1)].node), NULL));
     }
@@ -4274,7 +4270,7 @@
   case 149:
 
 /* Line 690 of lalr1.cc  */
-#line 2021 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1654 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = static_cast<parsenode*>(new SequenceType(LOC((yyloc)),
                                                     (yysemantic_stack_[(2) - (1)].node),
@@ -4285,7 +4281,7 @@
   case 150:
 
 /* Line 690 of lalr1.cc  */
-#line 2027 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1660 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = static_cast<parsenode*>(new SequenceType(LOC((yyloc)), (yysemantic_stack_[(1) - (1)].node), NULL));
     }
@@ -4294,26 +4290,24 @@
   case 151:
 
 /* Line 690 of lalr1.cc  */
-#line 2031 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1664 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = static_cast<parsenode*>(new SequenceType(LOC((yyloc)),
                                                     (yysemantic_stack_[(2) - (1)].node),
                                                     dynamic_cast<OccurrenceIndicator*>((yysemantic_stack_[(2) - (2)].node))));
-
     }
     break;
 
   case 152:
 
 /* Line 690 of lalr1.cc  */
-#line 2041 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1671 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AST_IndexDecl(LOC((yyloc)),
                              static_cast<QName*>((yysemantic_stack_[(8) - (3)].expr)),
                              (yysemantic_stack_[(8) - (6)].expr),
                              dynamic_cast<IndexKeyList*>((yysemantic_stack_[(8) - (8)].node)),
                              NULL);
-
       static_cast<AST_IndexDecl*>((yyval.node))->setComment( SYMTAB((yysemantic_stack_[(8) - (1)].sval)) );
     }
     break;
@@ -4321,14 +4315,13 @@
   case 153:
 
 /* Line 690 of lalr1.cc  */
-#line 2051 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1680 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AST_IndexDecl(LOC((yyloc)),
                              static_cast<QName*>((yysemantic_stack_[(9) - (4)].expr)),
                              (yysemantic_stack_[(9) - (7)].expr),
                              dynamic_cast<IndexKeyList*>((yysemantic_stack_[(9) - (9)].node)),
                              static_cast<AnnotationListParsenode*>((yysemantic_stack_[(9) - (2)].node)));
-
       static_cast<AST_IndexDecl*>((yyval.node))->setComment( SYMTAB((yysemantic_stack_[(9) - (1)].sval)) );
     }
     break;
@@ -4336,7 +4329,7 @@
   case 154:
 
 /* Line 690 of lalr1.cc  */
-#line 2064 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1691 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       IndexKeyList* keyList = new IndexKeyList(LOC((yyloc)));
       keyList->addKeySpec(dynamic_cast<IndexKeySpec*>((yysemantic_stack_[(1) - (1)].node)));
@@ -4347,7 +4340,7 @@
   case 155:
 
 /* Line 690 of lalr1.cc  */
-#line 2070 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1697 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       dynamic_cast<IndexKeyList*>((yysemantic_stack_[(3) - (1)].node))->addKeySpec(dynamic_cast<IndexKeySpec*>((yysemantic_stack_[(3) - (3)].node)));
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node);
@@ -4357,7 +4350,7 @@
   case 156:
 
 /* Line 690 of lalr1.cc  */
-#line 2079 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1704 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new IndexKeySpec(LOC((yyloc)), (yysemantic_stack_[(1) - (1)].expr), NULL, NULL);
     }
@@ -4366,7 +4359,7 @@
   case 157:
 
 /* Line 690 of lalr1.cc  */
-#line 2084 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1709 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new IndexKeySpec(LOC((yyloc)),
                             (yysemantic_stack_[(2) - (1)].expr),
@@ -4378,7 +4371,7 @@
   case 158:
 
 /* Line 690 of lalr1.cc  */
-#line 2091 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1716 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new IndexKeySpec(LOC((yyloc)),
                             (yysemantic_stack_[(2) - (1)].expr),
@@ -4390,7 +4383,7 @@
   case 159:
 
 /* Line 690 of lalr1.cc  */
-#line 2098 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1723 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new IndexKeySpec(LOC((yyloc)),
                             (yysemantic_stack_[(3) - (1)].expr),
@@ -4402,7 +4395,7 @@
   case 160:
 
 /* Line 690 of lalr1.cc  */
-#line 2110 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1733 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new ICCollSimpleCheck(LOC((yyloc)),
                                  static_cast<QName*>((yysemantic_stack_[(11) - (4)].expr)),
@@ -4415,7 +4408,7 @@
   case 161:
 
 /* Line 690 of lalr1.cc  */
-#line 2120 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1743 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new ICCollUniqueKeyCheck(LOC((yyloc)),
                                     static_cast<QName*>((yysemantic_stack_[(14) - (4)].expr)),
@@ -4428,7 +4421,7 @@
   case 162:
 
 /* Line 690 of lalr1.cc  */
-#line 2130 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1753 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new ICCollForeachNode(LOC((yyloc)),
                                  static_cast<QName*>((yysemantic_stack_[(13) - (4)].expr)),
@@ -4441,7 +4434,7 @@
   case 163:
 
 /* Line 690 of lalr1.cc  */
-#line 2141 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1764 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new ICForeignKey( LOC((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(22) - (4)].expr)),
@@ -4457,20 +4450,18 @@
   case 164:
 
 /* Line 690 of lalr1.cc  */
-#line 2157 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1777 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       if ((yysemantic_stack_[(1) - (1)].expr) == NULL)
       {
         error((yylocation_stack_[(1) - (1)]), "syntax error, unexpected end of file, the query body should not be empty");
         YYERROR;
       }
-
       if (dynamic_cast<BlockBody*>((yysemantic_stack_[(1) - (1)].expr)) != NULL)
       {
         BlockBody* blk = static_cast<BlockBody*>((yysemantic_stack_[(1) - (1)].expr));
         blk->setTopLevel(true);
       }
-
       (yyval.expr) = new QueryBody(LOC((yyloc)), (yysemantic_stack_[(1) - (1)].expr));
     }
     break;
@@ -4478,7 +4469,7 @@
   case 165:
 
 /* Line 690 of lalr1.cc  */
-#line 2177 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1793 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4487,7 +4478,7 @@
   case 166:
 
 /* Line 690 of lalr1.cc  */
-#line 2181 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1797 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4496,16 +4487,16 @@
   case 167:
 
 /* Line 690 of lalr1.cc  */
-#line 2185 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1801 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.expr) =  NULL;
+      (yyval.expr) = NULL;
     }
     break;
 
   case 168:
 
 /* Line 690 of lalr1.cc  */
-#line 2193 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1807 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4514,7 +4505,7 @@
   case 169:
 
 /* Line 690 of lalr1.cc  */
-#line 2197 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1811 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4523,16 +4514,16 @@
   case 170:
 
 /* Line 690 of lalr1.cc  */
-#line 2201 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1815 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.expr) =  new BlockBody(LOC((yyloc)));
+      (yyval.expr) = new BlockBody(LOC((yyloc)));
     }
     break;
 
   case 171:
 
 /* Line 690 of lalr1.cc  */
-#line 2209 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1821 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4541,12 +4532,10 @@
   case 172:
 
 /* Line 690 of lalr1.cc  */
-#line 2214 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1826 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       BlockBody* blk = static_cast<BlockBody*>((yysemantic_stack_[(2) - (1)].expr));
-
       blk->add((yysemantic_stack_[(2) - (2)].expr));
-
       (yyval.expr) = blk;
     }
     break;
@@ -4554,7 +4543,7 @@
   case 173:
 
 /* Line 690 of lalr1.cc  */
-#line 2226 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1834 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       BlockBody* blk = new BlockBody(LOC((yyloc)));
       blk->add((yysemantic_stack_[(1) - (1)].expr));
@@ -4565,12 +4554,10 @@
   case 174:
 
 /* Line 690 of lalr1.cc  */
-#line 2233 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1841 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       BlockBody* blk = static_cast<BlockBody*>((yysemantic_stack_[(2) - (1)].expr));
-
       blk->add((yysemantic_stack_[(2) - (2)].expr));
-
       (yyval.expr) = blk;
     }
     break;
@@ -4578,13 +4565,13 @@
   case 175:
 
 /* Line 690 of lalr1.cc  */
-#line 2243 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1848 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.expr) = (yysemantic_stack_[(4) - (1)].expr); // to prevent the Bison warning
-      (yyval.expr) = (yysemantic_stack_[(4) - (2)].expr); // to prevent the Bison warning
-      (yyval.expr) = (yysemantic_stack_[(4) - (4)].expr); // to prevent the Bison warning
+      (yyval.expr) = (yysemantic_stack_[(4) - (1)].expr);
+      (yyval.expr) = (yysemantic_stack_[(4) - (2)].expr);
+      (yyval.expr) = (yysemantic_stack_[(4) - (4)].expr);
       error((yylocation_stack_[(4) - (3)]), "syntax error, unexpected statement (missing semicolon \";\" between statements?)");
-      delete (yysemantic_stack_[(4) - (1)].expr); // these need to be deleted here because the parser deallocator will skip them
+      delete (yysemantic_stack_[(4) - (1)].expr);
       delete (yysemantic_stack_[(4) - (2)].expr);
       delete (yysemantic_stack_[(4) - (4)].expr);
       YYERROR;
@@ -4594,7 +4581,7 @@
   case 189:
 
 /* Line 690 of lalr1.cc  */
-#line 2276 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1876 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
     }
@@ -4603,14 +4590,15 @@
   case 190:
 
 /* Line 690 of lalr1.cc  */
-#line 2284 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1882 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       BlockBody* block = dynamic_cast<BlockBody*>((yysemantic_stack_[(3) - (2)].expr));
       if ((yysemantic_stack_[(3) - (2)].expr) == NULL || (block != NULL && block->isEmpty()))
       {
         (yyval.expr) = new JSONDirectObjectConstructor(LOC((yyloc)));
       }
-      else if (block == NULL)
+      else
+      if (block == NULL)
       {
         BlockBody* blk = new BlockBody(LOC((yyloc)));
         blk->add((yysemantic_stack_[(3) - (2)].expr));
@@ -4626,7 +4614,7 @@
   case 191:
 
 /* Line 690 of lalr1.cc  */
-#line 2306 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1903 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
     }
@@ -4635,7 +4623,7 @@
   case 192:
 
 /* Line 690 of lalr1.cc  */
-#line 2314 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1909 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(2) - (1)].expr);
     }
@@ -4644,7 +4632,7 @@
   case 193:
 
 /* Line 690 of lalr1.cc  */
-#line 2322 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1915 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       VarDeclStmt* vdecl = static_cast<VarDeclStmt*>((yysemantic_stack_[(3) - (1)].expr));
       vdecl->add((yysemantic_stack_[(3) - (3)].node));
@@ -4655,7 +4643,7 @@
   case 194:
 
 /* Line 690 of lalr1.cc  */
-#line 2329 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1922 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       VarDeclStmt* vdecl = new VarDeclStmt(LOC((yyloc)), NULL);
       vdecl->add((yysemantic_stack_[(2) - (2)].node));
@@ -4666,7 +4654,7 @@
   case 195:
 
 /* Line 690 of lalr1.cc  */
-#line 2336 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1929 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       VarDeclStmt* vdecl = new VarDeclStmt(LOC((yyloc)),
                                            static_cast<AnnotationListParsenode*>((yysemantic_stack_[(3) - (1)].node)));
@@ -4678,13 +4666,13 @@
   case 196:
 
 /* Line 690 of lalr1.cc  */
-#line 2347 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1938 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       LocalVarDecl* vd = new LocalVarDecl(LOC((yyloc)),
                                           static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)),
-                                          NULL,  // no type
-                                          NULL,  // no init expr
-                                          NULL); // no annotations
+                                          NULL,
+                                          NULL,
+                                          NULL);
       (yyval.node) = vd;
     }
     break;
@@ -4692,13 +4680,13 @@
   case 197:
 
 /* Line 690 of lalr1.cc  */
-#line 2356 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1947 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       LocalVarDecl* vd = new LocalVarDecl(LOC((yyloc)),
                                           static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)),
-                                          dynamic_cast<SequenceType*>((yysemantic_stack_[(3) - (3)].node)), // type
-                                          NULL,  // no init expr
-                                          NULL); // no annotations
+                                          dynamic_cast<SequenceType*>((yysemantic_stack_[(3) - (3)].node)),
+                                          NULL,
+                                          NULL);
       (yyval.node) = vd;
     }
     break;
@@ -4706,13 +4694,13 @@
   case 198:
 
 /* Line 690 of lalr1.cc  */
-#line 2365 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1956 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       LocalVarDecl* vd = new LocalVarDecl(LOC((yyloc)),
                                           static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
-                                          NULL,  // no type
-                                          (yysemantic_stack_[(4) - (4)].expr),    // init expr
-                                          NULL); // no annotations
+                                          NULL,
+                                          (yysemantic_stack_[(4) - (4)].expr),
+                                          NULL);
       (yyval.node) = vd;
     }
     break;
@@ -4720,13 +4708,13 @@
   case 199:
 
 /* Line 690 of lalr1.cc  */
-#line 2374 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1965 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       LocalVarDecl* vd = new LocalVarDecl(LOC((yyloc)),
                                           static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
-                                          dynamic_cast<SequenceType*>((yysemantic_stack_[(5) - (3)].node)), // type
-                                          (yysemantic_stack_[(5) - (5)].expr),    // init expr
-                                          NULL); // no annotations
+                                          dynamic_cast<SequenceType*>((yysemantic_stack_[(5) - (3)].node)),
+                                          (yysemantic_stack_[(5) - (5)].expr),
+                                          NULL);
       (yyval.node) = vd;
     }
     break;
@@ -4734,7 +4722,7 @@
   case 200:
 
 /* Line 690 of lalr1.cc  */
-#line 2387 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1976 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new AssignExpr(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)), (yysemantic_stack_[(5) - (4)].expr));
     }
@@ -4743,7 +4731,7 @@
   case 201:
 
 /* Line 690 of lalr1.cc  */
-#line 2395 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1982 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new ApplyExpr(LOC((yyloc)), (yysemantic_stack_[(2) - (1)].expr));
     }
@@ -4752,7 +4740,7 @@
   case 202:
 
 /* Line 690 of lalr1.cc  */
-#line 2403 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1988 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new ExitExpr(LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr));
     }
@@ -4761,7 +4749,7 @@
   case 203:
 
 /* Line 690 of lalr1.cc  */
-#line 2411 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 1994 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       BlockBody* bb = dynamic_cast<BlockBody *>((yysemantic_stack_[(5) - (5)].expr));
       if (bb == NULL)
@@ -4769,7 +4757,6 @@
         bb = new BlockBody((yysemantic_stack_[(5) - (5)].expr)->get_location());
         bb->add((yysemantic_stack_[(5) - (5)].expr));
       }
-
       (yyval.expr) = new WhileExpr(LOC((yyloc)), (yysemantic_stack_[(5) - (3)].expr), bb);
     }
     break;
@@ -4777,7 +4764,7 @@
   case 204:
 
 /* Line 690 of lalr1.cc  */
-#line 2426 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2006 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new FlowCtlStatement(LOC((yyloc)), FlowCtlStatement::BREAK);
     }
@@ -4786,7 +4773,7 @@
   case 205:
 
 /* Line 690 of lalr1.cc  */
-#line 2431 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2011 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new FlowCtlStatement( LOC((yyloc)), FlowCtlStatement::CONTINUE );
     }
@@ -4795,7 +4782,7 @@
   case 206:
 
 /* Line 690 of lalr1.cc  */
-#line 2439 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2017 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       ReturnExpr* re = dynamic_cast<ReturnExpr*>((yysemantic_stack_[(2) - (2)].expr));
       (yyval.expr) = new FLWORExpr(LOC((yyloc)),
@@ -4810,17 +4797,15 @@
   case 207:
 
 /* Line 690 of lalr1.cc  */
-#line 2453 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2029 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       exprnode* retExpr = (yysemantic_stack_[(2) - (2)].expr);
-
       if (dynamic_cast<VarDeclStmt*>(retExpr) != NULL)
       {
         BlockBody* blk = new BlockBody(LOC((yyloc)));
         blk->add(retExpr);
         retExpr = blk;
       }
-
       (yyval.expr) = new ReturnExpr(LOC((yyloc)), retExpr);
     }
     break;
@@ -4828,25 +4813,22 @@
   case 208:
 
 /* Line 690 of lalr1.cc  */
-#line 2470 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2042 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       exprnode* thenExpr = (yysemantic_stack_[(8) - (6)].expr);
       exprnode* elseExpr = (yysemantic_stack_[(8) - (8)].expr);
-
       if (dynamic_cast<VarDeclStmt*>(thenExpr) != NULL)
       {
         BlockBody* blk = new BlockBody(LOC((yyloc)));
         blk->add(thenExpr);
         thenExpr = blk;
       }
-
       if (dynamic_cast<VarDeclStmt*>(elseExpr) != NULL)
       {
         BlockBody* blk = new BlockBody(LOC((yyloc)));
         blk->add(elseExpr);
         elseExpr = blk;
       }
-
       (yyval.expr) = new IfExpr(LOC((yyloc)), (yysemantic_stack_[(8) - (3)].expr), thenExpr, elseExpr);
     }
     break;
@@ -4854,7 +4836,7 @@
   case 209:
 
 /* Line 690 of lalr1.cc  */
-#line 2495 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2062 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new TryExpr(LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr), (yysemantic_stack_[(3) - (3)].expr));
     }
@@ -4863,7 +4845,7 @@
   case 210:
 
 /* Line 690 of lalr1.cc  */
-#line 2503 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2068 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       CatchListExpr* cle = new CatchListExpr( LOC((yyloc)) );
       cle->push_back( static_cast<CatchExpr*>((yysemantic_stack_[(1) - (1)].expr)) );
@@ -4874,7 +4856,7 @@
   case 211:
 
 /* Line 690 of lalr1.cc  */
-#line 2510 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2075 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       CatchListExpr *cle = dynamic_cast<CatchListExpr*>((yysemantic_stack_[(2) - (1)].expr));
       if ( cle )
@@ -4886,7 +4868,7 @@
   case 212:
 
 /* Line 690 of lalr1.cc  */
-#line 2521 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2084 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
        (yyval.expr) = new CatchExpr(LOC((yyloc)), *(yysemantic_stack_[(3) - (2)].name_test_list), (yysemantic_stack_[(3) - (3)].expr));
        delete (yysemantic_stack_[(3) - (2)].name_test_list);
@@ -4896,7 +4878,7 @@
   case 213:
 
 /* Line 690 of lalr1.cc  */
-#line 2530 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2091 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new BlockBody(LOC((yyloc)));
     }
@@ -4905,7 +4887,7 @@
   case 214:
 
 /* Line 690 of lalr1.cc  */
-#line 2537 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2097 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4914,7 +4896,7 @@
   case 215:
 
 /* Line 690 of lalr1.cc  */
-#line 2542 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2102 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       Expr* expr = dynamic_cast<Expr*>((yysemantic_stack_[(3) - (1)].expr));
       if ( !expr )
@@ -4930,16 +4912,13 @@
   case 216:
 
 /* Line 690 of lalr1.cc  */
-#line 2555 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2114 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.expr) = (yysemantic_stack_[(3) - (1)].expr); // to prevent the Bison warning
-      (yyval.expr) = (yysemantic_stack_[(3) - (3)].expr); // to prevent the Bison warning
-      // Heuristics to improve the error message: if the $1 Expr is a QName (which in turn gets
-      // promoted to a PathExpr), chances are that it's not a missing comma, so don't modify
-      // the error message.
+      (yyval.expr) = (yysemantic_stack_[(3) - (1)].expr);
+      (yyval.expr) = (yysemantic_stack_[(3) - (3)].expr);
       if (dynamic_cast<PathExpr*>((yysemantic_stack_[(3) - (1)].expr)) == NULL)
         error((yylocation_stack_[(3) - (2)]), "syntax error, unexpected expression (missing comma \",\" between expressions?)");
-      delete (yysemantic_stack_[(3) - (1)].expr); // these need to be deleted here because the parser deallocator will skip them
+      delete (yysemantic_stack_[(3) - (1)].expr);
       delete (yysemantic_stack_[(3) - (3)].expr);
       YYERROR;
     }
@@ -4948,7 +4927,7 @@
   case 235:
 
 /* Line 690 of lalr1.cc  */
-#line 2602 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2148 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       ReturnExpr *re = dynamic_cast<ReturnExpr*>((yysemantic_stack_[(2) - (2)].expr));
       (yyval.expr) = new FLWORExpr(LOC((yyloc)),
@@ -4963,7 +4942,7 @@
   case 236:
 
 /* Line 690 of lalr1.cc  */
-#line 2616 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2160 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new ReturnExpr( LOC((yyloc)), (yysemantic_stack_[(2) - (2)].expr) );
     }
@@ -4972,7 +4951,7 @@
   case 237:
 
 /* Line 690 of lalr1.cc  */
-#line 2624 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2166 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.strval) = parser::the_sliding;
     }
@@ -4981,7 +4960,7 @@
   case 238:
 
 /* Line 690 of lalr1.cc  */
-#line 2629 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2171 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.strval) = parser::the_tumbling;
     }
@@ -4990,7 +4969,7 @@
   case 239:
 
 /* Line 690 of lalr1.cc  */
-#line 2637 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2177 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.strval) = parser::the_start;
     }
@@ -4999,7 +4978,7 @@
   case 240:
 
 /* Line 690 of lalr1.cc  */
-#line 2642 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2182 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.strval) = parser::the_end;
     }
@@ -5008,7 +4987,7 @@
   case 241:
 
 /* Line 690 of lalr1.cc  */
-#line 2647 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2187 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
     (yyval.strval) = parser::the_only_end;
   }
@@ -5017,7 +4996,7 @@
   case 242:
 
 /* Line 690 of lalr1.cc  */
-#line 2655 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2193 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new FLWORWinCond(LOC((yyloc)),
                             dynamic_cast<WindowVars*>((yysemantic_stack_[(4) - (2)].node)),
@@ -5030,7 +5009,7 @@
   case 243:
 
 /* Line 690 of lalr1.cc  */
-#line 2664 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2202 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new FLWORWinCond(LOC((yyloc)),
                             NULL,
@@ -5043,7 +5022,7 @@
   case 244:
 
 /* Line 690 of lalr1.cc  */
-#line 2676 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2213 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new WindowClause (LOC ((yyloc)),
                              ((yysemantic_stack_[(5) - (2)].strval) == parser::the_tumbling ?
@@ -5058,7 +5037,7 @@
   case 245:
 
 /* Line 690 of lalr1.cc  */
-#line 2686 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2225 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new WindowClause (LOC ((yyloc)),
                              ((yysemantic_stack_[(4) - (2)].strval) == parser::the_tumbling ?
@@ -5072,7 +5051,7 @@
   case 246:
 
 /* Line 690 of lalr1.cc  */
-#line 2699 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2236 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CountClause(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)));
     }
@@ -5081,7 +5060,7 @@
   case 255:
 
 /* Line 690 of lalr1.cc  */
-#line 2723 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2254 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       FLWORClauseList *fcl = new FLWORClauseList( LOC((yyloc)) );
       fcl->push_back( dynamic_cast<FLWORClause*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5092,7 +5071,7 @@
   case 256:
 
 /* Line 690 of lalr1.cc  */
-#line 2730 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2261 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       FLWORClauseList *fcl = dynamic_cast<FLWORClauseList*>((yysemantic_stack_[(2) - (1)].node));
       fcl->push_back( dynamic_cast<FLWORClause*>((yysemantic_stack_[(2) - (2)].node)) );
@@ -5103,7 +5082,7 @@
   case 257:
 
 /* Line 690 of lalr1.cc  */
-#line 2740 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2270 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new ForClause(LOC((yyloc)), dynamic_cast<VarInDeclList*>((yysemantic_stack_[(3) - (3)].node)));
     }
@@ -5112,9 +5091,9 @@
   case 258:
 
 /* Line 690 of lalr1.cc  */
-#line 2746 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2276 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.node) = (yysemantic_stack_[(3) - (3)].node); // to prevent the Bison warning
+      (yyval.node) = (yysemantic_stack_[(3) - (3)].node);
       error((yylocation_stack_[(3) - (2)]), "syntax error, unexpected qualified name \""
           + static_cast<VarInDeclList*>((yysemantic_stack_[(3) - (3)].node))->operator[](0)->get_var_name()->get_qname().str() + "\" (missing \"$\" sign?)");
       delete (yysemantic_stack_[(3) - (3)].node);
@@ -5125,10 +5104,10 @@
   case 259:
 
 /* Line 690 of lalr1.cc  */
-#line 2755 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2286 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.node) = NULL; // to prevent the Bison warning
-      error((yylocation_stack_[(2) - (2)]), ""); // the error message is already set in the driver's parseError member
+      (yyval.node) = NULL;
+      error((yylocation_stack_[(2) - (2)]), "");
       YYERROR;
     }
     break;
@@ -5136,16 +5115,15 @@
   case 261:
 
 /* Line 690 of lalr1.cc  */
-#line 2765 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2295 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      // this adds on shift-reduce conflict (probably with FTRange expression)
     }
     break;
 
   case 262:
 
 /* Line 690 of lalr1.cc  */
-#line 2773 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2300 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       VarInDeclList* vdl = new VarInDeclList( LOC((yyloc)) );
       vdl->push_back( dynamic_cast<VarInDecl*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5156,7 +5134,7 @@
   case 263:
 
 /* Line 690 of lalr1.cc  */
-#line 2780 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2307 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       if ( VarInDeclList* vdl = dynamic_cast<VarInDeclList*>((yysemantic_stack_[(4) - (1)].node)) )
         vdl->push_back( dynamic_cast<VarInDecl*>((yysemantic_stack_[(4) - (4)].node)) );
@@ -5167,9 +5145,9 @@
   case 264:
 
 /* Line 690 of lalr1.cc  */
-#line 2788 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2314 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.node) = (yysemantic_stack_[(3) - (1)].node); // to prevent the Bison warning
+      (yyval.node) = (yysemantic_stack_[(3) - (1)].node);
       error((yylocation_stack_[(3) - (3)]), "syntax error, unexpected QName \""
           + static_cast<VarInDecl*>((yysemantic_stack_[(3) - (3)].node))->get_var_name()->get_qname().str() + "\" (missing \"$\" sign?)");
       delete (yysemantic_stack_[(3) - (1)].node);
@@ -5180,7 +5158,7 @@
   case 265:
 
 /* Line 690 of lalr1.cc  */
-#line 2800 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2324 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(3) - (1)].expr)),
@@ -5195,7 +5173,7 @@
   case 266:
 
 /* Line 690 of lalr1.cc  */
-#line 2810 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2334 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (1)].expr)),
@@ -5210,7 +5188,7 @@
   case 267:
 
 /* Line 690 of lalr1.cc  */
-#line 2820 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2344 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
@@ -5225,7 +5203,7 @@
   case 268:
 
 /* Line 690 of lalr1.cc  */
-#line 2830 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2354 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(6) - (1)].expr)),
@@ -5240,7 +5218,7 @@
   case 269:
 
 /* Line 690 of lalr1.cc  */
-#line 2840 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2364 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
@@ -5255,7 +5233,7 @@
   case 270:
 
 /* Line 690 of lalr1.cc  */
-#line 2850 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2374 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(6) - (1)].expr)),
@@ -5270,7 +5248,7 @@
   case 271:
 
 /* Line 690 of lalr1.cc  */
-#line 2860 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2384 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (1)].expr)),
@@ -5285,7 +5263,7 @@
   case 272:
 
 /* Line 690 of lalr1.cc  */
-#line 2870 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2394 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(7) - (1)].expr)),
@@ -5300,7 +5278,7 @@
   case 273:
 
 /* Line 690 of lalr1.cc  */
-#line 2881 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2404 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
@@ -5314,7 +5292,7 @@
   case 274:
 
 /* Line 690 of lalr1.cc  */
-#line 2890 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2413 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (1)].expr)),
@@ -5329,7 +5307,7 @@
   case 275:
 
 /* Line 690 of lalr1.cc  */
-#line 2900 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2423 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC ((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (1)].expr)),
@@ -5344,7 +5322,7 @@
   case 276:
 
 /* Line 690 of lalr1.cc  */
-#line 2910 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2433 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC ((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(6) - (1)].expr)),
@@ -5359,7 +5337,7 @@
   case 277:
 
 /* Line 690 of lalr1.cc  */
-#line 2926 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2445 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new PositionalVar(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)));
     }
@@ -5368,7 +5346,7 @@
   case 278:
 
 /* Line 690 of lalr1.cc  */
-#line 2935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2451 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new FTScoreVar(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)));
     }
@@ -5377,7 +5355,7 @@
   case 279:
 
 /* Line 690 of lalr1.cc  */
-#line 2944 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2457 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new LetClause( LOC((yyloc)), dynamic_cast<VarGetsDeclList*>((yysemantic_stack_[(2) - (2)].node)) );
         }
@@ -5386,7 +5364,7 @@
   case 280:
 
 /* Line 690 of lalr1.cc  */
-#line 2952 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2463 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             VarGetsDeclList *vgdl = new VarGetsDeclList( LOC((yyloc)) );
             vgdl->push_back( dynamic_cast<VarGetsDecl*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5397,7 +5375,7 @@
   case 281:
 
 /* Line 690 of lalr1.cc  */
-#line 2958 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2469 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             if( VarGetsDeclList *vgdl = dynamic_cast<VarGetsDeclList*>((yysemantic_stack_[(3) - (1)].node)) )
                 vgdl->push_back( dynamic_cast<VarGetsDecl*>((yysemantic_stack_[(3) - (3)].node)) );
@@ -5408,7 +5386,7 @@
   case 282:
 
 /* Line 690 of lalr1.cc  */
-#line 2970 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2477 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarGetsDecl(LOC ((yyloc)),
                            static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -5421,7 +5399,7 @@
   case 283:
 
 /* Line 690 of lalr1.cc  */
-#line 2978 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2485 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarGetsDecl(LOC ((yyloc)),
                            static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -5434,7 +5412,7 @@
   case 284:
 
 /* Line 690 of lalr1.cc  */
-#line 2988 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2493 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarGetsDecl(LOC ((yyloc)),
                            dynamic_cast<FTScoreVar*>((yysemantic_stack_[(3) - (1)].node))->get_var_name(),
@@ -5447,7 +5425,7 @@
   case 285:
 
 /* Line 690 of lalr1.cc  */
-#line 2996 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2501 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarGetsDecl(LOC ((yyloc)),
                            static_cast<QName*>((yysemantic_stack_[(6) - (2)].expr)),
@@ -5460,7 +5438,7 @@
   case 286:
 
 /* Line 690 of lalr1.cc  */
-#line 3008 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2511 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new WindowVarDecl(LOC ((yyloc)),
                              static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -5471,7 +5449,7 @@
   case 287:
 
 /* Line 690 of lalr1.cc  */
-#line 3014 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2517 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new WindowVarDecl(LOC ((yyloc)),
                              static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -5483,7 +5461,7 @@
   case 289:
 
 /* Line 690 of lalr1.cc  */
-#line 3027 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2527 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), NULL, static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)), NULL, NULL);
     }
@@ -5492,7 +5470,7 @@
   case 290:
 
 /* Line 690 of lalr1.cc  */
-#line 3031 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2531 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(3) - (3)].node);
       dynamic_cast<WindowVars *>((yyval.node))->set_curr(static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)));
@@ -5502,7 +5480,7 @@
   case 291:
 
 /* Line 690 of lalr1.cc  */
-#line 3039 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2538 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), dynamic_cast<PositionalVar*>((yysemantic_stack_[(1) - (1)].node)), NULL, NULL, NULL);
     }
@@ -5511,7 +5489,7 @@
   case 292:
 
 /* Line 690 of lalr1.cc  */
-#line 3043 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2542 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
       dynamic_cast<WindowVars *>((yyval.node))->set_posvar(dynamic_cast<PositionalVar*>((yysemantic_stack_[(2) - (1)].node)));
@@ -5521,7 +5499,7 @@
   case 294:
 
 /* Line 690 of lalr1.cc  */
-#line 3052 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2550 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), NULL, NULL, static_cast<QName*>((yysemantic_stack_[(6) - (3)].expr)), static_cast<QName*>((yysemantic_stack_[(6) - (6)].expr)));
     }
@@ -5530,7 +5508,7 @@
   case 295:
 
 /* Line 690 of lalr1.cc  */
-#line 3056 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2554 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), NULL, NULL, NULL, static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)));
     }
@@ -5539,7 +5517,7 @@
   case 296:
 
 /* Line 690 of lalr1.cc  */
-#line 3060 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2558 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), NULL, NULL, static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)), NULL);
     }
@@ -5548,7 +5526,7 @@
   case 297:
 
 /* Line 690 of lalr1.cc  */
-#line 3070 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2564 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new WhereClause(LOC ((yyloc)), (yysemantic_stack_[(2) - (2)].expr));
     }
@@ -5557,7 +5535,7 @@
   case 298:
 
 /* Line 690 of lalr1.cc  */
-#line 3078 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2570 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new GroupByClause(LOC((yyloc)), dynamic_cast<GroupSpecList*>((yysemantic_stack_[(3) - (3)].node)));
     }
@@ -5566,7 +5544,7 @@
   case 299:
 
 /* Line 690 of lalr1.cc  */
-#line 3085 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2576 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       GroupSpecList* gsl = new GroupSpecList(LOC((yyloc)));
       gsl->push_back(static_cast<GroupSpec*>((yysemantic_stack_[(1) - (1)].node)));
@@ -5577,7 +5555,7 @@
   case 300:
 
 /* Line 690 of lalr1.cc  */
-#line 3091 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2582 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       GroupSpecList* gsl = static_cast<GroupSpecList*>((yysemantic_stack_[(3) - (1)].node));
       gsl->push_back(static_cast<GroupSpec*>((yysemantic_stack_[(3) - (3)].node)));
@@ -5588,7 +5566,7 @@
   case 301:
 
 /* Line 690 of lalr1.cc  */
-#line 3101 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2590 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)), NULL, NULL, NULL);
     }
@@ -5597,7 +5575,7 @@
   case 302:
 
 /* Line 690 of lalr1.cc  */
-#line 3105 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2594 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)), NULL, (yysemantic_stack_[(4) - (4)].expr), NULL);
     }
@@ -5606,7 +5584,7 @@
   case 303:
 
 /* Line 690 of lalr1.cc  */
-#line 3109 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2598 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -5619,7 +5597,7 @@
   case 304:
 
 /* Line 690 of lalr1.cc  */
-#line 3117 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2606 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(6) - (2)].expr)),
@@ -5632,7 +5610,7 @@
   case 305:
 
 /* Line 690 of lalr1.cc  */
-#line 3125 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2614 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -5645,7 +5623,7 @@
   case 306:
 
 /* Line 690 of lalr1.cc  */
-#line 3133 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2622 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)),
@@ -5658,7 +5636,7 @@
   case 307:
 
 /* Line 690 of lalr1.cc  */
-#line 3145 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2632 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new GroupCollationSpec( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)) );
     }
@@ -5667,7 +5645,7 @@
   case 308:
 
 /* Line 690 of lalr1.cc  */
-#line 3153 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2638 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderByClause(
                 LOC((yyloc)), dynamic_cast<OrderSpecList*>((yysemantic_stack_[(3) - (3)].node))
@@ -5678,7 +5656,7 @@
   case 309:
 
 /* Line 690 of lalr1.cc  */
-#line 3159 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2644 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderByClause(
                 LOC((yyloc)), dynamic_cast<OrderSpecList*>((yysemantic_stack_[(4) - (4)].node)), true
@@ -5689,7 +5667,7 @@
   case 310:
 
 /* Line 690 of lalr1.cc  */
-#line 3169 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2652 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             OrderSpecList *osl = new OrderSpecList( LOC((yyloc)) );
             osl->push_back( dynamic_cast<OrderSpec*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5700,7 +5678,7 @@
   case 311:
 
 /* Line 690 of lalr1.cc  */
-#line 3175 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2658 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             if ( OrderSpecList* osl = dynamic_cast<OrderSpecList*>((yysemantic_stack_[(3) - (1)].node)) )
                 osl->push_back( dynamic_cast<OrderSpec*>((yysemantic_stack_[(3) - (3)].node)) );
@@ -5711,7 +5689,7 @@
   case 312:
 
 /* Line 690 of lalr1.cc  */
-#line 3185 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2666 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderSpec( LOC((yyloc)), (yysemantic_stack_[(1) - (1)].expr), NULL );
         }
@@ -5720,7 +5698,7 @@
   case 313:
 
 /* Line 690 of lalr1.cc  */
-#line 3189 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2670 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderSpec(
                 LOC((yyloc)), (yysemantic_stack_[(2) - (1)].expr), dynamic_cast<OrderModifierPN*>((yysemantic_stack_[(2) - (2)].node))
@@ -5731,7 +5709,7 @@
   case 314:
 
 /* Line 690 of lalr1.cc  */
-#line 3199 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2678 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)), dynamic_cast<OrderDirSpec*>((yysemantic_stack_[(1) - (1)].node)), NULL, NULL
@@ -5742,7 +5720,7 @@
   case 315:
 
 /* Line 690 of lalr1.cc  */
-#line 3205 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2684 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)), NULL, dynamic_cast<OrderEmptySpec*>((yysemantic_stack_[(1) - (1)].node)), NULL
@@ -5753,7 +5731,7 @@
   case 316:
 
 /* Line 690 of lalr1.cc  */
-#line 3211 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2690 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)), NULL, NULL, dynamic_cast<OrderCollationSpec*>((yysemantic_stack_[(1) - (1)].node))
@@ -5764,7 +5742,7 @@
   case 317:
 
 /* Line 690 of lalr1.cc  */
-#line 3217 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2696 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)),
@@ -5778,7 +5756,7 @@
   case 318:
 
 /* Line 690 of lalr1.cc  */
-#line 3226 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2705 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)),
@@ -5792,7 +5770,7 @@
   case 319:
 
 /* Line 690 of lalr1.cc  */
-#line 3235 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2714 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)),
@@ -5806,7 +5784,7 @@
   case 320:
 
 /* Line 690 of lalr1.cc  */
-#line 3244 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2723 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)),
@@ -5820,7 +5798,7 @@
   case 321:
 
 /* Line 690 of lalr1.cc  */
-#line 3257 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2734 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderDirSpec( LOC((yyloc)), ParseConstants::dir_ascending );
         }
@@ -5829,7 +5807,7 @@
   case 322:
 
 /* Line 690 of lalr1.cc  */
-#line 3261 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2738 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderDirSpec( LOC((yyloc)), ParseConstants::dir_descending );
         }
@@ -5838,7 +5816,7 @@
   case 323:
 
 /* Line 690 of lalr1.cc  */
-#line 3269 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2744 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderEmptySpec(
                 LOC((yyloc)), StaticContextConsts::empty_greatest
@@ -5849,7 +5827,7 @@
   case 324:
 
 /* Line 690 of lalr1.cc  */
-#line 3275 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2750 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderEmptySpec(
                 LOC((yyloc)), StaticContextConsts::empty_least
@@ -5860,7 +5838,7 @@
   case 325:
 
 /* Line 690 of lalr1.cc  */
-#line 3285 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2758 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderCollationSpec( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)) );
         }
@@ -5869,7 +5847,7 @@
   case 326:
 
 /* Line 690 of lalr1.cc  */
-#line 3293 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2764 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new QuantifiedExpr(
                 LOC((yyloc)),
@@ -5883,7 +5861,7 @@
   case 327:
 
 /* Line 690 of lalr1.cc  */
-#line 3302 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2773 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new QuantifiedExpr(
                 LOC((yyloc)),
@@ -5897,19 +5875,18 @@
   case 328:
 
 /* Line 690 of lalr1.cc  */
-#line 3315 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2784 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       QVarInDeclList *qvidl = new QVarInDeclList( LOC((yyloc)) );
       qvidl->push_back( dynamic_cast<QVarInDecl*>((yysemantic_stack_[(1) - (1)].node)) );
       (yyval.node) = qvidl;
-
     }
     break;
 
   case 329:
 
 /* Line 690 of lalr1.cc  */
-#line 3322 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2790 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       QVarInDeclList *qvidl = dynamic_cast<QVarInDeclList*>((yysemantic_stack_[(4) - (1)].node));
       qvidl->push_back( dynamic_cast<QVarInDecl*>((yysemantic_stack_[(4) - (4)].node)) );
@@ -5920,7 +5897,7 @@
   case 330:
 
 /* Line 690 of lalr1.cc  */
-#line 3334 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2798 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new QVarInDecl(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (1)].expr)), (yysemantic_stack_[(3) - (3)].expr));
     }
@@ -5929,7 +5906,7 @@
   case 331:
 
 /* Line 690 of lalr1.cc  */
-#line 3338 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2802 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new QVarInDecl(LOC((yyloc)),
                           static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
@@ -5941,7 +5918,7 @@
   case 332:
 
 /* Line 690 of lalr1.cc  */
-#line 3350 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2811 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new SwitchExpr(LOC((yyloc)), (yysemantic_stack_[(8) - (3)].expr), static_cast<SwitchCaseClauseList*>((yysemantic_stack_[(8) - (5)].node)), (yysemantic_stack_[(8) - (8)].expr));
     }
@@ -5950,7 +5927,7 @@
   case 333:
 
 /* Line 690 of lalr1.cc  */
-#line 3357 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2817 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       SwitchCaseClauseList* scc_list_p = new SwitchCaseClauseList(LOC((yyloc)));
       scc_list_p->push_back(static_cast<SwitchCaseClause*>((yysemantic_stack_[(1) - (1)].node)));
@@ -5961,7 +5938,7 @@
   case 334:
 
 /* Line 690 of lalr1.cc  */
-#line 3363 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2823 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       SwitchCaseClauseList* scc_list_p = static_cast<SwitchCaseClauseList*>((yysemantic_stack_[(2) - (1)].node));
       scc_list_p->push_back(static_cast<SwitchCaseClause*>((yysemantic_stack_[(2) - (2)].node)));
@@ -5972,7 +5949,7 @@
   case 335:
 
 /* Line 690 of lalr1.cc  */
-#line 3372 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2831 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new SwitchCaseClause(LOC((yyloc)), dynamic_cast<SwitchCaseOperandList*>((yysemantic_stack_[(3) - (1)].node)), (yysemantic_stack_[(3) - (3)].expr));
     }
@@ -5981,7 +5958,7 @@
   case 336:
 
 /* Line 690 of lalr1.cc  */
-#line 3379 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2837 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       SwitchCaseOperandList* sco_list_p = new SwitchCaseOperandList(LOC((yyloc)));
       sco_list_p->push_back((yysemantic_stack_[(2) - (2)].expr));
@@ -5992,7 +5969,7 @@
   case 337:
 
 /* Line 690 of lalr1.cc  */
-#line 3385 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2843 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       SwitchCaseOperandList* sco_list_p = static_cast<SwitchCaseOperandList*>((yysemantic_stack_[(3) - (1)].node));
       sco_list_p->push_back((yysemantic_stack_[(3) - (3)].expr));
@@ -6003,7 +5980,7 @@
   case 338:
 
 /* Line 690 of lalr1.cc  */
-#line 3396 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2851 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new SwitchExpr(LOC((yyloc)), (yysemantic_stack_[(8) - (3)].expr), static_cast<SwitchCaseClauseList*>((yysemantic_stack_[(8) - (5)].node)), (yysemantic_stack_[(8) - (8)].expr));
     }
@@ -6012,7 +5989,7 @@
   case 339:
 
 /* Line 690 of lalr1.cc  */
-#line 3403 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2857 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       SwitchCaseClauseList* scc_list_p = new SwitchCaseClauseList(LOC((yyloc)));
       scc_list_p->push_back(static_cast<SwitchCaseClause*>((yysemantic_stack_[(1) - (1)].node)));
@@ -6023,7 +6000,7 @@
   case 340:
 
 /* Line 690 of lalr1.cc  */
-#line 3409 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2863 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       SwitchCaseClauseList* scc_list_p = static_cast<SwitchCaseClauseList*>((yysemantic_stack_[(2) - (1)].node));
       scc_list_p->push_back(static_cast<SwitchCaseClause*>((yysemantic_stack_[(2) - (2)].node)));
@@ -6034,7 +6011,7 @@
   case 341:
 
 /* Line 690 of lalr1.cc  */
-#line 3418 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2871 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new SwitchCaseClause(LOC((yyloc)), dynamic_cast<SwitchCaseOperandList*>((yysemantic_stack_[(3) - (1)].node)), (yysemantic_stack_[(3) - (3)].expr));
     }
@@ -6043,7 +6020,7 @@
   case 342:
 
 /* Line 690 of lalr1.cc  */
-#line 3427 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2877 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new TypeswitchExpr(LOC((yyloc)),
                               (yysemantic_stack_[(8) - (3)].expr),
@@ -6055,7 +6032,7 @@
   case 343:
 
 /* Line 690 of lalr1.cc  */
-#line 3434 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2884 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new TypeswitchExpr(LOC ((yyloc)),
                               (yysemantic_stack_[(10) - (3)].expr),
@@ -6068,7 +6045,7 @@
   case 344:
 
 /* Line 690 of lalr1.cc  */
-#line 3445 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2894 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new TypeswitchExpr(LOC((yyloc)),
                               (yysemantic_stack_[(8) - (3)].expr),
@@ -6080,7 +6057,7 @@
   case 345:
 
 /* Line 690 of lalr1.cc  */
-#line 3452 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2901 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new TypeswitchExpr(LOC ((yyloc)),
                               (yysemantic_stack_[(10) - (3)].expr),
@@ -6093,7 +6070,7 @@
   case 346:
 
 /* Line 690 of lalr1.cc  */
-#line 3464 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2911 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       CaseClauseList* cc_list_p = new CaseClauseList(LOC ((yyloc)));
       cc_list_p->push_back(static_cast<CaseClause*>((yysemantic_stack_[(1) - (1)].node)));
@@ -6104,7 +6081,7 @@
   case 347:
 
 /* Line 690 of lalr1.cc  */
-#line 3470 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2917 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       CaseClauseList* cc_list_p = dynamic_cast<CaseClauseList*>((yysemantic_stack_[(2) - (1)].node));
       cc_list_p->push_back(static_cast<CaseClause*>((yysemantic_stack_[(2) - (2)].node)));
@@ -6115,7 +6092,7 @@
   case 348:
 
 /* Line 690 of lalr1.cc  */
-#line 3482 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2925 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CaseClause(LOC ((yyloc)),
                           static_cast<SequenceTypeList*>((yysemantic_stack_[(4) - (2)].node)),
@@ -6126,7 +6103,7 @@
   case 349:
 
 /* Line 690 of lalr1.cc  */
-#line 3488 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2931 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CaseClause(LOC ((yyloc)),
                           static_cast<QName*>((yysemantic_stack_[(7) - (3)].expr)),
@@ -6138,7 +6115,7 @@
   case 350:
 
 /* Line 690 of lalr1.cc  */
-#line 3499 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2940 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       CaseClauseList* cc_list_p = new CaseClauseList(LOC ((yyloc)));
       cc_list_p->push_back(static_cast<CaseClause*>((yysemantic_stack_[(1) - (1)].node)));
@@ -6149,7 +6126,7 @@
   case 351:
 
 /* Line 690 of lalr1.cc  */
-#line 3505 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2946 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       CaseClauseList* cc_list_p = static_cast<CaseClauseList*>((yysemantic_stack_[(2) - (1)].node));
       cc_list_p->push_back(static_cast<CaseClause*>((yysemantic_stack_[(2) - (2)].node)));
@@ -6160,7 +6137,7 @@
   case 352:
 
 /* Line 690 of lalr1.cc  */
-#line 3516 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2954 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CaseClause(LOC ((yyloc)),
                           static_cast<SequenceTypeList*>((yysemantic_stack_[(4) - (2)].node)),
@@ -6171,7 +6148,7 @@
   case 353:
 
 /* Line 690 of lalr1.cc  */
-#line 3522 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2960 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CaseClause(LOC ((yyloc)),
                           static_cast<QName*>((yysemantic_stack_[(7) - (3)].expr)),
@@ -6183,7 +6160,7 @@
   case 354:
 
 /* Line 690 of lalr1.cc  */
-#line 3533 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2969 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       SequenceTypeList* seqList = new SequenceTypeList(LOC((yyloc)));
       seqList->push_back(static_cast<SequenceType*>((yysemantic_stack_[(1) - (1)].node)));
@@ -6194,7 +6171,7 @@
   case 355:
 
 /* Line 690 of lalr1.cc  */
-#line 3539 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2975 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       SequenceTypeList* seqList = static_cast<SequenceTypeList*>((yysemantic_stack_[(3) - (1)].node));
       seqList->push_back(static_cast<SequenceType*>((yysemantic_stack_[(3) - (3)].node)));
@@ -6205,7 +6182,7 @@
   case 356:
 
 /* Line 690 of lalr1.cc  */
-#line 3550 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2983 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new IfExpr(LOC ((yyloc)), (yysemantic_stack_[(8) - (3)].expr), (yysemantic_stack_[(8) - (6)].expr), (yysemantic_stack_[(8) - (8)].expr));
     }
@@ -6214,7 +6191,7 @@
   case 357:
 
 /* Line 690 of lalr1.cc  */
-#line 3559 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2989 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -6223,7 +6200,7 @@
   case 358:
 
 /* Line 690 of lalr1.cc  */
-#line 3563 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2993 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new OrExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
     }
@@ -6232,7 +6209,7 @@
   case 359:
 
 /* Line 690 of lalr1.cc  */
-#line 3572 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 2999 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6241,7 +6218,7 @@
   case 360:
 
 /* Line 690 of lalr1.cc  */
-#line 3576 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3004 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new AndExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
         }
@@ -6250,7 +6227,7 @@
   case 361:
 
 /* Line 690 of lalr1.cc  */
-#line 3583 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3010 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6259,7 +6236,7 @@
   case 362:
 
 /* Line 690 of lalr1.cc  */
-#line 3587 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3014 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new ComparisonExpr(
               LOC((yyloc)),
@@ -6273,7 +6250,7 @@
   case 363:
 
 /* Line 690 of lalr1.cc  */
-#line 3600 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3025 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6282,9 +6259,8 @@
   case 364:
 
 /* Line 690 of lalr1.cc  */
-#line 3604 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3029 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            /*  ::=  "eq" | "ne" | "lt" | "le" | "gt" | "ge" */
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
                 dynamic_cast<ValueComp*>((yysemantic_stack_[(3) - (2)].node)),
@@ -6297,7 +6273,7 @@
   case 365:
 
 /* Line 690 of lalr1.cc  */
-#line 3684 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3040 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6306,7 +6282,7 @@
   case 366:
 
 /* Line 690 of lalr1.cc  */
-#line 3688 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3044 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new FTContainsExpr(
                 LOC((yyloc)),
@@ -6320,7 +6296,7 @@
   case 367:
 
 /* Line 690 of lalr1.cc  */
-#line 3700 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3055 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6329,7 +6305,7 @@
   case 368:
 
 /* Line 690 of lalr1.cc  */
-#line 3704 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3059 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new StringConcatExpr(LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr));
         }
@@ -6338,7 +6314,7 @@
   case 369:
 
 /* Line 690 of lalr1.cc  */
-#line 3711 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3064 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = NULL;
         }
@@ -6347,7 +6323,7 @@
   case 370:
 
 /* Line 690 of lalr1.cc  */
-#line 3715 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3068 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -6356,7 +6332,7 @@
   case 371:
 
 /* Line 690 of lalr1.cc  */
-#line 3722 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3074 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6365,7 +6341,7 @@
   case 372:
 
 /* Line 690 of lalr1.cc  */
-#line 3726 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3078 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new RangeExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
         }
@@ -6374,7 +6350,7 @@
   case 373:
 
 /* Line 690 of lalr1.cc  */
-#line 3735 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3084 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6383,7 +6359,7 @@
   case 374:
 
 /* Line 690 of lalr1.cc  */
-#line 3739 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3088 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new AdditiveExpr( LOC((yyloc)), ParseConstants::op_plus, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
         }
@@ -6392,7 +6368,7 @@
   case 375:
 
 /* Line 690 of lalr1.cc  */
-#line 3743 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3092 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new AdditiveExpr( LOC((yyloc)), ParseConstants::op_minus, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
         }
@@ -6401,7 +6377,7 @@
   case 376:
 
 /* Line 690 of lalr1.cc  */
-#line 3751 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3098 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6410,7 +6386,7 @@
   case 377:
 
 /* Line 690 of lalr1.cc  */
-#line 3755 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3102 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new MultiplicativeExpr(
                 LOC((yyloc)), ParseConstants::op_mul, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
@@ -6421,7 +6397,7 @@
   case 378:
 
 /* Line 690 of lalr1.cc  */
-#line 3761 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3108 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new MultiplicativeExpr(
                 LOC((yyloc)), ParseConstants::op_div, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
@@ -6432,7 +6408,7 @@
   case 379:
 
 /* Line 690 of lalr1.cc  */
-#line 3767 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3114 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new MultiplicativeExpr(
                 LOC((yyloc)), ParseConstants::op_idiv, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
@@ -6443,7 +6419,7 @@
   case 380:
 
 /* Line 690 of lalr1.cc  */
-#line 3773 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3120 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new MultiplicativeExpr(
                 LOC((yyloc)), ParseConstants::op_mod, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
@@ -6454,7 +6430,7 @@
   case 381:
 
 /* Line 690 of lalr1.cc  */
-#line 3783 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3128 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6463,7 +6439,7 @@
   case 382:
 
 /* Line 690 of lalr1.cc  */
-#line 3787 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3132 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new UnionExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
         }
@@ -6472,7 +6448,7 @@
   case 383:
 
 /* Line 690 of lalr1.cc  */
-#line 3791 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3136 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new UnionExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
         }
@@ -6481,7 +6457,7 @@
   case 384:
 
 /* Line 690 of lalr1.cc  */
-#line 3799 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3142 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6490,7 +6466,7 @@
   case 385:
 
 /* Line 690 of lalr1.cc  */
-#line 3803 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3146 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new IntersectExceptExpr(
                 LOC((yyloc)), ParseConstants::op_intersect, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
@@ -6501,7 +6477,7 @@
   case 386:
 
 /* Line 690 of lalr1.cc  */
-#line 3809 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3152 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new IntersectExceptExpr(
                 LOC((yyloc)), ParseConstants::op_except, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
@@ -6512,7 +6488,7 @@
   case 387:
 
 /* Line 690 of lalr1.cc  */
-#line 3819 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3160 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6521,7 +6497,7 @@
   case 388:
 
 /* Line 690 of lalr1.cc  */
-#line 3823 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3164 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new InstanceofExpr(
                 LOC((yyloc)), (yysemantic_stack_[(4) - (1)].expr), dynamic_cast<SequenceType*>((yysemantic_stack_[(4) - (4)].node))
@@ -6532,7 +6508,7 @@
   case 389:
 
 /* Line 690 of lalr1.cc  */
-#line 3833 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3172 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6541,7 +6517,7 @@
   case 390:
 
 /* Line 690 of lalr1.cc  */
-#line 3837 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3176 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new TreatExpr(
                 LOC((yyloc)), (yysemantic_stack_[(4) - (1)].expr), dynamic_cast<SequenceType*>((yysemantic_stack_[(4) - (4)].node))
@@ -6552,7 +6528,7 @@
   case 391:
 
 /* Line 690 of lalr1.cc  */
-#line 3847 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3184 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6561,7 +6537,7 @@
   case 392:
 
 /* Line 690 of lalr1.cc  */
-#line 3851 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3188 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new CastableExpr(
                 LOC((yyloc)), (yysemantic_stack_[(4) - (1)].expr), dynamic_cast<SingleType*>((yysemantic_stack_[(4) - (4)].node))
@@ -6572,7 +6548,7 @@
   case 393:
 
 /* Line 690 of lalr1.cc  */
-#line 3861 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3196 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6581,7 +6557,7 @@
   case 394:
 
 /* Line 690 of lalr1.cc  */
-#line 3865 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3200 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new CastExpr(
                 LOC((yyloc)), (yysemantic_stack_[(4) - (1)].expr), dynamic_cast<SingleType*>((yysemantic_stack_[(4) - (4)].node))
@@ -6592,7 +6568,7 @@
   case 395:
 
 /* Line 690 of lalr1.cc  */
-#line 3875 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3208 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new SingleType(LOC((yyloc)), dynamic_cast<SimpleType*>((yysemantic_stack_[(1) - (1)].node)), false);
     }
@@ -6601,7 +6577,7 @@
   case 396:
 
 /* Line 690 of lalr1.cc  */
-#line 3879 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3212 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new SingleType(LOC((yyloc)), dynamic_cast<SimpleType*>((yysemantic_stack_[(2) - (1)].node)), true);
     }
@@ -6610,7 +6586,7 @@
   case 397:
 
 /* Line 690 of lalr1.cc  */
-#line 3888 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3218 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6619,7 +6595,7 @@
   case 398:
 
 /* Line 690 of lalr1.cc  */
-#line 3892 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3222 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new UnaryExpr( LOC((yyloc)), dynamic_cast<SignList*>((yysemantic_stack_[(2) - (1)].node)), (yysemantic_stack_[(2) - (2)].expr) );
         }
@@ -6628,7 +6604,7 @@
   case 399:
 
 /* Line 690 of lalr1.cc  */
-#line 3900 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3228 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new SignList( LOC((yyloc)), true );
         }
@@ -6637,7 +6613,7 @@
   case 400:
 
 /* Line 690 of lalr1.cc  */
-#line 3904 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3232 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new SignList( LOC((yyloc)), false );
         }
@@ -6646,7 +6622,7 @@
   case 401:
 
 /* Line 690 of lalr1.cc  */
-#line 3908 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3236 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
         }
@@ -6655,7 +6631,7 @@
   case 402:
 
 /* Line 690 of lalr1.cc  */
-#line 3912 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3240 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             if ( SignList *sl = dynamic_cast<SignList*>((yysemantic_stack_[(2) - (1)].node)) )
                 sl->negate();
@@ -6666,7 +6642,7 @@
   case 403:
 
 /* Line 690 of lalr1.cc  */
-#line 3922 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3248 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6675,7 +6651,7 @@
   case 404:
 
 /* Line 690 of lalr1.cc  */
-#line 3926 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3252 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6684,7 +6660,7 @@
   case 405:
 
 /* Line 690 of lalr1.cc  */
-#line 3930 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3256 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6693,7 +6669,7 @@
   case 406:
 
 /* Line 690 of lalr1.cc  */
-#line 3937 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3262 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
         (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
       }
@@ -6702,7 +6678,7 @@
   case 407:
 
 /* Line 690 of lalr1.cc  */
-#line 3942 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3267 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
         (yyval.expr) = new SimpleMapExpr(LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr));
       }
@@ -6711,7 +6687,7 @@
   case 408:
 
 /* Line 690 of lalr1.cc  */
-#line 3950 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3273 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_eq );
         }
@@ -6720,7 +6696,7 @@
   case 409:
 
 /* Line 690 of lalr1.cc  */
-#line 3954 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3277 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_ne );
         }
@@ -6729,7 +6705,7 @@
   case 410:
 
 /* Line 690 of lalr1.cc  */
-#line 3958 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3281 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_lt );
         }
@@ -6738,7 +6714,7 @@
   case 411:
 
 /* Line 690 of lalr1.cc  */
-#line 3962 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3285 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_le );
         }
@@ -6747,7 +6723,7 @@
   case 412:
 
 /* Line 690 of lalr1.cc  */
-#line 3966 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3289 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_gt );
         }
@@ -6756,7 +6732,7 @@
   case 413:
 
 /* Line 690 of lalr1.cc  */
-#line 3970 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3293 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_ge );
         }
@@ -6765,7 +6741,7 @@
   case 414:
 
 /* Line 690 of lalr1.cc  */
-#line 3994 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3299 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new ValidateExpr( LOC((yyloc)), "strict", (yysemantic_stack_[(4) - (3)].expr) );
         }
@@ -6774,7 +6750,7 @@
   case 415:
 
 /* Line 690 of lalr1.cc  */
-#line 3998 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3303 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new ValidateExpr( LOC((yyloc)), "lax", (yysemantic_stack_[(5) - (4)].expr) );
         }
@@ -6783,7 +6759,7 @@
   case 416:
 
 /* Line 690 of lalr1.cc  */
-#line 4002 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3307 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new ValidateExpr( LOC((yyloc)), "strict", (yysemantic_stack_[(5) - (4)].expr) );
         }
@@ -6792,7 +6768,7 @@
   case 417:
 
 /* Line 690 of lalr1.cc  */
-#line 4006 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3311 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new ValidateExpr(
                 LOC((yyloc)), dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (3)].node))->get_name(), (yysemantic_stack_[(6) - (5)].expr)
@@ -6804,7 +6780,7 @@
   case 418:
 
 /* Line 690 of lalr1.cc  */
-#line 4017 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3320 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new ExtensionExpr(
                 LOC((yyloc)), dynamic_cast<PragmaList*>((yysemantic_stack_[(3) - (1)].node)), NULL
@@ -6815,7 +6791,7 @@
   case 419:
 
 /* Line 690 of lalr1.cc  */
-#line 4023 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3326 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new ExtensionExpr(
                 LOC((yyloc)), dynamic_cast<PragmaList*>((yysemantic_stack_[(4) - (1)].node)), (yysemantic_stack_[(4) - (3)].expr)
@@ -6826,7 +6802,7 @@
   case 420:
 
 /* Line 690 of lalr1.cc  */
-#line 4033 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3334 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             PragmaList *pl = new PragmaList( LOC((yyloc)) );
             pl->push_back( dynamic_cast<Pragma*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -6837,7 +6813,7 @@
   case 421:
 
 /* Line 690 of lalr1.cc  */
-#line 4039 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3340 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             if ( PragmaList *pl = dynamic_cast<PragmaList*>((yysemantic_stack_[(2) - (1)].node)) )
                 pl->push_back( dynamic_cast<Pragma*>((yysemantic_stack_[(2) - (2)].node)) );
@@ -6848,7 +6824,7 @@
   case 422:
 
 /* Line 690 of lalr1.cc  */
-#line 4049 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3348 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new Pragma( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)), SYMTAB((yysemantic_stack_[(3) - (3)].sval)) );
         }
@@ -6857,7 +6833,7 @@
   case 423:
 
 /* Line 690 of lalr1.cc  */
-#line 4053 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3352 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new Pragma( LOC((yyloc)), new QName( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)) ), "" );
         }
@@ -6866,7 +6842,7 @@
   case 424:
 
 /* Line 690 of lalr1.cc  */
-#line 4057 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3356 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new Pragma( LOC((yyloc)), new QName( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)), true ), "" );
         }
@@ -6875,7 +6851,7 @@
   case 425:
 
 /* Line 690 of lalr1.cc  */
-#line 4120 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3362 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       RelativePathExpr* rpe = dynamic_cast<RelativePathExpr*>((yysemantic_stack_[(1) - (1)].expr));
       (yyval.expr) = (!rpe ?
@@ -6887,7 +6863,7 @@
   case 426:
 
 /* Line 690 of lalr1.cc  */
-#line 4142 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3371 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       AxisStep* as = dynamic_cast<AxisStep*>((yysemantic_stack_[(1) - (1)].expr));
       (yyval.expr) = (as ?
@@ -6902,7 +6878,7 @@
   case 427:
 
 /* Line 690 of lalr1.cc  */
-#line 4170 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3383 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -6911,7 +6887,7 @@
   case 428:
 
 /* Line 690 of lalr1.cc  */
-#line 4334 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3389 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new NameTest( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
         }
@@ -6920,7 +6896,7 @@
   case 429:
 
 /* Line 690 of lalr1.cc  */
-#line 4338 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3393 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new NameTest( LOC((yyloc)), dynamic_cast<Wildcard*>((yysemantic_stack_[(1) - (1)].node)) );
         }
@@ -6929,7 +6905,7 @@
   case 430:
 
 /* Line 690 of lalr1.cc  */
-#line 4348 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3399 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new Wildcard(LOC((yyloc)), "", "", ParseConstants::wild_all, false);
     }
@@ -6938,7 +6914,7 @@
   case 431:
 
 /* Line 690 of lalr1.cc  */
-#line 4352 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3403 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new Wildcard(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)), "", ParseConstants::wild_elem, false);
     }
@@ -6947,7 +6923,7 @@
   case 432:
 
 /* Line 690 of lalr1.cc  */
-#line 4356 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3407 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new Wildcard(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)), "", ParseConstants::wild_elem, true);
     }
@@ -6956,7 +6932,7 @@
   case 433:
 
 /* Line 690 of lalr1.cc  */
-#line 4360 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3411 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new Wildcard(LOC((yyloc)), "", SYMTAB((yysemantic_stack_[(1) - (1)].sval)), ParseConstants::wild_prefix, false);
     }
@@ -6965,7 +6941,7 @@
   case 434:
 
 /* Line 690 of lalr1.cc  */
-#line 4369 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3417 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
        (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
      }
@@ -6974,7 +6950,7 @@
   case 435:
 
 /* Line 690 of lalr1.cc  */
-#line 4373 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3421 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
        (yyval.expr) = new FilterExpr(LOC((yyloc)), (yysemantic_stack_[(2) - (1)].expr), dynamic_cast<PredicateList*>((yysemantic_stack_[(2) - (2)].node)));
      }
@@ -6983,25 +6959,25 @@
   case 436:
 
 /* Line 690 of lalr1.cc  */
-#line 4377 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3425 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-       (yyval.expr) = new DynamicFunctionInvocation(LOC ((yyloc)), (yysemantic_stack_[(3) - (1)].expr), false);
+       (yyval.expr) = new DynamicFunctionInvocation(LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), false);
      }
     break;
 
   case 437:
 
 /* Line 690 of lalr1.cc  */
-#line 4381 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3429 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-       (yyval.expr) = new DynamicFunctionInvocation(LOC ((yyloc)), (yysemantic_stack_[(4) - (1)].expr), dynamic_cast<ArgList*>((yysemantic_stack_[(4) - (3)].node)), false);
+       (yyval.expr) = new DynamicFunctionInvocation(LOC((yyloc)), (yysemantic_stack_[(4) - (1)].expr), dynamic_cast<ArgList*>((yysemantic_stack_[(4) - (3)].node)), false);
      }
     break;
 
   case 438:
 
 /* Line 690 of lalr1.cc  */
-#line 4385 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3433 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
        StringLiteral* sl = new StringLiteral( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (3)].sval)) );
        (yyval.expr) = new JSONObjectLookup(LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), sl);
@@ -7011,7 +6987,7 @@
   case 439:
 
 /* Line 690 of lalr1.cc  */
-#line 4390 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3438 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
        (yyval.expr) = new JSONObjectLookup(LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr));
      }
@@ -7020,16 +6996,16 @@
   case 440:
 
 /* Line 690 of lalr1.cc  */
-#line 4394 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3442 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-       (yyval.expr) = new JSONObjectLookup(LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr));
+        (yyval.expr) = new JSONObjectLookup(LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr));
      }
     break;
 
   case 441:
 
 /* Line 690 of lalr1.cc  */
-#line 4398 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3446 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
        (yyval.expr) = new JSONObjectLookup(LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr));
      }
@@ -7038,7 +7014,7 @@
   case 442:
 
 /* Line 690 of lalr1.cc  */
-#line 4407 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3452 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             PredicateList *pl = new PredicateList( LOC((yyloc)) );
             pl->push_back( dynamic_cast<exprnode*>((yysemantic_stack_[(1) - (1)].expr)) );
@@ -7049,7 +7025,7 @@
   case 443:
 
 /* Line 690 of lalr1.cc  */
-#line 4413 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3458 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             if ( PredicateList *pl = dynamic_cast<PredicateList*>((yysemantic_stack_[(2) - (1)].node)) )
                 pl->push_back( dynamic_cast<exprnode*>((yysemantic_stack_[(2) - (2)].expr)) );
@@ -7060,7 +7036,7 @@
   case 444:
 
 /* Line 690 of lalr1.cc  */
-#line 4423 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3466 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
         }
@@ -7069,7 +7045,7 @@
   case 445:
 
 /* Line 690 of lalr1.cc  */
-#line 4431 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3472 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7078,7 +7054,7 @@
   case 446:
 
 /* Line 690 of lalr1.cc  */
-#line 4435 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3476 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7087,7 +7063,7 @@
   case 447:
 
 /* Line 690 of lalr1.cc  */
-#line 4439 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3480 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7096,7 +7072,7 @@
   case 448:
 
 /* Line 690 of lalr1.cc  */
-#line 4443 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3484 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7105,7 +7081,7 @@
   case 449:
 
 /* Line 690 of lalr1.cc  */
-#line 4447 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3488 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7114,7 +7090,7 @@
   case 450:
 
 /* Line 690 of lalr1.cc  */
-#line 4451 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3492 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7123,7 +7099,7 @@
   case 451:
 
 /* Line 690 of lalr1.cc  */
-#line 4455 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3496 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7132,7 +7108,7 @@
   case 452:
 
 /* Line 690 of lalr1.cc  */
-#line 4459 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3500 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7141,7 +7117,7 @@
   case 453:
 
 /* Line 690 of lalr1.cc  */
-#line 4463 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3504 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7150,7 +7126,7 @@
   case 454:
 
 /* Line 690 of lalr1.cc  */
-#line 4467 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3508 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7159,7 +7135,7 @@
   case 455:
 
 /* Line 690 of lalr1.cc  */
-#line 4472 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3512 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7168,7 +7144,7 @@
   case 456:
 
 /* Line 690 of lalr1.cc  */
-#line 4476 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3516 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7177,7 +7153,7 @@
   case 457:
 
 /* Line 690 of lalr1.cc  */
-#line 4480 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3520 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7186,7 +7162,7 @@
   case 458:
 
 /* Line 690 of lalr1.cc  */
-#line 4484 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3524 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7195,7 +7171,7 @@
   case 459:
 
 /* Line 690 of lalr1.cc  */
-#line 4492 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3530 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7204,7 +7180,7 @@
   case 460:
 
 /* Line 690 of lalr1.cc  */
-#line 4496 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3534 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7213,7 +7189,7 @@
   case 461:
 
 /* Line 690 of lalr1.cc  */
-#line 4500 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3538 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7222,7 +7198,7 @@
   case 462:
 
 /* Line 690 of lalr1.cc  */
-#line 4504 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3542 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new NullLiteral(LOC((yyloc)));
         }
@@ -7231,7 +7207,7 @@
   case 463:
 
 /* Line 690 of lalr1.cc  */
-#line 4512 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3548 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = NumericLiteral::new_literal(
                 LOC((yyloc)), ParseConstants::num_decimal, *(yysemantic_stack_[(1) - (1)].decval)
@@ -7243,7 +7219,7 @@
   case 464:
 
 /* Line 690 of lalr1.cc  */
-#line 4519 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3555 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = NumericLiteral::new_literal(
                 LOC((yyloc)), ParseConstants::num_integer, *(yysemantic_stack_[(1) - (1)].ival)
@@ -7255,7 +7231,7 @@
   case 465:
 
 /* Line 690 of lalr1.cc  */
-#line 4526 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3562 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = NumericLiteral::new_literal(
                 LOC((yyloc)), ParseConstants::num_double, *(yysemantic_stack_[(1) - (1)].dval)
@@ -7267,7 +7243,7 @@
   case 466:
 
 /* Line 690 of lalr1.cc  */
-#line 4536 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3571 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new BooleanLiteral(LOC((yyloc)), true);
         }
@@ -7276,7 +7252,7 @@
   case 467:
 
 /* Line 690 of lalr1.cc  */
-#line 4540 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3575 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new BooleanLiteral(LOC((yyloc)), false);
         }
@@ -7285,7 +7261,7 @@
   case 468:
 
 /* Line 690 of lalr1.cc  */
-#line 4548 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3581 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new VarRef(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)));
         }
@@ -7294,7 +7270,7 @@
   case 469:
 
 /* Line 690 of lalr1.cc  */
-#line 4556 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3587 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new ParenthesizedExpr( LOC((yyloc)), NULL);
         }
@@ -7303,7 +7279,7 @@
   case 470:
 
 /* Line 690 of lalr1.cc  */
-#line 4560 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3591 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new ParenthesizedExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr) );
         }
@@ -7312,7 +7288,7 @@
   case 471:
 
 /* Line 690 of lalr1.cc  */
-#line 4568 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3597 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new ContextItemExpr( LOC((yyloc)) );
         }
@@ -7321,7 +7297,7 @@
   case 472:
 
 /* Line 690 of lalr1.cc  */
-#line 4572 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3601 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new ContextItemExpr( LOC((yyloc)) );
         }
@@ -7330,7 +7306,7 @@
   case 473:
 
 /* Line 690 of lalr1.cc  */
-#line 4580 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3607 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new OrderedExpr( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
         }
@@ -7339,7 +7315,7 @@
   case 474:
 
 /* Line 690 of lalr1.cc  */
-#line 4588 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3613 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new UnorderedExpr( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
         }
@@ -7348,7 +7324,7 @@
   case 475:
 
 /* Line 690 of lalr1.cc  */
-#line 4642 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3619 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new FunctionCall( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (1)].expr)), NULL );
     }
@@ -7357,17 +7333,15 @@
   case 476:
 
 /* Line 690 of lalr1.cc  */
-#line 4646 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3623 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       ArgList* argList = dynamic_cast<ArgList*>((yysemantic_stack_[(4) - (3)].node));
-
       if (argList->has_placeholder())
       {
-        LiteralFunctionItem* lfi = 
+        LiteralFunctionItem* lfi =
         new LiteralFunctionItem(LOC((yyloc)),
                                 dynamic_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
                                 new Integer(argList->size()));
-
         (yyval.expr) = new DynamicFunctionInvocation(LOC((yyloc)), lfi, argList, true);
       }
       else
@@ -7380,7 +7354,7 @@
   case 477:
 
 /* Line 690 of lalr1.cc  */
-#line 4668 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3641 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       ArgList *al = new ArgList( LOC((yyloc)) );
       al->push_back(new ArgumentPlaceholder(LOC((yyloc))));
@@ -7391,7 +7365,7 @@
   case 478:
 
 /* Line 690 of lalr1.cc  */
-#line 4674 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3647 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       if ( ArgList *al = dynamic_cast<ArgList*>((yysemantic_stack_[(3) - (1)].node)) )
         al->push_back( new ArgumentPlaceholder(LOC((yyloc))) );
@@ -7402,7 +7376,7 @@
   case 479:
 
 /* Line 690 of lalr1.cc  */
-#line 4680 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3653 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       ArgList *al = new ArgList( LOC((yyloc)) );
       al->push_back( (yysemantic_stack_[(1) - (1)].expr) );
@@ -7413,7 +7387,7 @@
   case 480:
 
 /* Line 690 of lalr1.cc  */
-#line 4686 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3659 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       if ( ArgList *al = dynamic_cast<ArgList*>((yysemantic_stack_[(3) - (1)].node)) )
         al->push_back( (yysemantic_stack_[(3) - (3)].expr) );
@@ -7424,7 +7398,7 @@
   case 481:
 
 /* Line 690 of lalr1.cc  */
-#line 4696 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3667 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -7433,7 +7407,7 @@
   case 482:
 
 /* Line 690 of lalr1.cc  */
-#line 4700 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3671 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -7442,7 +7416,7 @@
   case 483:
 
 /* Line 690 of lalr1.cc  */
-#line 4708 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3677 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new LiteralFunctionItem(LOC ((yyloc)), dynamic_cast<QName*>((yysemantic_stack_[(3) - (1)].expr)), (yysemantic_stack_[(3) - (3)].ival));
     }
@@ -7451,7 +7425,7 @@
   case 484:
 
 /* Line 690 of lalr1.cc  */
-#line 4716 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3683 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new InlineFunction(LOC((yyloc)),
                               &*(yysemantic_stack_[(3) - (2)].fnsig)->theParams,
@@ -7464,7 +7438,7 @@
   case 485:
 
 /* Line 690 of lalr1.cc  */
-#line 4728 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3693 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -7473,7 +7447,7 @@
   case 486:
 
 /* Line 690 of lalr1.cc  */
-#line 4732 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3697 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -7482,7 +7456,7 @@
   case 487:
 
 /* Line 690 of lalr1.cc  */
-#line 4740 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3703 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -7491,7 +7465,7 @@
   case 488:
 
 /* Line 690 of lalr1.cc  */
-#line 4744 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3707 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -7500,7 +7474,7 @@
   case 489:
 
 /* Line 690 of lalr1.cc  */
-#line 4748 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3711 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -7509,7 +7483,7 @@
   case 490:
 
 /* Line 690 of lalr1.cc  */
-#line 4756 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3717 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new DirElemConstructor(LOC((yyloc)),
                                   static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -7522,7 +7496,7 @@
   case 491:
 
 /* Line 690 of lalr1.cc  */
-#line 4764 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3725 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       if (static_cast<QName*>((yysemantic_stack_[(8) - (2)].expr))->get_qname() != static_cast<QName*>((yysemantic_stack_[(8) - (6)].expr))->get_qname())
       {
@@ -7532,7 +7506,6 @@
                   static_cast<QName*>((yysemantic_stack_[(8) - (2)].expr))->get_qname().str() + ">");
         YYERROR;
       }
-
       (yyval.expr) = new DirElemConstructor(LOC((yyloc)),
                                   static_cast<QName*>((yysemantic_stack_[(8) - (2)].expr)),
                                   static_cast<QName*>((yysemantic_stack_[(8) - (6)].expr)),
@@ -7544,7 +7517,7 @@
   case 492:
 
 /* Line 690 of lalr1.cc  */
-#line 4781 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3741 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new DirElemConstructor(LOC((yyloc)),
                                   static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -7557,7 +7530,7 @@
   case 493:
 
 /* Line 690 of lalr1.cc  */
-#line 4789 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3749 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       if (static_cast<QName*>((yysemantic_stack_[(9) - (2)].expr))->get_qname() != static_cast<QName*>((yysemantic_stack_[(9) - (7)].expr))->get_qname())
       {
@@ -7567,7 +7540,6 @@
                   static_cast<QName*>((yysemantic_stack_[(9) - (2)].expr))->get_qname().str() + ">");
         YYERROR;
       }
-
       (yyval.expr) = new DirElemConstructor(LOC((yyloc)),
                                   static_cast<QName*>((yysemantic_stack_[(9) - (2)].expr)),
                                   static_cast<QName*>((yysemantic_stack_[(9) - (7)].expr)),
@@ -7579,7 +7551,7 @@
   case 494:
 
 /* Line 690 of lalr1.cc  */
-#line 4808 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3767 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       if (static_cast<QName*>((yysemantic_stack_[(9) - (2)].expr))->get_qname() != static_cast<QName*>((yysemantic_stack_[(9) - (7)].expr))->get_qname())
       {
@@ -7589,7 +7561,6 @@
                   static_cast<QName*>((yysemantic_stack_[(9) - (2)].expr))->get_qname().str() + ">");
         YYERROR;
       }
-
       (yyval.expr) = new DirElemConstructor(LOC((yyloc)),
                                   static_cast<QName*>((yysemantic_stack_[(9) - (2)].expr)),
                                   static_cast<QName*>((yysemantic_stack_[(9) - (7)].expr)),
@@ -7601,7 +7572,7 @@
   case 495:
 
 /* Line 690 of lalr1.cc  */
-#line 4827 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3785 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       if (static_cast<QName*>((yysemantic_stack_[(10) - (2)].expr))->get_qname() != static_cast<QName*>((yysemantic_stack_[(10) - (8)].expr))->get_qname())
       {
@@ -7611,7 +7582,6 @@
                   static_cast<QName*>((yysemantic_stack_[(10) - (2)].expr))->get_qname().str() + ">");
         YYERROR;
       }
-
       (yyval.expr) = new DirElemConstructor(LOC((yyloc)),
                                   static_cast<QName*>((yysemantic_stack_[(10) - (2)].expr)),
                                   static_cast<QName*>((yysemantic_stack_[(10) - (8)].expr)),
@@ -7623,7 +7593,7 @@
   case 496:
 
 /* Line 690 of lalr1.cc  */
-#line 4849 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3803 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       DirElemContentList *decl = new DirElemContentList( LOC((yyloc)) );
       decl->push_back( dynamic_cast<DirElemContent*>((yysemantic_stack_[(1) - (1)].expr)) );
@@ -7634,7 +7604,7 @@
   case 497:
 
 /* Line 690 of lalr1.cc  */
-#line 4855 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3809 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       DirElemContentList *decl = dynamic_cast<DirElemContentList*>((yysemantic_stack_[(2) - (1)].node));
       if ( decl )
@@ -7646,7 +7616,7 @@
   case 498:
 
 /* Line 690 of lalr1.cc  */
-#line 4866 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3818 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       DirAttributeList *dal = new DirAttributeList( LOC((yyloc)) );
       dal->push_back( dynamic_cast<DirAttr*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -7657,7 +7627,7 @@
   case 499:
 
 /* Line 690 of lalr1.cc  */
-#line 4872 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3824 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       DirAttributeList *dal = dynamic_cast<DirAttributeList*>((yysemantic_stack_[(2) - (1)].node));
       if ( dal )
@@ -7669,7 +7639,7 @@
   case 500:
 
 /* Line 690 of lalr1.cc  */
-#line 4883 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3833 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new DirAttr(LOC((yyloc)),
                        static_cast<QName*>((yysemantic_stack_[(6) - (2)].expr)),
@@ -7680,7 +7650,7 @@
   case 503:
 
 /* Line 690 of lalr1.cc  */
-#line 4898 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3843 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new DirAttributeValue(LOC((yyloc)),
                                  dynamic_cast<QuoteAttrContentList*>((yysemantic_stack_[(3) - (2)].node)));
@@ -7690,7 +7660,7 @@
   case 504:
 
 /* Line 690 of lalr1.cc  */
-#line 4903 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3848 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new DirAttributeValue( LOC((yyloc)),
                                   dynamic_cast<AposAttrContentList*>((yysemantic_stack_[(3) - (2)].node)));
@@ -7700,7 +7670,7 @@
   case 505:
 
 /* Line 690 of lalr1.cc  */
-#line 4912 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3854 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new QuoteAttrContentList( LOC((yyloc)) );
     }
@@ -7709,7 +7679,7 @@
   case 506:
 
 /* Line 690 of lalr1.cc  */
-#line 4916 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3858 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -7718,7 +7688,7 @@
   case 507:
 
 /* Line 690 of lalr1.cc  */
-#line 4923 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3864 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       QuoteAttrContentList *qacl = new QuoteAttrContentList( LOC((yyloc)) );
       qacl->push_back( new QuoteAttrValueContent( LOC((yyloc)), "\"" ) );
@@ -7729,7 +7699,7 @@
   case 508:
 
 /* Line 690 of lalr1.cc  */
-#line 4929 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3870 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       QuoteAttrContentList *qacl = new QuoteAttrContentList( LOC((yyloc)) );
       qacl->push_back( dynamic_cast<QuoteAttrValueContent*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -7740,7 +7710,7 @@
   case 509:
 
 /* Line 690 of lalr1.cc  */
-#line 4935 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3876 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       QuoteAttrContentList* qacl = dynamic_cast<QuoteAttrContentList*>((yysemantic_stack_[(2) - (1)].node));
       if ( qacl )
@@ -7752,7 +7722,7 @@
   case 510:
 
 /* Line 690 of lalr1.cc  */
-#line 4942 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3883 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       QuoteAttrContentList *qacl = dynamic_cast<QuoteAttrContentList*>((yysemantic_stack_[(2) - (1)].node));
       if ( qacl )
@@ -7764,7 +7734,7 @@
   case 511:
 
 /* Line 690 of lalr1.cc  */
-#line 4953 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3891 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AposAttrContentList( LOC((yyloc)) );
     }
@@ -7773,7 +7743,7 @@
   case 512:
 
 /* Line 690 of lalr1.cc  */
-#line 4957 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3895 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -7782,7 +7752,7 @@
   case 513:
 
 /* Line 690 of lalr1.cc  */
-#line 4964 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3901 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       AposAttrContentList *aacl = new AposAttrContentList( LOC((yyloc)) );
       aacl->push_back( new AposAttrValueContent( LOC((yyloc)),"'") );
@@ -7793,7 +7763,7 @@
   case 514:
 
 /* Line 690 of lalr1.cc  */
-#line 4970 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3907 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       AposAttrContentList *aacl = new AposAttrContentList( LOC((yyloc)) );
       aacl->push_back( dynamic_cast<AposAttrValueContent*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -7804,7 +7774,7 @@
   case 515:
 
 /* Line 690 of lalr1.cc  */
-#line 4976 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3913 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       AposAttrContentList *aacl = dynamic_cast<AposAttrContentList*>((yysemantic_stack_[(2) - (1)].node));
       if (aacl)
@@ -7816,7 +7786,7 @@
   case 516:
 
 /* Line 690 of lalr1.cc  */
-#line 4983 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3920 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       AposAttrContentList *aacl = dynamic_cast<AposAttrContentList*>((yysemantic_stack_[(2) - (1)].node));
       if ( aacl )
@@ -7828,7 +7798,7 @@
   case 517:
 
 /* Line 690 of lalr1.cc  */
-#line 4994 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3929 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new QuoteAttrValueContent( LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
     }
@@ -7837,7 +7807,7 @@
   case 518:
 
 /* Line 690 of lalr1.cc  */
-#line 4998 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3933 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new QuoteAttrValueContent(LOC((yyloc)), dynamic_cast<CommonContent*>((yysemantic_stack_[(1) - (1)].expr)));
     }
@@ -7846,7 +7816,7 @@
   case 519:
 
 /* Line 690 of lalr1.cc  */
-#line 5006 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3939 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AposAttrValueContent( LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
     }
@@ -7855,7 +7825,7 @@
   case 520:
 
 /* Line 690 of lalr1.cc  */
-#line 5010 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3943 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AposAttrValueContent(LOC((yyloc)), dynamic_cast<CommonContent*>((yysemantic_stack_[(1) - (1)].expr)));
     }
@@ -7864,7 +7834,7 @@
   case 521:
 
 /* Line 690 of lalr1.cc  */
-#line 5018 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3949 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new DirElemContent( LOC((yyloc)), (yysemantic_stack_[(1) - (1)].expr) );
     }
@@ -7873,7 +7843,7 @@
   case 522:
 
 /* Line 690 of lalr1.cc  */
-#line 5022 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3953 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new DirElemContent( LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
     }
@@ -7882,7 +7852,7 @@
   case 523:
 
 /* Line 690 of lalr1.cc  */
-#line 5026 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3957 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       rchandle<CDataSection> cdata_h = dynamic_cast<CDataSection*>((yysemantic_stack_[(1) - (1)].expr));
       (yyval.expr) = new DirElemContent( LOC((yyloc)), cdata_h );
@@ -7892,7 +7862,7 @@
   case 524:
 
 /* Line 690 of lalr1.cc  */
-#line 5031 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3962 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       rchandle<CommonContent> cont_h = dynamic_cast<CommonContent*>((yysemantic_stack_[(1) - (1)].expr));
       (yyval.expr) = new DirElemContent( LOC((yyloc)), cont_h );
@@ -7902,7 +7872,7 @@
   case 525:
 
 /* Line 690 of lalr1.cc  */
-#line 5040 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3969 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new CommonContent(LOC((yyloc)), ParseConstants::cont_charref, SYMTAB((yysemantic_stack_[(1) - (1)].sval)));
     }
@@ -7911,7 +7881,7 @@
   case 526:
 
 /* Line 690 of lalr1.cc  */
-#line 5044 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3973 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new CommonContent(LOC((yyloc)), ParseConstants::cont_escape_lbrace);
     }
@@ -7920,7 +7890,7 @@
   case 527:
 
 /* Line 690 of lalr1.cc  */
-#line 5048 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3977 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new CommonContent(LOC((yyloc)), ParseConstants::cont_escape_rbrace);
     }
@@ -7929,7 +7899,7 @@
   case 528:
 
 /* Line 690 of lalr1.cc  */
-#line 5052 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3981 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new CommonContent(LOC((yyloc)), new EnclosedExpr(LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr)));
     }
@@ -7938,7 +7908,7 @@
   case 529:
 
 /* Line 690 of lalr1.cc  */
-#line 5060 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3987 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new DirCommentConstructor( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (2)].sval)) );
     }
@@ -7947,7 +7917,7 @@
   case 530:
 
 /* Line 690 of lalr1.cc  */
-#line 5065 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3992 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new DirCommentConstructor( LOC((yyloc)), "" );
     }
@@ -7956,7 +7926,7 @@
   case 531:
 
 /* Line 690 of lalr1.cc  */
-#line 5073 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 3998 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new DirPIConstructor( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (2)].sval)) );
     }
@@ -7965,7 +7935,7 @@
   case 532:
 
 /* Line 690 of lalr1.cc  */
-#line 5078 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4003 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new DirPIConstructor( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (2)].sval)), SYMTAB((yysemantic_stack_[(3) - (3)].sval)) );
     }
@@ -7974,7 +7944,7 @@
   case 533:
 
 /* Line 690 of lalr1.cc  */
-#line 5086 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4009 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new CDataSection( LOC((yyloc)),SYMTAB((yysemantic_stack_[(2) - (2)].sval)) );
     }
@@ -7983,7 +7953,7 @@
   case 534:
 
 /* Line 690 of lalr1.cc  */
-#line 5094 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4015 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -7992,7 +7962,7 @@
   case 535:
 
 /* Line 690 of lalr1.cc  */
-#line 5099 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4020 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -8001,7 +7971,7 @@
   case 536:
 
 /* Line 690 of lalr1.cc  */
-#line 5104 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4025 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -8010,7 +7980,7 @@
   case 537:
 
 /* Line 690 of lalr1.cc  */
-#line 5109 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4030 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -8019,7 +7989,7 @@
   case 538:
 
 /* Line 690 of lalr1.cc  */
-#line 5114 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4035 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -8028,7 +7998,7 @@
   case 539:
 
 /* Line 690 of lalr1.cc  */
-#line 5119 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4040 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -8037,7 +8007,7 @@
   case 541:
 
 /* Line 690 of lalr1.cc  */
-#line 5130 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4048 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new CompDocConstructor( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
     }
@@ -8046,7 +8016,7 @@
   case 542:
 
 /* Line 690 of lalr1.cc  */
-#line 5138 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4054 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new CompElemConstructor(LOC((yyloc)), new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (1)].sval))), (yysemantic_stack_[(3) - (2)].expr));
     }
@@ -8055,7 +8025,7 @@
   case 543:
 
 /* Line 690 of lalr1.cc  */
-#line 5142 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4058 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new CompElemConstructor( LOC((yyloc)), (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (6)].expr) );
     }
@@ -8064,7 +8034,7 @@
   case 544:
 
 /* Line 690 of lalr1.cc  */
-#line 5159 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4064 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new CompAttrConstructor( LOC((yyloc)), new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (1)].sval))), (yysemantic_stack_[(3) - (2)].expr) );
     }
@@ -8073,7 +8043,7 @@
   case 545:
 
 /* Line 690 of lalr1.cc  */
-#line 5163 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4068 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new CompAttrConstructor( LOC((yyloc)), (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (6)].expr) );
     }
@@ -8082,7 +8052,7 @@
   case 546:
 
 /* Line 690 of lalr1.cc  */
-#line 5171 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4074 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new CompTextConstructor( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
     }
@@ -8091,7 +8061,7 @@
   case 547:
 
 /* Line 690 of lalr1.cc  */
-#line 5179 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4080 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new CompCommentConstructor( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
     }
@@ -8100,7 +8070,7 @@
   case 548:
 
 /* Line 690 of lalr1.cc  */
-#line 5187 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4086 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new CompPIConstructor(LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (1)].sval)), (yysemantic_stack_[(3) - (2)].expr));
     }
@@ -8109,7 +8079,7 @@
   case 549:
 
 /* Line 690 of lalr1.cc  */
-#line 5191 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4090 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new CompPIConstructor(LOC((yyloc)), (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (6)].expr));
     }
@@ -8118,7 +8088,7 @@
   case 550:
 
 /* Line 690 of lalr1.cc  */
-#line 5199 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4096 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new CompNamespaceConstructor(LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (1)].sval)), (yysemantic_stack_[(3) - (2)].expr));
     }
@@ -8127,7 +8097,7 @@
   case 551:
 
 /* Line 690 of lalr1.cc  */
-#line 5203 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4100 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new CompNamespaceConstructor(LOC((yyloc)), (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (6)].expr));
     }
@@ -8136,7 +8106,7 @@
   case 552:
 
 /* Line 690 of lalr1.cc  */
-#line 5211 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4106 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
     }
@@ -8145,7 +8115,7 @@
   case 553:
 
 /* Line 690 of lalr1.cc  */
-#line 5219 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4112 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new SequenceType( LOC((yyloc)), (yysemantic_stack_[(1) - (1)].node), NULL );
         }
@@ -8154,7 +8124,7 @@
   case 554:
 
 /* Line 690 of lalr1.cc  */
-#line 5223 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4116 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new SequenceType(LOC((yyloc)), (yysemantic_stack_[(2) - (1)].node), dynamic_cast<OccurrenceIndicator*>((yysemantic_stack_[(2) - (2)].node)));
         }
@@ -8163,7 +8133,7 @@
   case 555:
 
 /* Line 690 of lalr1.cc  */
-#line 5227 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4120 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new SequenceType( LOC((yyloc)), NULL, NULL );
         }
@@ -8172,7 +8142,7 @@
   case 556:
 
 /* Line 690 of lalr1.cc  */
-#line 5232 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4124 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new SequenceType( LOC((yyloc)), NULL, NULL );
         }
@@ -8181,7 +8151,7 @@
   case 557:
 
 /* Line 690 of lalr1.cc  */
-#line 5267 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4130 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OccurrenceIndicator(
                 LOC((yyloc)), ParseConstants::occurs_optionally
@@ -8192,7 +8162,7 @@
   case 558:
 
 /* Line 690 of lalr1.cc  */
-#line 5273 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4136 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OccurrenceIndicator(
                 LOC((yyloc)), ParseConstants::occurs_zero_or_more
@@ -8203,7 +8173,7 @@
   case 559:
 
 /* Line 690 of lalr1.cc  */
-#line 5279 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4142 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OccurrenceIndicator(
                 LOC((yyloc)), ParseConstants::occurs_one_or_more
@@ -8214,7 +8184,7 @@
   case 560:
 
 /* Line 690 of lalr1.cc  */
-#line 5289 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4150 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8223,7 +8193,7 @@
   case 561:
 
 /* Line 690 of lalr1.cc  */
-#line 5293 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4154 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8232,7 +8202,7 @@
   case 562:
 
 /* Line 690 of lalr1.cc  */
-#line 5297 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4158 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ItemType( LOC((yyloc)), true );
         }
@@ -8241,7 +8211,7 @@
   case 563:
 
 /* Line 690 of lalr1.cc  */
-#line 5302 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4162 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ItemType( LOC((yyloc)), true );
         }
@@ -8250,7 +8220,7 @@
   case 564:
 
 /* Line 690 of lalr1.cc  */
-#line 5306 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4166 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new StructuredItemType(LOC((yyloc)));
         }
@@ -8259,7 +8229,7 @@
   case 565:
 
 /* Line 690 of lalr1.cc  */
-#line 5311 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4170 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new StructuredItemType(LOC((yyloc)));
         }
@@ -8268,7 +8238,7 @@
   case 566:
 
 /* Line 690 of lalr1.cc  */
-#line 5315 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4174 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8277,7 +8247,7 @@
   case 567:
 
 /* Line 690 of lalr1.cc  */
-#line 5319 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4178 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8286,7 +8256,7 @@
   case 568:
 
 /* Line 690 of lalr1.cc  */
-#line 5323 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4182 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8295,7 +8265,7 @@
   case 569:
 
 /* Line 690 of lalr1.cc  */
-#line 5330 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4188 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           TypeList* aTypeList = new TypeList(LOC ((yyloc)));
           aTypeList->push_back(dynamic_cast<SequenceType *>((yysemantic_stack_[(1) - (1)].node)));
@@ -8306,7 +8276,7 @@
   case 570:
 
 /* Line 690 of lalr1.cc  */
-#line 5336 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4194 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           TypeList* aTypeList = dynamic_cast<TypeList *>((yysemantic_stack_[(3) - (1)].node));
           aTypeList->push_back(dynamic_cast<SequenceType *>((yysemantic_stack_[(3) - (3)].node)));
@@ -8317,7 +8287,7 @@
   case 571:
 
 /* Line 690 of lalr1.cc  */
-#line 5346 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4202 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new GeneralizedAtomicType( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
     }
@@ -8326,7 +8296,7 @@
   case 572:
 
 /* Line 690 of lalr1.cc  */
-#line 5354 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4208 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new SimpleType( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
     }
@@ -8335,7 +8305,7 @@
   case 573:
 
 /* Line 690 of lalr1.cc  */
-#line 5362 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4214 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -8344,7 +8314,7 @@
   case 574:
 
 /* Line 690 of lalr1.cc  */
-#line 5366 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4218 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -8353,7 +8323,7 @@
   case 575:
 
 /* Line 690 of lalr1.cc  */
-#line 5370 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4222 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -8362,7 +8332,7 @@
   case 576:
 
 /* Line 690 of lalr1.cc  */
-#line 5374 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4226 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -8371,7 +8341,7 @@
   case 577:
 
 /* Line 690 of lalr1.cc  */
-#line 5378 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4230 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -8380,7 +8350,7 @@
   case 578:
 
 /* Line 690 of lalr1.cc  */
-#line 5382 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4234 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -8389,7 +8359,7 @@
   case 579:
 
 /* Line 690 of lalr1.cc  */
-#line 5386 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4238 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -8398,7 +8368,7 @@
   case 580:
 
 /* Line 690 of lalr1.cc  */
-#line 5390 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4242 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -8407,7 +8377,7 @@
   case 581:
 
 /* Line 690 of lalr1.cc  */
-#line 5394 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4246 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -8416,7 +8386,7 @@
   case 582:
 
 /* Line 690 of lalr1.cc  */
-#line 5398 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4250 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -8425,7 +8395,7 @@
   case 583:
 
 /* Line 690 of lalr1.cc  */
-#line 5406 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4256 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AnyKindTest( LOC((yyloc)) );
     }
@@ -8434,7 +8404,7 @@
   case 584:
 
 /* Line 690 of lalr1.cc  */
-#line 5414 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4262 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new DocumentTest(LOC((yyloc)));
     }
@@ -8443,7 +8413,7 @@
   case 585:
 
 /* Line 690 of lalr1.cc  */
-#line 5418 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4266 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new DocumentTest(LOC((yyloc)), dynamic_cast<ElementTest*>((yysemantic_stack_[(4) - (3)].node)));
     }
@@ -8452,7 +8422,7 @@
   case 586:
 
 /* Line 690 of lalr1.cc  */
-#line 5422 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4270 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new DocumentTest(LOC((yyloc)), dynamic_cast<SchemaElementTest*>((yysemantic_stack_[(4) - (3)].node)));
     }
@@ -8461,7 +8431,7 @@
   case 587:
 
 /* Line 690 of lalr1.cc  */
-#line 5430 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4276 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new NamespaceTest(LOC((yyloc)));
     }
@@ -8470,7 +8440,7 @@
   case 588:
 
 /* Line 690 of lalr1.cc  */
-#line 5437 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4281 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new TextTest(LOC((yyloc)));
     }
@@ -8479,7 +8449,7 @@
   case 589:
 
 /* Line 690 of lalr1.cc  */
-#line 5445 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4287 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CommentTest(LOC((yyloc)));
     }
@@ -8488,7 +8458,7 @@
   case 590:
 
 /* Line 690 of lalr1.cc  */
-#line 5453 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4293 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new PITest( LOC((yyloc)), "" );
         }
@@ -8497,7 +8467,7 @@
   case 591:
 
 /* Line 690 of lalr1.cc  */
-#line 5457 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4297 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new PITest( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (3)].sval)) );
         }
@@ -8506,7 +8476,7 @@
   case 592:
 
 /* Line 690 of lalr1.cc  */
-#line 5461 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4301 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new PITest( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (3)].sval)) );
         }
@@ -8515,7 +8485,7 @@
   case 593:
 
 /* Line 690 of lalr1.cc  */
-#line 5469 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4307 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new AttributeTest( LOC((yyloc)), NULL, NULL );
         }
@@ -8524,7 +8494,7 @@
   case 594:
 
 /* Line 690 of lalr1.cc  */
-#line 5473 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4311 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new AttributeTest(
                 LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)), NULL
@@ -8535,7 +8505,7 @@
   case 595:
 
 /* Line 690 of lalr1.cc  */
-#line 5479 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4317 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new AttributeTest(
                 LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(6) - (3)].expr)), dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node))
@@ -8546,7 +8516,7 @@
   case 596:
 
 /* Line 690 of lalr1.cc  */
-#line 5485 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4323 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new AttributeTest( LOC((yyloc)), NULL, NULL );
         }
@@ -8555,7 +8525,7 @@
   case 597:
 
 /* Line 690 of lalr1.cc  */
-#line 5489 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4327 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new AttributeTest(
                 LOC((yyloc)), NULL, dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node))
@@ -8566,7 +8536,7 @@
   case 598:
 
 /* Line 690 of lalr1.cc  */
-#line 5499 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4335 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new SchemaAttributeTest( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)) );
         }
@@ -8575,7 +8545,7 @@
   case 599:
 
 /* Line 690 of lalr1.cc  */
-#line 5507 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4341 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ElementTest( LOC((yyloc)), NULL, NULL, true );
         }
@@ -8584,7 +8554,7 @@
   case 600:
 
 /* Line 690 of lalr1.cc  */
-#line 5511 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4345 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ElementTest(
                 LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)), NULL, true
@@ -8595,7 +8565,7 @@
   case 601:
 
 /* Line 690 of lalr1.cc  */
-#line 5517 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4351 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ElementTest(
                 LOC((yyloc)),
@@ -8609,7 +8579,7 @@
   case 602:
 
 /* Line 690 of lalr1.cc  */
-#line 5526 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4360 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ElementTest(
                 LOC((yyloc)),
@@ -8623,7 +8593,7 @@
   case 603:
 
 /* Line 690 of lalr1.cc  */
-#line 5535 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4369 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ElementTest(
                 LOC((yyloc)), NULL, NULL, true
@@ -8634,7 +8604,7 @@
   case 604:
 
 /* Line 690 of lalr1.cc  */
-#line 5541 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4375 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ElementTest(
                 LOC((yyloc)), NULL, dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node)), false
@@ -8645,7 +8615,7 @@
   case 605:
 
 /* Line 690 of lalr1.cc  */
-#line 5547 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4381 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ElementTest(
                 LOC((yyloc)), NULL, dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node)), true
@@ -8656,7 +8626,7 @@
   case 606:
 
 /* Line 690 of lalr1.cc  */
-#line 5557 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4389 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new SchemaElementTest( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)) );
         }
@@ -8665,7 +8635,7 @@
   case 607:
 
 /* Line 690 of lalr1.cc  */
-#line 5574 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4395 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new TypeName( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
         }
@@ -8674,7 +8644,7 @@
   case 608:
 
 /* Line 690 of lalr1.cc  */
-#line 5581 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4401 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new TypeName( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(2) - (1)].expr)), true );
         }
@@ -8683,7 +8653,7 @@
   case 609:
 
 /* Line 690 of lalr1.cc  */
-#line 5596 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4407 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new StringLiteral( LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
         }
@@ -8692,7 +8662,7 @@
   case 610:
 
 /* Line 690 of lalr1.cc  */
-#line 5623 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4413 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -8701,7 +8671,7 @@
   case 611:
 
 /* Line 690 of lalr1.cc  */
-#line 5627 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4417 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -8710,7 +8680,7 @@
   case 612:
 
 /* Line 690 of lalr1.cc  */
-#line 5635 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4423 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AnyFunctionTest(LOC((yyloc)));
     }
@@ -8719,7 +8689,7 @@
   case 613:
 
 /* Line 690 of lalr1.cc  */
-#line 5643 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4429 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.node) = new TypedFunctionTest(LOC ((yyloc)), dynamic_cast<SequenceType *>((yysemantic_stack_[(5) - (5)].node)));
         }
@@ -8728,7 +8698,7 @@
   case 614:
 
 /* Line 690 of lalr1.cc  */
-#line 5647 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4433 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.node) = new TypedFunctionTest(LOC ((yyloc)),
               dynamic_cast<TypeList *>((yysemantic_stack_[(6) - (3)].node)),
@@ -8739,7 +8709,7 @@
   case 615:
 
 /* Line 690 of lalr1.cc  */
-#line 5658 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4441 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
            (yyval.node) = (yysemantic_stack_[(3) - (2)].node);
         }
@@ -8748,7 +8718,7 @@
   case 616:
 
 /* Line 690 of lalr1.cc  */
-#line 5675 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4447 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new RevalidationDecl(
                 LOC((yyloc)), StaticContextConsts::strict_validation
@@ -8759,7 +8729,7 @@
   case 617:
 
 /* Line 690 of lalr1.cc  */
-#line 5681 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4453 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new RevalidationDecl(
                 LOC((yyloc)), StaticContextConsts::lax_validation
@@ -8770,7 +8740,7 @@
   case 618:
 
 /* Line 690 of lalr1.cc  */
-#line 5687 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4459 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new RevalidationDecl(
                 LOC((yyloc)), StaticContextConsts::skip_validation
@@ -8781,7 +8751,7 @@
   case 619:
 
 /* Line 690 of lalr1.cc  */
-#line 5697 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4467 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new InsertExpr( LOC((yyloc)), store::UpdateConsts::INTO, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
         }
@@ -8790,7 +8760,7 @@
   case 620:
 
 /* Line 690 of lalr1.cc  */
-#line 5701 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4471 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new InsertExpr(
                 LOC((yyloc)), store::UpdateConsts::AS_FIRST_INTO, (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (7)].expr)
@@ -8801,7 +8771,7 @@
   case 621:
 
 /* Line 690 of lalr1.cc  */
-#line 5707 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4477 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new InsertExpr(
                 LOC((yyloc)), store::UpdateConsts::AS_LAST_INTO, (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (7)].expr)
@@ -8812,7 +8782,7 @@
   case 622:
 
 /* Line 690 of lalr1.cc  */
-#line 5713 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4483 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new InsertExpr( LOC((yyloc)), store::UpdateConsts::AFTER, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
         }
@@ -8821,7 +8791,7 @@
   case 623:
 
 /* Line 690 of lalr1.cc  */
-#line 5717 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4487 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new InsertExpr(
                 LOC ((yyloc)), store::UpdateConsts::BEFORE, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr)
@@ -8832,7 +8802,7 @@
   case 624:
 
 /* Line 690 of lalr1.cc  */
-#line 5723 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4493 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new InsertExpr( LOC((yyloc)), store::UpdateConsts::INTO, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
         }
@@ -8841,7 +8811,7 @@
   case 625:
 
 /* Line 690 of lalr1.cc  */
-#line 5727 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4497 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new InsertExpr(
                 LOC((yyloc)), store::UpdateConsts::AS_FIRST_INTO, (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (7)].expr)
@@ -8852,7 +8822,7 @@
   case 626:
 
 /* Line 690 of lalr1.cc  */
-#line 5733 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4503 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new InsertExpr(
                   LOC((yyloc)), store::UpdateConsts::AS_LAST_INTO, (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (7)].expr)
@@ -8863,7 +8833,7 @@
   case 627:
 
 /* Line 690 of lalr1.cc  */
-#line 5739 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4509 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new InsertExpr(
                 LOC ((yyloc)),
@@ -8875,7 +8845,7 @@
   case 628:
 
 /* Line 690 of lalr1.cc  */
-#line 5746 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4516 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new InsertExpr(
                 LOC ((yyloc)), store::UpdateConsts::BEFORE, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr)
@@ -8886,7 +8856,7 @@
   case 629:
 
 /* Line 690 of lalr1.cc  */
-#line 5756 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4524 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new DeleteExpr( LOC ((yyloc)), (yysemantic_stack_[(3) - (3)].expr) );
         }
@@ -8895,7 +8865,7 @@
   case 630:
 
 /* Line 690 of lalr1.cc  */
-#line 5761 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4529 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new DeleteExpr( LOC ((yyloc)), (yysemantic_stack_[(3) - (3)].expr) );
         }
@@ -8904,7 +8874,7 @@
   case 631:
 
 /* Line 690 of lalr1.cc  */
-#line 5769 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4535 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new ReplaceExpr(
                 LOC((yyloc)), store::UpdateConsts::NODE, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr)
@@ -8915,7 +8885,7 @@
   case 632:
 
 /* Line 690 of lalr1.cc  */
-#line 5775 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4541 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new ReplaceExpr(
                 LOC((yyloc)), store::UpdateConsts::VALUE_OF_NODE, (yysemantic_stack_[(7) - (5)].expr), (yysemantic_stack_[(7) - (7)].expr)
@@ -8926,7 +8896,7 @@
   case 633:
 
 /* Line 690 of lalr1.cc  */
-#line 5785 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4549 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new RenameExpr( LOC ((yyloc)), (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
         }
@@ -8935,7 +8905,7 @@
   case 634:
 
 /* Line 690 of lalr1.cc  */
-#line 5807 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4555 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       CopyVarList *cvl = dynamic_cast<CopyVarList*>((yysemantic_stack_[(7) - (3)].expr));
       (yyval.expr) = new TransformExpr( LOC((yyloc)), cvl, (yysemantic_stack_[(7) - (5)].expr), (yysemantic_stack_[(7) - (7)].expr) );
@@ -8945,7 +8915,7 @@
   case 635:
 
 /* Line 690 of lalr1.cc  */
-#line 5816 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4562 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       CopyVarList* lList = new CopyVarList(LOC((yyloc)));
       lList->push_back (dynamic_cast<VarBinding*> ((yysemantic_stack_[(1) - (1)].expr)));
@@ -8956,7 +8926,7 @@
   case 636:
 
 /* Line 690 of lalr1.cc  */
-#line 5822 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4568 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       CopyVarList* lList = dynamic_cast<CopyVarList*>((yysemantic_stack_[(4) - (1)].expr));
       VarBinding* lBinding = dynamic_cast<VarBinding*>((yysemantic_stack_[(4) - (4)].expr));
@@ -8968,7 +8938,7 @@
   case 637:
 
 /* Line 690 of lalr1.cc  */
-#line 5835 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4577 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
        (yyval.expr) = new VarBinding(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (1)].expr)), (yysemantic_stack_[(3) - (3)].expr));
     }
@@ -8977,7 +8947,7 @@
   case 638:
 
 /* Line 690 of lalr1.cc  */
-#line 5849 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4583 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new TryExpr( LOC((yyloc)), (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
         }
@@ -8986,7 +8956,7 @@
   case 639:
 
 /* Line 690 of lalr1.cc  */
-#line 5856 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4589 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             CatchListExpr *cle = new CatchListExpr( LOC((yyloc)) );
             cle->push_back( static_cast<CatchExpr*>((yysemantic_stack_[(1) - (1)].expr)) );
@@ -8997,7 +8967,7 @@
   case 640:
 
 /* Line 690 of lalr1.cc  */
-#line 5862 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4595 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             CatchListExpr *cle = dynamic_cast<CatchListExpr*>((yysemantic_stack_[(2) - (1)].expr));
             if ( cle )
@@ -9009,7 +8979,7 @@
   case 641:
 
 /* Line 690 of lalr1.cc  */
-#line 5872 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4604 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
        (yyval.expr) = new CatchExpr(LOC((yyloc)), *(yysemantic_stack_[(3) - (2)].name_test_list), (yysemantic_stack_[(3) - (3)].expr));
        delete (yysemantic_stack_[(3) - (2)].name_test_list);
@@ -9019,7 +8989,7 @@
   case 642:
 
 /* Line 690 of lalr1.cc  */
-#line 5881 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4611 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
     }
@@ -9028,7 +8998,7 @@
   case 643:
 
 /* Line 690 of lalr1.cc  */
-#line 5889 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4617 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             CatchExpr::NameTestList *ntl = new CatchExpr::NameTestList;
             ntl->push_back( static_cast<NameTest*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -9039,7 +9009,7 @@
   case 644:
 
 /* Line 690 of lalr1.cc  */
-#line 5895 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4623 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             CatchExpr::NameTestList *ntl =
                 static_cast<CatchExpr::NameTestList*>((yysemantic_stack_[(3) - (1)].name_test_list));
@@ -9051,7 +9021,7 @@
   case 645:
 
 /* Line 690 of lalr1.cc  */
-#line 5913 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4632 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTSelection( LOC((yyloc)), (yysemantic_stack_[(2) - (1)].node), (yysemantic_stack_[(2) - (2)].pos_filter_list) );
             delete (yysemantic_stack_[(2) - (2)].pos_filter_list);
@@ -9061,7 +9031,7 @@
   case 646:
 
 /* Line 690 of lalr1.cc  */
-#line 5921 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4639 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.pos_filter_list) = NULL;
         }
@@ -9070,7 +9040,7 @@
   case 647:
 
 /* Line 690 of lalr1.cc  */
-#line 5925 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4643 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.pos_filter_list) = (yysemantic_stack_[(1) - (1)].pos_filter_list);
         }
@@ -9079,7 +9049,7 @@
   case 648:
 
 /* Line 690 of lalr1.cc  */
-#line 5932 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4649 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.pos_filter_list) = new FTSelection::pos_filter_list_t;
             (yyval.pos_filter_list)->push_back( dynamic_cast<FTPosFilter*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -9089,7 +9059,7 @@
   case 649:
 
 /* Line 690 of lalr1.cc  */
-#line 5937 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4654 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yysemantic_stack_[(2) - (1)].pos_filter_list)->push_back( dynamic_cast<FTPosFilter*>((yysemantic_stack_[(2) - (2)].node)) );
             (yyval.pos_filter_list) = (yysemantic_stack_[(2) - (1)].pos_filter_list);
@@ -9099,7 +9069,7 @@
   case 650:
 
 /* Line 690 of lalr1.cc  */
-#line 5945 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4661 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9108,7 +9078,7 @@
   case 651:
 
 /* Line 690 of lalr1.cc  */
-#line 5949 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4665 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTOr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].node), (yysemantic_stack_[(3) - (3)].node) );
         }
@@ -9117,7 +9087,7 @@
   case 652:
 
 /* Line 690 of lalr1.cc  */
-#line 5956 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4671 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9126,7 +9096,7 @@
   case 653:
 
 /* Line 690 of lalr1.cc  */
-#line 5960 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4675 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTAnd( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].node), (yysemantic_stack_[(3) - (3)].node) );
         }
@@ -9135,7 +9105,7 @@
   case 654:
 
 /* Line 690 of lalr1.cc  */
-#line 5967 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4681 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9144,7 +9114,7 @@
   case 655:
 
 /* Line 690 of lalr1.cc  */
-#line 5971 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4685 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTMildNot( LOC((yyloc)), (yysemantic_stack_[(4) - (1)].node), (yysemantic_stack_[(4) - (4)].node) );
         }
@@ -9153,7 +9123,7 @@
   case 656:
 
 /* Line 690 of lalr1.cc  */
-#line 5978 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4691 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9162,7 +9132,7 @@
   case 657:
 
 /* Line 690 of lalr1.cc  */
-#line 5982 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4695 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTUnaryNot(
                 LOC((yyloc)), dynamic_cast<FTPrimaryWithOptions*>((yysemantic_stack_[(2) - (2)].node))
@@ -9173,7 +9143,7 @@
   case 658:
 
 /* Line 690 of lalr1.cc  */
-#line 5991 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4703 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTPrimaryWithOptions(
                 LOC((yyloc)),
@@ -9187,7 +9157,7 @@
   case 659:
 
 /* Line 690 of lalr1.cc  */
-#line 6003 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4713 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = NULL;
         }
@@ -9196,7 +9166,7 @@
   case 660:
 
 /* Line 690 of lalr1.cc  */
-#line 6007 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4717 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9205,7 +9175,7 @@
   case 661:
 
 /* Line 690 of lalr1.cc  */
-#line 6014 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4722 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = NULL;
         }
@@ -9214,7 +9184,7 @@
   case 662:
 
 /* Line 690 of lalr1.cc  */
-#line 6018 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4726 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9223,7 +9193,7 @@
   case 663:
 
 /* Line 690 of lalr1.cc  */
-#line 6026 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4732 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTWeight( LOC((yyloc)), dynamic_cast<exprnode*>((yysemantic_stack_[(4) - (3)].expr)) );
         }
@@ -9232,7 +9202,7 @@
   case 664:
 
 /* Line 690 of lalr1.cc  */
-#line 6034 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4738 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTWordsTimes(
                 LOC((yyloc)),
@@ -9245,7 +9215,7 @@
   case 665:
 
 /* Line 690 of lalr1.cc  */
-#line 6042 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4746 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(3) - (2)].node);
         }
@@ -9254,7 +9224,7 @@
   case 666:
 
 /* Line 690 of lalr1.cc  */
-#line 6046 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4750 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9263,7 +9233,7 @@
   case 667:
 
 /* Line 690 of lalr1.cc  */
-#line 6053 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4755 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = NULL;
         }
@@ -9272,7 +9242,7 @@
   case 668:
 
 /* Line 690 of lalr1.cc  */
-#line 6057 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4759 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9281,7 +9251,7 @@
   case 669:
 
 /* Line 690 of lalr1.cc  */
-#line 6065 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4765 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTExtensionSelection(
                 LOC((yyloc)),
@@ -9294,7 +9264,7 @@
   case 670:
 
 /* Line 690 of lalr1.cc  */
-#line 6076 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4774 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = NULL;
         }
@@ -9303,7 +9273,7 @@
   case 671:
 
 /* Line 690 of lalr1.cc  */
-#line 6080 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4778 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9312,7 +9282,7 @@
   case 672:
 
 /* Line 690 of lalr1.cc  */
-#line 6088 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4784 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTWords(
                 LOC((yyloc)),
@@ -9325,7 +9295,7 @@
   case 673:
 
 /* Line 690 of lalr1.cc  */
-#line 6100 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4794 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTWordsValue(
                 LOC((yyloc)), static_cast<StringLiteral*>((yysemantic_stack_[(1) - (1)].expr)), NULL
@@ -9336,7 +9306,7 @@
   case 674:
 
 /* Line 690 of lalr1.cc  */
-#line 6106 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4800 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTWordsValue(
                 LOC((yyloc)), NULL, dynamic_cast<exprnode*>((yysemantic_stack_[(3) - (2)].expr))
@@ -9347,7 +9317,7 @@
   case 675:
 
 /* Line 690 of lalr1.cc  */
-#line 6115 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4807 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTAnyallOption( LOC((yyloc)), ft_anyall_mode::any );
         }
@@ -9356,7 +9326,7 @@
   case 676:
 
 /* Line 690 of lalr1.cc  */
-#line 6119 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4811 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9365,7 +9335,7 @@
   case 677:
 
 /* Line 690 of lalr1.cc  */
-#line 6127 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4817 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTAnyallOption( LOC((yyloc)), (yysemantic_stack_[(2) - (2)].ft_anyall_value) );
         }
@@ -9374,7 +9344,7 @@
   case 678:
 
 /* Line 690 of lalr1.cc  */
-#line 6131 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4821 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTAnyallOption( LOC((yyloc)), (yysemantic_stack_[(2) - (2)].ft_anyall_value) );
         }
@@ -9383,7 +9353,7 @@
   case 679:
 
 /* Line 690 of lalr1.cc  */
-#line 6135 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4825 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTAnyallOption( LOC((yyloc)), ft_anyall_mode::phrase );
         }
@@ -9392,7 +9362,7 @@
   case 680:
 
 /* Line 690 of lalr1.cc  */
-#line 6142 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4830 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.ft_anyall_value) = ft_anyall_mode::any;
         }
@@ -9401,7 +9371,7 @@
   case 681:
 
 /* Line 690 of lalr1.cc  */
-#line 6146 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4834 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.ft_anyall_value) = ft_anyall_mode::any_word;
         }
@@ -9410,7 +9380,7 @@
   case 682:
 
 /* Line 690 of lalr1.cc  */
-#line 6153 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4839 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.ft_anyall_value) = ft_anyall_mode::all;
         }
@@ -9419,7 +9389,7 @@
   case 683:
 
 /* Line 690 of lalr1.cc  */
-#line 6157 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4843 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.ft_anyall_value) = ft_anyall_mode::all_words;
         }
@@ -9428,7 +9398,7 @@
   case 684:
 
 /* Line 690 of lalr1.cc  */
-#line 6165 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4849 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9437,7 +9407,7 @@
   case 685:
 
 /* Line 690 of lalr1.cc  */
-#line 6169 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4853 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9446,7 +9416,7 @@
   case 686:
 
 /* Line 690 of lalr1.cc  */
-#line 6173 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4857 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9455,7 +9425,7 @@
   case 687:
 
 /* Line 690 of lalr1.cc  */
-#line 6177 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4861 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9464,7 +9434,7 @@
   case 688:
 
 /* Line 690 of lalr1.cc  */
-#line 6181 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4865 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9473,7 +9443,7 @@
   case 689:
 
 /* Line 690 of lalr1.cc  */
-#line 6189 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4871 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTOrder( LOC((yyloc)) );
         }
@@ -9482,7 +9452,7 @@
   case 690:
 
 /* Line 690 of lalr1.cc  */
-#line 6197 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4877 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTWindow(
                 LOC((yyloc)),
@@ -9495,7 +9465,7 @@
   case 691:
 
 /* Line 690 of lalr1.cc  */
-#line 6209 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4887 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTDistance(
                 LOC((yyloc)),
@@ -9508,7 +9478,7 @@
   case 692:
 
 /* Line 690 of lalr1.cc  */
-#line 6221 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4897 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTUnit( LOC((yyloc)), ft_unit::words );
         }
@@ -9517,7 +9487,7 @@
   case 693:
 
 /* Line 690 of lalr1.cc  */
-#line 6225 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4901 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTUnit( LOC((yyloc)), ft_unit::sentences );
         }
@@ -9526,7 +9496,7 @@
   case 694:
 
 /* Line 690 of lalr1.cc  */
-#line 6229 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4905 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTUnit( LOC((yyloc)), ft_unit::paragraphs );
         }
@@ -9535,7 +9505,7 @@
   case 695:
 
 /* Line 690 of lalr1.cc  */
-#line 6237 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4911 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             FTMatchOptions *mo = new FTMatchOptions( LOC((yyloc)) );
             mo->push_back( dynamic_cast<FTMatchOption*>((yysemantic_stack_[(2) - (2)].node)) );
@@ -9546,7 +9516,7 @@
   case 696:
 
 /* Line 690 of lalr1.cc  */
-#line 6243 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4917 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             FTMatchOptions *mo = dynamic_cast<FTMatchOptions*>((yysemantic_stack_[(3) - (1)].node));
             mo->push_back( dynamic_cast<FTMatchOption*>((yysemantic_stack_[(3) - (3)].node)) );
@@ -9557,7 +9527,7 @@
   case 697:
 
 /* Line 690 of lalr1.cc  */
-#line 6253 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4925 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9566,7 +9536,7 @@
   case 698:
 
 /* Line 690 of lalr1.cc  */
-#line 6257 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4929 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9575,7 +9545,7 @@
   case 699:
 
 /* Line 690 of lalr1.cc  */
-#line 6261 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4933 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9584,7 +9554,7 @@
   case 700:
 
 /* Line 690 of lalr1.cc  */
-#line 6265 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4937 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9593,7 +9563,7 @@
   case 701:
 
 /* Line 690 of lalr1.cc  */
-#line 6269 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4941 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9602,7 +9572,7 @@
   case 702:
 
 /* Line 690 of lalr1.cc  */
-#line 6273 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4945 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9611,7 +9581,7 @@
   case 703:
 
 /* Line 690 of lalr1.cc  */
-#line 6277 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4949 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9620,7 +9590,7 @@
   case 704:
 
 /* Line 690 of lalr1.cc  */
-#line 6281 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4953 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9629,7 +9599,7 @@
   case 705:
 
 /* Line 690 of lalr1.cc  */
-#line 6289 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4959 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTCaseOption( LOC((yyloc)), ft_case_mode::sensitive );
         }
@@ -9638,7 +9608,7 @@
   case 706:
 
 /* Line 690 of lalr1.cc  */
-#line 6293 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4963 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTCaseOption( LOC((yyloc)), ft_case_mode::insensitive );
         }
@@ -9647,7 +9617,7 @@
   case 707:
 
 /* Line 690 of lalr1.cc  */
-#line 6297 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4967 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTCaseOption( LOC((yyloc)), ft_case_mode::lower );
         }
@@ -9656,7 +9626,7 @@
   case 708:
 
 /* Line 690 of lalr1.cc  */
-#line 6301 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4971 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTCaseOption( LOC((yyloc)), ft_case_mode::upper );
         }
@@ -9665,7 +9635,7 @@
   case 709:
 
 /* Line 690 of lalr1.cc  */
-#line 6309 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4977 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTDiacriticsOption(
                 LOC((yyloc)), ft_diacritics_mode::sensitive
@@ -9676,7 +9646,7 @@
   case 710:
 
 /* Line 690 of lalr1.cc  */
-#line 6315 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4983 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTDiacriticsOption(
                 LOC((yyloc)), ft_diacritics_mode::insensitive
@@ -9687,7 +9657,7 @@
   case 711:
 
 /* Line 690 of lalr1.cc  */
-#line 6325 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4991 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTExtensionOption(
                 LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)), SYMTAB((yysemantic_stack_[(3) - (3)].sval))
@@ -9698,7 +9668,7 @@
   case 712:
 
 /* Line 690 of lalr1.cc  */
-#line 6335 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 4999 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTStemOption( LOC((yyloc)), ft_stem_mode::stemming );
         }
@@ -9707,7 +9677,7 @@
   case 713:
 
 /* Line 690 of lalr1.cc  */
-#line 6339 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5003 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTStemOption( LOC((yyloc)), ft_stem_mode::no_stemming );
         }
@@ -9716,7 +9686,7 @@
   case 714:
 
 /* Line 690 of lalr1.cc  */
-#line 6347 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5009 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             FTThesaurusOption::thesaurus_id_list_t *til = NULL;
             if ( (yysemantic_stack_[(2) - (2)].node) ) {
@@ -9731,7 +9701,7 @@
   case 715:
 
 /* Line 690 of lalr1.cc  */
-#line 6357 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5019 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             FTThesaurusOption::thesaurus_id_list_t *til = (yysemantic_stack_[(5) - (4)].thesaurus_id_list);
             if ( (yysemantic_stack_[(5) - (3)].node) ) {
@@ -9747,7 +9717,7 @@
   case 716:
 
 /* Line 690 of lalr1.cc  */
-#line 6368 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5030 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTThesaurusOption( LOC((yyloc)), NULL, false, true );
         }
@@ -9756,7 +9726,7 @@
   case 717:
 
 /* Line 690 of lalr1.cc  */
-#line 6375 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5036 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9765,7 +9735,7 @@
   case 718:
 
 /* Line 690 of lalr1.cc  */
-#line 6379 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5040 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = NULL;
         }
@@ -9774,7 +9744,7 @@
   case 719:
 
 /* Line 690 of lalr1.cc  */
-#line 6386 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5045 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.thesaurus_id_list) = NULL;
         }
@@ -9783,7 +9753,7 @@
   case 720:
 
 /* Line 690 of lalr1.cc  */
-#line 6390 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5049 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.thesaurus_id_list) = (yysemantic_stack_[(2) - (2)].thesaurus_id_list);
         }
@@ -9792,7 +9762,7 @@
   case 721:
 
 /* Line 690 of lalr1.cc  */
-#line 6397 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5055 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.thesaurus_id_list) = new FTThesaurusOption::thesaurus_id_list_t;
             (yyval.thesaurus_id_list)->push_back( dynamic_cast<FTThesaurusID*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -9802,7 +9772,7 @@
   case 722:
 
 /* Line 690 of lalr1.cc  */
-#line 6402 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5060 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yysemantic_stack_[(3) - (1)].thesaurus_id_list)->push_back( dynamic_cast<FTThesaurusID*>((yysemantic_stack_[(3) - (3)].node)) );
             (yyval.thesaurus_id_list) = (yysemantic_stack_[(3) - (1)].thesaurus_id_list);
@@ -9812,7 +9782,7 @@
   case 723:
 
 /* Line 690 of lalr1.cc  */
-#line 6411 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5067 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTThesaurusID(
                 LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (2)].sval)), SYMTAB((yysemantic_stack_[(4) - (3)].sval)), dynamic_cast<FTRange*>((yysemantic_stack_[(4) - (4)].node))
@@ -9823,7 +9793,7 @@
   case 724:
 
 /* Line 690 of lalr1.cc  */
-#line 6420 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5074 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.sval) = 0;
         }
@@ -9832,7 +9802,7 @@
   case 725:
 
 /* Line 690 of lalr1.cc  */
-#line 6424 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5078 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.sval) = (yysemantic_stack_[(2) - (2)].sval);
         }
@@ -9841,7 +9811,7 @@
   case 726:
 
 /* Line 690 of lalr1.cc  */
-#line 6431 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5084 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = NULL;
         }
@@ -9850,7 +9820,7 @@
   case 727:
 
 /* Line 690 of lalr1.cc  */
-#line 6435 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5088 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
         }
@@ -9859,7 +9829,7 @@
   case 728:
 
 /* Line 690 of lalr1.cc  */
-#line 6443 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5094 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTStopWordOption(
                 LOC((yyloc)),
@@ -9873,7 +9843,7 @@
   case 729:
 
 /* Line 690 of lalr1.cc  */
-#line 6452 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5103 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTStopWordOption(
                 LOC((yyloc)), NULL, (yysemantic_stack_[(4) - (4)].incl_excl_list), ft_stop_words_mode::with_default
@@ -9885,7 +9855,7 @@
   case 730:
 
 /* Line 690 of lalr1.cc  */
-#line 6459 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5110 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTStopWordOption(
                 LOC((yyloc)), NULL, NULL, ft_stop_words_mode::without
@@ -9896,7 +9866,7 @@
   case 731:
 
 /* Line 690 of lalr1.cc  */
-#line 6469 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5118 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTStopWords( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)), NULL );
         }
@@ -9905,7 +9875,7 @@
   case 732:
 
 /* Line 690 of lalr1.cc  */
-#line 6473 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5122 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTStopWords( LOC((yyloc)), "", (yysemantic_stack_[(3) - (2)].strlist) );
         }
@@ -9914,7 +9884,7 @@
   case 733:
 
 /* Line 690 of lalr1.cc  */
-#line 6480 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5128 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             string_list_t *sl = new string_list_t;
             sl->push_back( SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
@@ -9925,7 +9895,7 @@
   case 734:
 
 /* Line 690 of lalr1.cc  */
-#line 6486 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5134 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             if ( (yysemantic_stack_[(3) - (1)].strlist) )
                 (yysemantic_stack_[(3) - (1)].strlist)->push_back( SYMTAB((yysemantic_stack_[(3) - (3)].sval)) );
@@ -9936,7 +9906,7 @@
   case 735:
 
 /* Line 690 of lalr1.cc  */
-#line 6495 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5141 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.incl_excl_list) = NULL;
         }
@@ -9945,7 +9915,7 @@
   case 736:
 
 /* Line 690 of lalr1.cc  */
-#line 6499 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5145 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.incl_excl_list) = (yysemantic_stack_[(1) - (1)].incl_excl_list);
         }
@@ -9954,7 +9924,7 @@
   case 737:
 
 /* Line 690 of lalr1.cc  */
-#line 6506 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5151 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.incl_excl_list) = new FTStopWordOption::incl_excl_list_t;
             (yyval.incl_excl_list)->push_back( dynamic_cast<FTStopWordsInclExcl*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -9964,7 +9934,7 @@
   case 738:
 
 /* Line 690 of lalr1.cc  */
-#line 6511 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5156 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             FTStopWordOption::incl_excl_list_t *iel = (yysemantic_stack_[(2) - (1)].incl_excl_list);
             if ( !iel )
@@ -9977,7 +9947,7 @@
   case 739:
 
 /* Line 690 of lalr1.cc  */
-#line 6523 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5166 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTStopWordsInclExcl(
                 LOC((yyloc)),
@@ -9990,7 +9960,7 @@
   case 740:
 
 /* Line 690 of lalr1.cc  */
-#line 6531 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5174 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTStopWordsInclExcl(
                 LOC((yyloc)),
@@ -10003,7 +9973,7 @@
   case 741:
 
 /* Line 690 of lalr1.cc  */
-#line 6543 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5184 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTLanguageOption( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)) );
         }
@@ -10012,7 +9982,7 @@
   case 742:
 
 /* Line 690 of lalr1.cc  */
-#line 6551 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5190 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTWildCardOption( LOC((yyloc)), ft_wild_card_mode::with );
         }
@@ -10021,7 +9991,7 @@
   case 743:
 
 /* Line 690 of lalr1.cc  */
-#line 6555 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5194 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTWildCardOption( LOC((yyloc)), ft_wild_card_mode::without );
         }
@@ -10030,7 +10000,7 @@
   case 744:
 
 /* Line 690 of lalr1.cc  */
-#line 6563 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5200 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTContent( LOC((yyloc)), ft_content_mode::at_start );
         }
@@ -10039,7 +10009,7 @@
   case 745:
 
 /* Line 690 of lalr1.cc  */
-#line 6567 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5204 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTContent( LOC((yyloc)), ft_content_mode::at_end );
         }
@@ -10048,7 +10018,7 @@
   case 746:
 
 /* Line 690 of lalr1.cc  */
-#line 6571 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5208 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTContent( LOC((yyloc)), ft_content_mode::entire );
         }
@@ -10057,7 +10027,7 @@
   case 747:
 
 /* Line 690 of lalr1.cc  */
-#line 6579 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5214 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTTimes( LOC((yyloc)), dynamic_cast<FTRange*>((yysemantic_stack_[(3) - (2)].node)) );
         }
@@ -10066,7 +10036,7 @@
   case 748:
 
 /* Line 690 of lalr1.cc  */
-#line 6587 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5220 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTRange( LOC((yyloc)), ft_range_mode::exactly, (yysemantic_stack_[(2) - (2)].expr) );
         }
@@ -10075,7 +10045,7 @@
   case 749:
 
 /* Line 690 of lalr1.cc  */
-#line 6591 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5224 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTRange( LOC((yyloc)), ft_range_mode::at_least, (yysemantic_stack_[(3) - (3)].expr) );
         }
@@ -10084,7 +10054,7 @@
   case 750:
 
 /* Line 690 of lalr1.cc  */
-#line 6595 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5228 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTRange( LOC((yyloc)), ft_range_mode::at_most, (yysemantic_stack_[(3) - (3)].expr) );
         }
@@ -10093,7 +10063,7 @@
   case 751:
 
 /* Line 690 of lalr1.cc  */
-#line 6599 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5232 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTRange( LOC((yyloc)), ft_range_mode::from_to, (yysemantic_stack_[(4) - (2)].expr), (yysemantic_stack_[(4) - (4)].expr) );
         }
@@ -10102,7 +10072,7 @@
   case 752:
 
 /* Line 690 of lalr1.cc  */
-#line 6607 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5238 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTScope(
                 LOC((yyloc)),
@@ -10115,7 +10085,7 @@
   case 753:
 
 /* Line 690 of lalr1.cc  */
-#line 6615 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5246 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTScope(
                 LOC((yyloc)),
@@ -10128,7 +10098,7 @@
   case 754:
 
 /* Line 690 of lalr1.cc  */
-#line 6627 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5256 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTBigUnit( LOC((yyloc)), ft_big_unit::sentence );
         }
@@ -10137,7 +10107,7 @@
   case 755:
 
 /* Line 690 of lalr1.cc  */
-#line 6631 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5260 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTBigUnit( LOC((yyloc)), ft_big_unit::paragraph );
         }
@@ -10146,7 +10116,7 @@
   case 756:
 
 /* Line 690 of lalr1.cc  */
-#line 6639 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5266 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTIgnoreOption( LOC((yyloc)), static_cast<UnionExpr*>((yysemantic_stack_[(3) - (3)].expr)) );
         }
@@ -10155,7 +10125,7 @@
   case 757:
 
 /* Line 690 of lalr1.cc  */
-#line 6653 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5272 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new JSONArrayConstructor( LOC((yyloc)), NULL );
         }
@@ -10164,7 +10134,7 @@
   case 758:
 
 /* Line 690 of lalr1.cc  */
-#line 6657 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5276 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new JSONArrayConstructor( LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr) );
         }
@@ -10173,9 +10143,8 @@
   case 759:
 
 /* Line 690 of lalr1.cc  */
-#line 6664 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5282 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-          // TODO: fill in with the correct constructor
           (yyval.expr) = new JSONObjectConstructor(LOC((yyloc)), NULL, false);
         }
     break;
@@ -10183,9 +10152,8 @@
   case 760:
 
 /* Line 690 of lalr1.cc  */
-#line 6669 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5286 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-          // TODO: fill in with the correct constructor
           (yyval.expr) = new JSONObjectConstructor(LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr), false);
         }
     break;
@@ -10193,9 +10161,8 @@
   case 761:
 
 /* Line 690 of lalr1.cc  */
-#line 6677 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5292 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-          // TODO: fill in with the correct constructor
           (yyval.expr) = new JSONObjectConstructor(LOC((yyloc)), NULL, true);
         }
     break;
@@ -10203,9 +10170,8 @@
   case 762:
 
 /* Line 690 of lalr1.cc  */
-#line 6682 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5296 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-          // TODO: fill in with the correct constructor
           (yyval.expr) = new JSONObjectConstructor(LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr), true);
         }
     break;
@@ -10213,7 +10179,7 @@
   case 763:
 
 /* Line 690 of lalr1.cc  */
-#line 6691 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5302 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new JSONDirectObjectConstructor(LOC((yyloc)),
                                                dynamic_cast<JSONPairList*>((yysemantic_stack_[(3) - (2)].node)));
@@ -10223,7 +10189,7 @@
   case 764:
 
 /* Line 690 of lalr1.cc  */
-#line 6703 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5309 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           StringLiteral* sl = new StringLiteral( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (1)].sval)) );
           JSONPairList* jpl = new JSONPairList(LOC((yyloc)));
@@ -10235,7 +10201,7 @@
   case 765:
 
 /* Line 690 of lalr1.cc  */
-#line 6710 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5317 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           JSONPairList* jpl = new JSONPairList(LOC((yyloc)));
           jpl->push_back(new JSONPairConstructor(LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)));
@@ -10246,7 +10212,7 @@
   case 766:
 
 /* Line 690 of lalr1.cc  */
-#line 6716 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5323 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           JSONPairList* jpl = dynamic_cast<JSONPairList*>((yysemantic_stack_[(5) - (1)].node));
           assert(jpl);
@@ -10258,7 +10224,7 @@
   case 767:
 
 /* Line 690 of lalr1.cc  */
-#line 6723 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5330 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           JSONPairList* jpl = dynamic_cast<JSONPairList*>((yysemantic_stack_[(5) - (1)].node));
           assert(jpl);
@@ -10271,7 +10237,7 @@
   case 768:
 
 /* Line 690 of lalr1.cc  */
-#line 6734 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5340 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new JSONObjectInsertExpr(LOC((yyloc)),
                                         (yysemantic_stack_[(5) - (3)].expr),
@@ -10282,7 +10248,7 @@
   case 769:
 
 /* Line 690 of lalr1.cc  */
-#line 6740 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5346 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           JSONPairList* jpl = dynamic_cast<JSONPairList*>((yysemantic_stack_[(5) - (3)].node));
           (yyval.expr) = new JSONObjectInsertExpr(
@@ -10297,7 +10263,7 @@
   case 770:
 
 /* Line 690 of lalr1.cc  */
-#line 6750 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5356 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new JSONArrayInsertExpr(LOC((yyloc)), (yysemantic_stack_[(8) - (3)].expr), (yysemantic_stack_[(8) - (5)].expr), (yysemantic_stack_[(8) - (8)].expr));
         }
@@ -10306,7 +10272,7 @@
   case 771:
 
 /* Line 690 of lalr1.cc  */
-#line 6755 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5360 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new JSONObjectInsertExpr(LOC((yyloc)),
                                         (yysemantic_stack_[(4) - (2)].expr),
@@ -10317,7 +10283,7 @@
   case 772:
 
 /* Line 690 of lalr1.cc  */
-#line 6761 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5366 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           JSONPairList* jpl = dynamic_cast<JSONPairList*>((yysemantic_stack_[(4) - (2)].node));
           (yyval.expr) = new JSONObjectInsertExpr(
@@ -10332,7 +10298,7 @@
   case 773:
 
 /* Line 690 of lalr1.cc  */
-#line 6771 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5376 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new JSONArrayInsertExpr(LOC((yyloc)), (yysemantic_stack_[(7) - (2)].expr), (yysemantic_stack_[(7) - (4)].expr), (yysemantic_stack_[(7) - (7)].expr));
         }
@@ -10341,7 +10307,7 @@
   case 774:
 
 /* Line 690 of lalr1.cc  */
-#line 6778 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5382 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new JSONArrayAppendExpr(LOC((yyloc)), (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr));
         }
@@ -10350,7 +10316,7 @@
   case 775:
 
 /* Line 690 of lalr1.cc  */
-#line 6782 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5386 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new JSONArrayAppendExpr(LOC((yyloc)), (yysemantic_stack_[(4) - (2)].expr), (yysemantic_stack_[(4) - (4)].expr));
         }
@@ -10359,23 +10325,20 @@
   case 776:
 
 /* Line 690 of lalr1.cc  */
-#line 6789 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5392 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           rchandle<DynamicFunctionInvocation> lDynamicFunctionInvocation =
           dynamic_cast<DynamicFunctionInvocation*>((yysemantic_stack_[(3) - (3)].expr));
-
           if (lDynamicFunctionInvocation == NULL)
           {
             error((yylocation_stack_[(3) - (3)]), "An object invocation is expected. A filter was found instead.");
             YYERROR;
           }
-
           if (lDynamicFunctionInvocation->getArgList()->size() != 1)
           {
             error((yylocation_stack_[(3) - (3)]), "An object invocation with exactly one argument is expected. Zero or more than one argument were found.");
             YYERROR;
           }
-
           (yyval.expr) = new JSONDeleteExpr(
                 LOC((yyloc)),
                 lDynamicFunctionInvocation->getPrimaryExpr(),
@@ -10386,23 +10349,20 @@
   case 777:
 
 /* Line 690 of lalr1.cc  */
-#line 6811 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5411 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           rchandle<DynamicFunctionInvocation> lDynamicFunctionInvocation =
           dynamic_cast<DynamicFunctionInvocation*>((yysemantic_stack_[(2) - (2)].expr));
-
           if (lDynamicFunctionInvocation == NULL)
           {
             error((yylocation_stack_[(2) - (2)]), "An object invocation is expected. A filter was found instead.");
             YYERROR;
           }
-
           if (lDynamicFunctionInvocation->getArgList()->size() != 1)
           {
             error((yylocation_stack_[(2) - (2)]), "An object invocation with exactly one argument is expected. Zero or more than one argument were found.");
             YYERROR;
           }
-
           (yyval.expr) = new JSONDeleteExpr(
                 LOC((yyloc)),
                 lDynamicFunctionInvocation->getPrimaryExpr(),
@@ -10413,25 +10373,22 @@
   case 778:
 
 /* Line 690 of lalr1.cc  */
-#line 6836 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5432 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           rchandle<DynamicFunctionInvocation> lDynamicFunctionInvocation =
           dynamic_cast<DynamicFunctionInvocation*>((yysemantic_stack_[(5) - (3)].expr));
-
           if(lDynamicFunctionInvocation == NULL)
           {
             error((yylocation_stack_[(5) - (3)]), "An object invocation is expected. A filter was found instead.");
             delete (yysemantic_stack_[(5) - (5)].expr);
             YYERROR;
           }
-
           if (lDynamicFunctionInvocation->getArgList()->size() != 1)
           {
             error((yylocation_stack_[(5) - (3)]), "An object invocation with exactly one argument is expected. Zero or more than one argument were found.");
             delete (yysemantic_stack_[(5) - (5)].expr);
             YYERROR;
           }
-
           (yyval.expr) = new JSONRenameExpr(
                 LOC((yyloc)),
                 lDynamicFunctionInvocation->getPrimaryExpr(),
@@ -10443,25 +10400,22 @@
   case 779:
 
 /* Line 690 of lalr1.cc  */
-#line 6861 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5454 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           rchandle<DynamicFunctionInvocation> lDynamicFunctionInvocation =
           dynamic_cast<DynamicFunctionInvocation*>((yysemantic_stack_[(4) - (2)].expr));
-
           if(lDynamicFunctionInvocation == NULL)
           {
             error((yylocation_stack_[(4) - (2)]), "An object invocation is expected. A filter was found instead.");
             delete (yysemantic_stack_[(4) - (4)].expr);
             YYERROR;
           }
-
           if (lDynamicFunctionInvocation->getArgList()->size() != 1)
           {
             error((yylocation_stack_[(4) - (2)]), "An object invocation with exactly one argument is expected. Zero or more than one argument were found.");
             delete (yysemantic_stack_[(4) - (4)].expr);
             YYERROR;
           }
-
           (yyval.expr) = new JSONRenameExpr(
                 LOC((yyloc)),
                 lDynamicFunctionInvocation->getPrimaryExpr(),
@@ -10473,25 +10427,22 @@
   case 780:
 
 /* Line 690 of lalr1.cc  */
-#line 6889 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5478 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           rchandle<DynamicFunctionInvocation> lDynamicFunctionInvocation =
           dynamic_cast<DynamicFunctionInvocation*>((yysemantic_stack_[(7) - (5)].expr));
-
           if(lDynamicFunctionInvocation == NULL)
           {
             error((yylocation_stack_[(7) - (3)]), "An object invocation is expected. A filter was found instead.");
             delete (yysemantic_stack_[(7) - (7)].expr);
             YYERROR;
           }
-
           if (lDynamicFunctionInvocation->getArgList()->size() != 1)
           {
             error((yylocation_stack_[(7) - (3)]), "An object invocation with exactly one argument is expected. Zero or more than one argument were found.");
             delete (yysemantic_stack_[(7) - (7)].expr);
             YYERROR;
           }
-
           (yyval.expr) = new JSONReplaceExpr(
                 LOC((yyloc)),
                 lDynamicFunctionInvocation->getPrimaryExpr(),
@@ -10503,25 +10454,22 @@
   case 781:
 
 /* Line 690 of lalr1.cc  */
-#line 6914 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5500 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           rchandle<DynamicFunctionInvocation> lDynamicFunctionInvocation =
           dynamic_cast<DynamicFunctionInvocation*>((yysemantic_stack_[(6) - (4)].expr));
-
           if(lDynamicFunctionInvocation == NULL)
           {
             error((yylocation_stack_[(6) - (2)]), "An object invocation is expected. A filter was found instead.");
             delete (yysemantic_stack_[(6) - (6)].expr);
             YYERROR;
           }
-
           if (lDynamicFunctionInvocation->getArgList()->size() != 1)
           {
             error((yylocation_stack_[(6) - (2)]), "An object invocation with exactly one argument is expected. Zero or more than one argument were found.");
             delete (yysemantic_stack_[(6) - (6)].expr);
             YYERROR;
           }
-
           (yyval.expr) = new JSONReplaceExpr(
                 LOC((yyloc)),
                 lDynamicFunctionInvocation->getPrimaryExpr(),
@@ -10533,7 +10481,7 @@
   case 782:
 
 /* Line 690 of lalr1.cc  */
-#line 6942 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5524 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -10542,7 +10490,7 @@
   case 783:
 
 /* Line 690 of lalr1.cc  */
-#line 6946 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5528 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -10551,7 +10499,7 @@
   case 784:
 
 /* Line 690 of lalr1.cc  */
-#line 6950 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5532 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -10560,7 +10508,7 @@
   case 785:
 
 /* Line 690 of lalr1.cc  */
-#line 6957 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5538 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonItem);
         }
@@ -10569,7 +10517,7 @@
   case 786:
 
 /* Line 690 of lalr1.cc  */
-#line 6962 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5542 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonItem);
         }
@@ -10578,7 +10526,7 @@
   case 787:
 
 /* Line 690 of lalr1.cc  */
-#line 6969 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5548 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonObject);
         }
@@ -10587,7 +10535,7 @@
   case 788:
 
 /* Line 690 of lalr1.cc  */
-#line 6974 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5552 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonObject);
         }
@@ -10596,7 +10544,7 @@
   case 789:
 
 /* Line 690 of lalr1.cc  */
-#line 6981 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5558 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonArray);
         }
@@ -10605,7 +10553,7 @@
   case 790:
 
 /* Line 690 of lalr1.cc  */
-#line 6986 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5562 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonArray);
         }
@@ -10614,7 +10562,7 @@
   case 793:
 
 /* Line 690 of lalr1.cc  */
-#line 7003 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5572 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           auto_ptr<QName> lQName( static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
           zstring const &tmp = lQName->get_qname();
@@ -10629,1484 +10577,1484 @@
   case 795:
 
 /* Line 690 of lalr1.cc  */
-#line 7016 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5584 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("attribute"))); }
     break;
 
   case 796:
 
 /* Line 690 of lalr1.cc  */
-#line 7017 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5585 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("comment"))); }
     break;
 
   case 797:
 
 /* Line 690 of lalr1.cc  */
-#line 7018 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5586 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("document-node"))); }
     break;
 
   case 798:
 
 /* Line 690 of lalr1.cc  */
-#line 7019 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5587 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("namespace-node"))); }
     break;
 
   case 799:
 
 /* Line 690 of lalr1.cc  */
-#line 7020 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5588 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("element"))); }
     break;
 
   case 800:
 
 /* Line 690 of lalr1.cc  */
-#line 7022 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5589 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("if"))); }
     break;
 
   case 801:
 
 /* Line 690 of lalr1.cc  */
-#line 7023 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5590 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("node"))); }
     break;
 
   case 802:
 
 /* Line 690 of lalr1.cc  */
-#line 7024 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5591 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("processing-instruction"))); }
     break;
 
   case 803:
 
 /* Line 690 of lalr1.cc  */
-#line 7025 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5592 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("schema-attribute"))); }
     break;
 
   case 804:
 
 /* Line 690 of lalr1.cc  */
-#line 7026 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5593 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("schema-element"))); }
     break;
 
   case 805:
 
 /* Line 690 of lalr1.cc  */
-#line 7027 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5594 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("text"))); }
     break;
 
   case 806:
 
 /* Line 690 of lalr1.cc  */
-#line 7028 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5595 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("typeswitch"))); }
     break;
 
   case 807:
 
 /* Line 690 of lalr1.cc  */
-#line 7029 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5596 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("switch"))); }
     break;
 
   case 808:
 
 /* Line 690 of lalr1.cc  */
-#line 7030 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5597 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("empty-sequence"))); }
     break;
 
   case 809:
 
 /* Line 690 of lalr1.cc  */
-#line 7031 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5598 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("while"))); }
     break;
 
   case 811:
 
 /* Line 690 of lalr1.cc  */
-#line 7036 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5602 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval))); }
     break;
 
   case 812:
 
 /* Line 690 of lalr1.cc  */
-#line 7037 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5603 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("xquery"))); }
     break;
 
   case 813:
 
 /* Line 690 of lalr1.cc  */
-#line 7038 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5604 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("empty"))); }
     break;
 
   case 814:
 
 /* Line 690 of lalr1.cc  */
-#line 7039 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5605 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("boundary-space"))); }
     break;
 
   case 815:
 
 /* Line 690 of lalr1.cc  */
-#line 7040 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5606 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ft-option"))); }
     break;
 
   case 816:
 
 /* Line 690 of lalr1.cc  */
-#line 7041 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5607 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("base-uri"))); }
     break;
 
   case 817:
 
 /* Line 690 of lalr1.cc  */
-#line 7042 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5608 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("lax"))); }
     break;
 
   case 818:
 
 /* Line 690 of lalr1.cc  */
-#line 7043 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5609 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("strict"))); }
     break;
 
   case 819:
 
 /* Line 690 of lalr1.cc  */
-#line 7044 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5610 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("idiv"))); }
     break;
 
   case 820:
 
 /* Line 690 of lalr1.cc  */
-#line 7045 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5611 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("document"))); }
     break;
 
   case 821:
 
 /* Line 690 of lalr1.cc  */
-#line 7046 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5612 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ftnot"))); }
     break;
 
   case 822:
 
 /* Line 690 of lalr1.cc  */
-#line 7047 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5613 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("not"))); }
     break;
 
   case 823:
 
 /* Line 690 of lalr1.cc  */
-#line 7048 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5614 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("sensitive"))); }
     break;
 
   case 824:
 
 /* Line 690 of lalr1.cc  */
-#line 7049 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5615 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("insensitive"))); }
     break;
 
   case 825:
 
 /* Line 690 of lalr1.cc  */
-#line 7050 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5616 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("diacritics"))); }
     break;
 
   case 826:
 
 /* Line 690 of lalr1.cc  */
-#line 7051 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5617 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("without"))); }
     break;
 
   case 827:
 
 /* Line 690 of lalr1.cc  */
-#line 7052 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5618 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("stemming"))); }
     break;
 
   case 828:
 
 /* Line 690 of lalr1.cc  */
-#line 7053 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5619 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("thesaurus"))); }
     break;
 
   case 829:
 
 /* Line 690 of lalr1.cc  */
-#line 7054 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5620 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("stop"))); }
     break;
 
   case 830:
 
 /* Line 690 of lalr1.cc  */
-#line 7055 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5621 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("wildcards"))); }
     break;
 
   case 831:
 
 /* Line 690 of lalr1.cc  */
-#line 7056 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5622 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("entire"))); }
     break;
 
   case 832:
 
 /* Line 690 of lalr1.cc  */
-#line 7057 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5623 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("content"))); }
     break;
 
   case 833:
 
 /* Line 690 of lalr1.cc  */
-#line 7058 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5624 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("word"))); }
     break;
 
   case 834:
 
 /* Line 690 of lalr1.cc  */
-#line 7059 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5625 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("start"))); }
     break;
 
   case 835:
 
 /* Line 690 of lalr1.cc  */
-#line 7060 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5626 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("end"))); }
     break;
 
   case 836:
 
 /* Line 690 of lalr1.cc  */
-#line 7061 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5627 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("most"))); }
     break;
 
   case 837:
 
 /* Line 690 of lalr1.cc  */
-#line 7062 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5628 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("skip"))); }
     break;
 
   case 838:
 
 /* Line 690 of lalr1.cc  */
-#line 7063 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5629 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("copy"))); }
     break;
 
   case 839:
 
 /* Line 690 of lalr1.cc  */
-#line 7064 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5630 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("general"))); }
     break;
 
   case 840:
 
 /* Line 690 of lalr1.cc  */
-#line 7065 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5631 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("value"))); }
     break;
 
   case 841:
 
 /* Line 690 of lalr1.cc  */
-#line 7066 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5632 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("eq"))); }
     break;
 
   case 842:
 
 /* Line 690 of lalr1.cc  */
-#line 7067 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5633 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ne"))); }
     break;
 
   case 843:
 
 /* Line 690 of lalr1.cc  */
-#line 7068 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5634 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("lt"))); }
     break;
 
   case 844:
 
 /* Line 690 of lalr1.cc  */
-#line 7069 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5635 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("le"))); }
     break;
 
   case 845:
 
 /* Line 690 of lalr1.cc  */
-#line 7070 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5636 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("gt"))); }
     break;
 
   case 846:
 
 /* Line 690 of lalr1.cc  */
-#line 7071 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5637 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ge"))); }
     break;
 
   case 847:
 
 /* Line 690 of lalr1.cc  */
-#line 7072 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5638 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("at"))); }
     break;
 
   case 848:
 
 /* Line 690 of lalr1.cc  */
-#line 7073 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5639 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("context"))); }
     break;
 
   case 849:
 
 /* Line 690 of lalr1.cc  */
-#line 7074 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5640 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("variable"))); }
     break;
 
   case 850:
 
 /* Line 690 of lalr1.cc  */
-#line 7075 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5641 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("return"))); }
     break;
 
   case 851:
 
 /* Line 690 of lalr1.cc  */
-#line 7076 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5642 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("for"))); }
     break;
 
   case 852:
 
 /* Line 690 of lalr1.cc  */
-#line 7077 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5643 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("allowing"))); }
     break;
 
   case 853:
 
 /* Line 690 of lalr1.cc  */
-#line 7078 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5644 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("sliding"))); }
     break;
 
   case 854:
 
 /* Line 690 of lalr1.cc  */
-#line 7079 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5645 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("tumbling"))); }
     break;
 
   case 855:
 
 /* Line 690 of lalr1.cc  */
-#line 7080 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5646 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("previous"))); }
     break;
 
   case 856:
 
 /* Line 690 of lalr1.cc  */
-#line 7081 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5647 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("next"))); }
     break;
 
   case 857:
 
 /* Line 690 of lalr1.cc  */
-#line 7082 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5648 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("only"))); }
     break;
 
   case 858:
 
 /* Line 690 of lalr1.cc  */
-#line 7083 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5649 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("when"))); }
     break;
 
   case 859:
 
 /* Line 690 of lalr1.cc  */
-#line 7084 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5650 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("count"))); }
     break;
 
   case 860:
 
 /* Line 690 of lalr1.cc  */
-#line 7085 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5651 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("in"))); }
     break;
 
   case 861:
 
 /* Line 690 of lalr1.cc  */
-#line 7086 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5652 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("let"))); }
     break;
 
   case 862:
 
 /* Line 690 of lalr1.cc  */
-#line 7087 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5653 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("where"))); }
     break;
 
   case 863:
 
 /* Line 690 of lalr1.cc  */
-#line 7088 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5654 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("by"))); }
     break;
 
   case 864:
 
 /* Line 690 of lalr1.cc  */
-#line 7089 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5655 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("group"))); }
     break;
 
   case 865:
 
 /* Line 690 of lalr1.cc  */
-#line 7090 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5656 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("order"))); }
     break;
 
   case 866:
 
 /* Line 690 of lalr1.cc  */
-#line 7091 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5657 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("stable"))); }
     break;
 
   case 867:
 
 /* Line 690 of lalr1.cc  */
-#line 7092 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5658 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ascending"))); }
     break;
 
   case 868:
 
 /* Line 690 of lalr1.cc  */
-#line 7093 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5659 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("descending"))); }
     break;
 
   case 869:
 
 /* Line 690 of lalr1.cc  */
-#line 7094 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5660 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("greatest"))); }
     break;
 
   case 870:
 
 /* Line 690 of lalr1.cc  */
-#line 7095 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5661 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("least"))); }
     break;
 
   case 871:
 
 /* Line 690 of lalr1.cc  */
-#line 7096 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5662 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("collation"))); }
     break;
 
   case 872:
 
 /* Line 690 of lalr1.cc  */
-#line 7097 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5663 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("some"))); }
     break;
 
   case 873:
 
 /* Line 690 of lalr1.cc  */
-#line 7098 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5664 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("every"))); }
     break;
 
   case 874:
 
 /* Line 690 of lalr1.cc  */
-#line 7099 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5665 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("satisfies"))); }
     break;
 
   case 875:
 
 /* Line 690 of lalr1.cc  */
-#line 7100 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5666 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("case"))); }
     break;
 
   case 876:
 
 /* Line 690 of lalr1.cc  */
-#line 7101 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5667 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("as"))); }
     break;
 
   case 877:
 
 /* Line 690 of lalr1.cc  */
-#line 7102 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5668 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("then"))); }
     break;
 
   case 878:
 
 /* Line 690 of lalr1.cc  */
-#line 7103 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5669 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("else"))); }
     break;
 
   case 879:
 
 /* Line 690 of lalr1.cc  */
-#line 7104 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5670 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("or"))); }
     break;
 
   case 880:
 
 /* Line 690 of lalr1.cc  */
-#line 7105 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5671 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("and"))); }
     break;
 
   case 881:
 
 /* Line 690 of lalr1.cc  */
-#line 7106 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5672 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("instance"))); }
     break;
 
   case 882:
 
 /* Line 690 of lalr1.cc  */
-#line 7107 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5673 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("of"))); }
     break;
 
   case 883:
 
 /* Line 690 of lalr1.cc  */
-#line 7108 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5674 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("castable"))); }
     break;
 
   case 884:
 
 /* Line 690 of lalr1.cc  */
-#line 7109 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5675 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("to"))); }
     break;
 
   case 885:
 
 /* Line 690 of lalr1.cc  */
-#line 7110 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5676 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("div"))); }
     break;
 
   case 886:
 
 /* Line 690 of lalr1.cc  */
-#line 7111 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5677 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("mod"))); }
     break;
 
   case 887:
 
 /* Line 690 of lalr1.cc  */
-#line 7112 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5678 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("union"))); }
     break;
 
   case 888:
 
 /* Line 690 of lalr1.cc  */
-#line 7113 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5679 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("intersect"))); }
     break;
 
   case 889:
 
 /* Line 690 of lalr1.cc  */
-#line 7114 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5680 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("except"))); }
     break;
 
   case 890:
 
 /* Line 690 of lalr1.cc  */
-#line 7115 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5681 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("validate"))); }
     break;
 
   case 891:
 
 /* Line 690 of lalr1.cc  */
-#line 7116 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5682 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("type"))); }
     break;
 
   case 892:
 
 /* Line 690 of lalr1.cc  */
-#line 7117 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5683 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("cast"))); }
     break;
 
   case 893:
 
 /* Line 690 of lalr1.cc  */
-#line 7118 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5684 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("treat"))); }
     break;
 
   case 894:
 
 /* Line 690 of lalr1.cc  */
-#line 7119 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5685 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("is"))); }
     break;
 
   case 895:
 
 /* Line 690 of lalr1.cc  */
-#line 7120 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5686 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("preserve"))); }
     break;
 
   case 896:
 
 /* Line 690 of lalr1.cc  */
-#line 7121 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5687 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("strip"))); }
     break;
 
   case 897:
 
 /* Line 690 of lalr1.cc  */
-#line 7122 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5688 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("namespace"))); }
     break;
 
   case 898:
 
 /* Line 690 of lalr1.cc  */
-#line 7123 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5689 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("external"))); }
     break;
 
   case 899:
 
 /* Line 690 of lalr1.cc  */
-#line 7124 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5690 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("encoding"))); }
     break;
 
   case 900:
 
 /* Line 690 of lalr1.cc  */
-#line 7125 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5691 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("no-preserve"))); }
     break;
 
   case 901:
 
 /* Line 690 of lalr1.cc  */
-#line 7126 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5692 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("inherit"))); }
     break;
 
   case 902:
 
 /* Line 690 of lalr1.cc  */
-#line 7127 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5693 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("no-inherit"))); }
     break;
 
   case 903:
 
 /* Line 690 of lalr1.cc  */
-#line 7128 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5694 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("declare"))); }
     break;
 
   case 904:
 
 /* Line 690 of lalr1.cc  */
-#line 7129 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5695 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("construction"))); }
     break;
 
   case 905:
 
 /* Line 690 of lalr1.cc  */
-#line 7130 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5696 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ordering"))); }
     break;
 
   case 906:
 
 /* Line 690 of lalr1.cc  */
-#line 7131 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5697 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("default"))); }
     break;
 
   case 907:
 
 /* Line 690 of lalr1.cc  */
-#line 7132 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5698 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("copy-namespaces"))); }
     break;
 
   case 908:
 
 /* Line 690 of lalr1.cc  */
-#line 7133 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5699 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("option"))); }
     break;
 
   case 909:
 
 /* Line 690 of lalr1.cc  */
-#line 7134 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5700 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("version"))); }
     break;
 
   case 910:
 
 /* Line 690 of lalr1.cc  */
-#line 7135 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5701 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("import"))); }
     break;
 
   case 911:
 
 /* Line 690 of lalr1.cc  */
-#line 7136 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5702 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("schema"))); }
     break;
 
   case 912:
 
 /* Line 690 of lalr1.cc  */
-#line 7137 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5703 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("module"))); }
     break;
 
   case 913:
 
 /* Line 690 of lalr1.cc  */
-#line 7138 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5704 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("function"))); }
     break;
 
   case 914:
 
 /* Line 690 of lalr1.cc  */
-#line 7139 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5705 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("score"))); }
     break;
 
   case 915:
 
 /* Line 690 of lalr1.cc  */
-#line 7140 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5706 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("contains"))); }
     break;
 
   case 916:
 
 /* Line 690 of lalr1.cc  */
-#line 7141 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5707 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("weight"))); }
     break;
 
   case 917:
 
 /* Line 690 of lalr1.cc  */
-#line 7142 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5708 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("window"))); }
     break;
 
   case 918:
 
 /* Line 690 of lalr1.cc  */
-#line 7143 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5709 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("distance"))); }
     break;
 
   case 919:
 
 /* Line 690 of lalr1.cc  */
-#line 7144 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5710 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("occurs"))); }
     break;
 
   case 920:
 
 /* Line 690 of lalr1.cc  */
-#line 7145 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5711 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("times"))); }
     break;
 
   case 921:
 
 /* Line 690 of lalr1.cc  */
-#line 7146 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5712 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("same"))); }
     break;
 
   case 922:
 
 /* Line 690 of lalr1.cc  */
-#line 7147 "/home/markos/zorba/repo/hof-next/src/compiler/parser/jsoniq_parser.y"
+#line 5713 "/home/colea/xquery/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("different"))); }
     break;
 
   case 92

Follow ups