← Back to team overview

zorba-coders team mailing list archive

[Merge] lp:~zorba-coders/zorba/object-lookup-context-item into lp:zorba

 

Ghislain Fourny has proposed merging lp:~zorba-coders/zorba/object-lookup-context-item into lp:zorba.

Requested reviews:
  Markos Zaharioudakis (markos-za)
  Matthias Brantner (matthias-brantner)

For more details, see:
https://code.launchpad.net/~zorba-coders/zorba/object-lookup-context-item/+merge/190115

Introduces $object.$$ syntax.

This replaces the feature-objnav_contextitem branch.

-- 
The attached diff has been truncated due to its size.
https://code.launchpad.net/~zorba-coders/zorba/object-lookup-context-item/+merge/190115
Your team Zorba Coders is subscribed to branch lp:zorba.
=== modified file 'src/compiler/parser/jsoniq_parser.cpp'
--- src/compiler/parser/jsoniq_parser.cpp	2013-09-23 09:11:02 +0000
+++ src/compiler/parser/jsoniq_parser.cpp	2013-10-09 12:45:04 +0000
@@ -1,8 +1,8 @@
-/* A Bison parser, made by GNU Bison 2.5.  */
+/* A Bison parser, made by GNU Bison 2.6.2.  */
 
 /* Skeleton implementation for Bison LALR(1) parsers in C++
    
-      Copyright (C) 2002-2011 Free Software Foundation, Inc.
+      Copyright (C) 2002-2012 Free Software Foundation, Inc.
    
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -34,14 +34,12 @@
 #define yylex   zorbalex
 
 /* First part of user declarations.  */
-
-/* Line 293 of lalr1.cc  */
-#line 1 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 278 of lalr1.cc  */
+#line 1 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
 
 #define JSONIQ_PARSER
-
-/* Line 293 of lalr1.cc  */
-#line 59 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 278 of lalr1.cc  */
+#line 59 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
 
 
 #include "common/common.h"
@@ -77,9 +75,8 @@
 using namespace std;
 using namespace zorba;
 
-
-/* Line 293 of lalr1.cc  */
-#line 102 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 278 of lalr1.cc  */
+#line 102 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
 
 
 #ifdef XQUERY_PARSER
@@ -96,17 +93,17 @@
 #endif
 
 
-
-/* Line 293 of lalr1.cc  */
-#line 102 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
+/* Line 278 of lalr1.cc  */
+#line 98 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
 
 
 #include "jsoniq_parser.hpp"
 
 /* User implementation prologue.  */
-
-/* Line 299 of lalr1.cc  */
-#line 792 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 284 of lalr1.cc  */
+#line 905 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+
+
 
 template<typename T> inline void release_hack( T *ref ) {
     if ( ref ) {
@@ -114,9 +111,8 @@
         RCHelper::removeReference( ref );
     }
 }
-
-/* Line 299 of lalr1.cc  */
-#line 849 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 284 of lalr1.cc  */
+#line 1043 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
 
 namespace {
 bool convert_postfix_to_target_and_selector(
@@ -130,6 +126,8 @@
       dynamic_cast<DynamicFunctionInvocation*>(aPostfixExpr);
   rchandle<FilterExpr> lFilterExpr = dynamic_cast<FilterExpr*>(aPostfixExpr);
   rchandle<JSONObjectLookup> lObjectLookup = dynamic_cast<JSONObjectLookup*>(aPostfixExpr);
+
+
   if (lDynamicFunctionInvocation != NULL) {
     if (lDynamicFunctionInvocation->getArgList()->size() != 1)
     {
@@ -140,6 +138,8 @@
     *aSelectorExpr = lDynamicFunctionInvocation->getArgList()->operator[](0);
     return true;
   }
+
+
   else if (lObjectLookup != NULL)
   {
     *aTargetExpr = lObjectLookup->get_object_expr();
@@ -148,6 +148,7 @@
     lObjectLookup->release_selector_expr();
     return true;
   }
+
   else if (!allowArray && lFilterExpr != NULL)
   {
     *anError = "An object lookup is expected.";
@@ -158,6 +159,8 @@
     rchandle<exprnode> lPrimary = lFilterExpr->get_primary();
     rchandle<PredicateList> lPredicateList = lFilterExpr->get_pred_list();
     ulong lSize = lPredicateList->size();
+
+
     if (lSize < 1)
     {
       *anError = "An object or array lookup with exactly one argument is expected. No argument was found.";
@@ -177,6 +180,8 @@
       return false;
     }
     lConstructor->set_expr(NULL);
+
+
     *aTargetExpr = lPrimary;
     if (lSize > 1)
     {
@@ -193,6 +198,7 @@
     }
     return true;
   }
+
   else
   {
     *anError = "An object or array lookup is expected.";
@@ -201,9 +207,17 @@
 };
 }
 
-
-/* Line 299 of lalr1.cc  */
-#line 207 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
+/* Line 284 of lalr1.cc  */
+#line 212 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+
+
+# ifndef YY_NULL
+#  if defined __cplusplus && 201103L <= __cplusplus
+#   define YY_NULL nullptr
+#  else
+#   define YY_NULL 0
+#  endif
+# endif
 
 #ifndef YY_
 # if defined YYENABLE_NLS && YYENABLE_NLS
@@ -217,25 +231,26 @@
 # endif
 #endif
 
+#define YYRHSLOC(Rhs, K) ((Rhs)[K])
 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
    If N is 0, then set CURRENT to the empty location which ends
    the previous symbol: RHS[0] (always defined).  */
 
-#define YYRHSLOC(Rhs, K) ((Rhs)[K])
-#ifndef YYLLOC_DEFAULT
-# define YYLLOC_DEFAULT(Current, Rhs, N)                               \
- do                                                                    \
-   if (N)                                                              \
-     {                                                                 \
-       (Current).begin = YYRHSLOC (Rhs, 1).begin;                      \
-       (Current).end   = YYRHSLOC (Rhs, N).end;                        \
-     }                                                                 \
-   else                                                                \
-     {                                                                 \
-       (Current).begin = (Current).end = YYRHSLOC (Rhs, 0).end;        \
-     }                                                                 \
- while (false)
-#endif
+# ifndef YYLLOC_DEFAULT
+#  define YYLLOC_DEFAULT(Current, Rhs, N)                               \
+    do                                                                  \
+      if (N)                                                            \
+        {                                                               \
+          (Current).begin  = YYRHSLOC (Rhs, 1).begin;                   \
+          (Current).end    = YYRHSLOC (Rhs, N).end;                     \
+        }                                                               \
+      else                                                              \
+        {                                                               \
+          (Current).begin = (Current).end = YYRHSLOC (Rhs, 0).end;      \
+        }                                                               \
+    while (/*CONSTCOND*/ false)
+# endif
+
 
 /* Suppress unused-variable warnings by "using" E.  */
 #define YYUSE(e) ((void) (e))
@@ -287,9 +302,8 @@
 
 
 namespace zorba {
-
-/* Line 382 of lalr1.cc  */
-#line 293 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
+/* Line 352 of lalr1.cc  */
+#line 307 "/Users/zorba/Code/zorba/release/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
@@ -355,6 +369,9 @@
   {
     YYUSE (yylocationp);
     YYUSE (yyvaluep);
+    std::ostream& yyo = debug_stream ();
+    std::ostream& yyoutput = yyo;
+    YYUSE (yyoutput);
     switch (yytype)
       {
          default:
@@ -387,2579 +404,2007 @@
 
     switch (yytype)
       {
-        case 111: /* "\"'DECIMAL'\"" */
-
-/* Line 480 of lalr1.cc  */
-#line 791 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ delete (yyvaluep->decval); };
-
-/* Line 480 of lalr1.cc  */
-#line 398 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 126: /* "\"'DOUBLE'\"" */
-
-/* Line 480 of lalr1.cc  */
-#line 790 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ delete (yyvaluep->dval); };
-
-/* Line 480 of lalr1.cc  */
-#line 407 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 151: /* "\"'INTEGER'\"" */
-
-/* Line 480 of lalr1.cc  */
-#line 789 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ delete (yyvaluep->ival); };
-
-/* Line 480 of lalr1.cc  */
-#line 416 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 344: /* "VersionDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 812 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 425 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 345: /* "MainModule" */
-
-/* Line 480 of lalr1.cc  */
-#line 805 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 434 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 346: /* "LibraryModule" */
-
-/* Line 480 of lalr1.cc  */
-#line 805 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 443 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 347: /* "ModuleDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 805 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 452 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 348: /* "SIND_DeclList" */
-
-/* Line 480 of lalr1.cc  */
-#line 808 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 461 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 349: /* "SIND_Decl" */
-
-/* Line 480 of lalr1.cc  */
-#line 808 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 470 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 350: /* "Setter" */
-
-/* Line 480 of lalr1.cc  */
-#line 809 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 479 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 351: /* "BoundarySpaceDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 802 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 488 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 352: /* "DefaultCollationDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 803 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 497 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 353: /* "BaseURIDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 802 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 506 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 354: /* "ConstructionDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 802 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 515 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 355: /* "OrderingModeDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 807 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 524 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 356: /* "EmptyOrderDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 804 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 533 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 357: /* "CopyNamespacesDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 803 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 542 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 358: /* "Import" */
-
-/* Line 480 of lalr1.cc  */
-#line 804 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 551 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 359: /* "SchemaImport" */
-
-/* Line 480 of lalr1.cc  */
-#line 808 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 560 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 360: /* "URILiteralList" */
-
-/* Line 480 of lalr1.cc  */
-#line 810 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 569 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 361: /* "SchemaPrefix" */
-
-/* Line 480 of lalr1.cc  */
-#line 809 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 578 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 362: /* "ModuleImport" */
-
-/* Line 480 of lalr1.cc  */
-#line 805 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 587 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 363: /* "NamespaceDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 805 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 596 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 364: /* "DefaultNamespaceDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 803 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 605 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 365: /* "VFO_DeclList" */
-
-/* Line 480 of lalr1.cc  */
-#line 812 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 614 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 366: /* "VFO_Decl" */
-
-/* Line 480 of lalr1.cc  */
-#line 812 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 623 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 367: /* "DecimalFormatDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 812 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 632 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 368: /* "DecimalFormatParamList" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ delete (yyvaluep->vstrpair); };
-
-/* Line 480 of lalr1.cc  */
-#line 641 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 369: /* "DecimalFormatParam" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ delete (yyvaluep->strpair); };
-
-/* Line 480 of lalr1.cc  */
-#line 650 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 371: /* "OptionDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 806 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 659 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 372: /* "FTOptionDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 668 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 373: /* "CtxItemDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 810 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 677 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 374: /* "CtxItemDecl2" */
-
-/* Line 480 of lalr1.cc  */
-#line 810 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 686 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 375: /* "CtxItemDecl3" */
-
-/* Line 480 of lalr1.cc  */
-#line 810 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 695 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 376: /* "CtxItemDecl4" */
-
-/* Line 480 of lalr1.cc  */
-#line 811 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 704 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 377: /* "VarDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 811 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 713 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 378: /* "VarNameAndType" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ delete (yyvaluep->varnametype); };
-
-/* Line 480 of lalr1.cc  */
-#line 722 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 379: /* "AnnotationList" */
-
-/* Line 480 of lalr1.cc  */
-#line 801 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 731 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 380: /* "Annotation" */
-
-/* Line 480 of lalr1.cc  */
-#line 801 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 740 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 381: /* "AnnotationLiteralList" */
-
-/* Line 480 of lalr1.cc  */
-#line 801 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 749 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 382: /* "FunctionDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 804 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 758 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 383: /* "FunctionDecl2" */
-
-/* Line 480 of lalr1.cc  */
-#line 804 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 767 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 384: /* "FunctionDeclSimple" */
-
-/* Line 480 of lalr1.cc  */
-#line 804 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 776 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 385: /* "FunctionDeclUpdating" */
-
-/* Line 480 of lalr1.cc  */
-#line 804 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 785 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 386: /* "FunctionSig" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ delete (yyvaluep->fnsig); };
-
-/* Line 480 of lalr1.cc  */
-#line 794 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 387: /* "ParamList" */
-
-/* Line 480 of lalr1.cc  */
-#line 807 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 803 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 388: /* "Param" */
-
-/* Line 480 of lalr1.cc  */
-#line 807 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 812 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 389: /* "CollectionDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 810 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 821 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 391: /* "IndexDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 810 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 830 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 392: /* "IndexKeyList" */
-
-/* Line 480 of lalr1.cc  */
-#line 810 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 839 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 393: /* "IndexKeySpec" */
-
-/* Line 480 of lalr1.cc  */
-#line 810 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 848 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 394: /* "IntegrityConstraintDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 810 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 857 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 395: /* "QueryBody" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 866 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 396: /* "StatementsAndOptionalExprTop" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 875 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 397: /* "StatementsAndOptionalExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 884 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 398: /* "StatementsAndExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 893 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 399: /* "Statements" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 902 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 400: /* "Statement" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 911 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 401: /* "BlockStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 920 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 402: /* "BlockExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 929 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 403: /* "EnclosedStatementsAndOptionalExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 938 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 404: /* "VarDeclStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 947 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 407: /* "AssignStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 956 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 408: /* "ApplyStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 965 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 409: /* "ExitStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 974 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 410: /* "WhileStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 983 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 411: /* "FlowCtlStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 992 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 412: /* "FLWORStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1001 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 413: /* "ReturnStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1010 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 414: /* "IfStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1019 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 415: /* "TryStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1028 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 416: /* "CatchListStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1037 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 417: /* "CatchStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1046 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 418: /* "VoidStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 813 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1055 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 419: /* "Expr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1064 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 420: /* "ExprSingle" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1073 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 421: /* "ExprSimple" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1082 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 422: /* "FLWORExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1091 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 423: /* "ReturnExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1100 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 427: /* "FLWORWinCond" */
-
-/* Line 480 of lalr1.cc  */
-#line 811 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1109 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 428: /* "WindowClause" */
-
-/* Line 480 of lalr1.cc  */
-#line 804 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1118 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 429: /* "CountClause" */
-
-/* Line 480 of lalr1.cc  */
-#line 812 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1127 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 430: /* "ForLetWinClause" */
-
-/* Line 480 of lalr1.cc  */
-#line 804 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1136 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 432: /* "FLWORClauseList" */
-
-/* Line 480 of lalr1.cc  */
-#line 804 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1145 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 433: /* "ForClause" */
-
-/* Line 480 of lalr1.cc  */
-#line 804 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1154 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 435: /* "VarInDeclList" */
-
-/* Line 480 of lalr1.cc  */
-#line 811 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1163 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 436: /* "VarInDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 811 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1172 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 437: /* "PositionalVar" */
-
-/* Line 480 of lalr1.cc  */
-#line 807 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1181 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 438: /* "FTScoreVar" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1190 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 439: /* "LetClause" */
-
-/* Line 480 of lalr1.cc  */
-#line 805 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1199 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 440: /* "VarGetsDeclList" */
-
-/* Line 480 of lalr1.cc  */
-#line 811 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1208 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 441: /* "VarGetsDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 811 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1217 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 442: /* "WindowVarDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 811 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1226 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 443: /* "WindowVars" */
-
-/* Line 480 of lalr1.cc  */
-#line 811 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1235 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 444: /* "WindowVars3" */
-
-/* Line 480 of lalr1.cc  */
-#line 811 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1244 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 445: /* "WindowVars2" */
-
-/* Line 480 of lalr1.cc  */
-#line 811 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1253 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 446: /* "WhereClause" */
-
-/* Line 480 of lalr1.cc  */
-#line 812 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1262 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 447: /* "GroupByClause" */
-
-/* Line 480 of lalr1.cc  */
-#line 806 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1271 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 448: /* "GroupSpecList" */
-
-/* Line 480 of lalr1.cc  */
-#line 806 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1280 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 449: /* "GroupSpec" */
-
-/* Line 480 of lalr1.cc  */
-#line 806 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1289 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 450: /* "GroupCollationSpec" */
-
-/* Line 480 of lalr1.cc  */
-#line 806 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1298 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 451: /* "OrderByClause" */
-
-/* Line 480 of lalr1.cc  */
-#line 806 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1307 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 452: /* "OrderSpecList" */
-
-/* Line 480 of lalr1.cc  */
-#line 807 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1316 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 453: /* "OrderSpec" */
-
-/* Line 480 of lalr1.cc  */
-#line 807 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1325 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 454: /* "OrderModifier" */
-
-/* Line 480 of lalr1.cc  */
-#line 806 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1334 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 455: /* "OrderDirSpec" */
-
-/* Line 480 of lalr1.cc  */
-#line 806 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1343 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 456: /* "OrderEmptySpec" */
-
-/* Line 480 of lalr1.cc  */
-#line 806 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1352 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 457: /* "OrderCollationSpec" */
-
-/* Line 480 of lalr1.cc  */
-#line 806 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1361 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 458: /* "QuantifiedExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1370 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 459: /* "QVarInDeclList" */
-
-/* Line 480 of lalr1.cc  */
-#line 807 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1379 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 460: /* "QVarInDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 807 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1388 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 461: /* "SwitchExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1397 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 462: /* "SwitchCaseClauseList" */
-
-/* Line 480 of lalr1.cc  */
-#line 813 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1406 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 463: /* "SwitchCaseClause" */
-
-/* Line 480 of lalr1.cc  */
-#line 813 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1415 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 464: /* "SwitchCaseOperandList" */
-
-/* Line 480 of lalr1.cc  */
-#line 813 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1424 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 465: /* "SwitchStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1433 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 468: /* "TypeswitchExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1442 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 469: /* "TypeswitchStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1451 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 470: /* "CaseClauseList" */
-
-/* Line 480 of lalr1.cc  */
-#line 802 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1460 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 471: /* "CaseClause" */
-
-/* Line 480 of lalr1.cc  */
-#line 802 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1469 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 474: /* "SequenceTypeList" */
-
-/* Line 480 of lalr1.cc  */
-#line 809 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1478 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 475: /* "IfExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1487 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 476: /* "OrExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1496 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 477: /* "AndExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1505 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 478: /* "NotExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 814 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1514 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 479: /* "ComparisonExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1523 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 481: /* "FTContainsExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1532 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 482: /* "StringConcatExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1541 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 483: /* "opt_FTIgnoreOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1550 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 484: /* "RangeExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1559 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 485: /* "AdditiveExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1568 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 486: /* "MultiplicativeExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1577 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 487: /* "UnionExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1586 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 488: /* "IntersectExceptExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1595 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 489: /* "InstanceofExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1604 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 490: /* "TreatExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1613 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 491: /* "CastableExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1622 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 492: /* "CastExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1631 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 493: /* "SingleType" */
-
-/* Line 480 of lalr1.cc  */
-#line 809 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1640 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 494: /* "UnaryExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1649 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 495: /* "SignList" */
-
-/* Line 480 of lalr1.cc  */
-#line 809 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1658 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 496: /* "ValueExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1667 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 497: /* "SimpleMapExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1676 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 498: /* "ValueComp" */
-
-/* Line 480 of lalr1.cc  */
-#line 810 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1685 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 499: /* "NodeComp" */
-
-/* Line 480 of lalr1.cc  */
-#line 813 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1694 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 500: /* "ValidateExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1703 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 501: /* "ExtensionExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1712 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 502: /* "Pragma_list" */
-
-/* Line 480 of lalr1.cc  */
-#line 807 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1721 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 503: /* "Pragma" */
-
-/* Line 480 of lalr1.cc  */
-#line 807 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1730 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 504: /* "PathExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1739 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 506: /* "RelativePathExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1748 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 507: /* "StepExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1757 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 508: /* "AxisStep" */
-
-/* Line 480 of lalr1.cc  */
-#line 817 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1766 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 509: /* "ForwardStep" */
-
-/* Line 480 of lalr1.cc  */
-#line 800 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1775 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 510: /* "ForwardAxis" */
-
-/* Line 480 of lalr1.cc  */
-#line 800 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1784 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 511: /* "AbbrevForwardStep" */
-
-/* Line 480 of lalr1.cc  */
-#line 800 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1793 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 512: /* "ReverseStep" */
-
-/* Line 480 of lalr1.cc  */
-#line 800 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1802 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 513: /* "ReverseAxis" */
-
-/* Line 480 of lalr1.cc  */
-#line 800 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1811 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 514: /* "NodeTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 800 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1820 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 515: /* "NameTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 805 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1829 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 516: /* "Wildcard" */
-
-/* Line 480 of lalr1.cc  */
-#line 812 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1838 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 517: /* "PostfixExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1847 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 518: /* "PredicateList" */
-
-/* Line 480 of lalr1.cc  */
-#line 807 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1856 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 519: /* "Predicate" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1865 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 520: /* "PrimaryExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1874 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 521: /* "Literal" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1883 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 522: /* "NumericLiteral" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1892 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 523: /* "VarRef" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1901 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 524: /* "ParenthesizedExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1910 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 525: /* "ContextItemExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1919 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 526: /* "OrderedExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1928 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 527: /* "UnorderedExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1937 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 528: /* "FunctionCall" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1946 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 529: /* "ArgList" */
-
-/* Line 480 of lalr1.cc  */
-#line 801 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1955 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 533: /* "Constructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1964 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 534: /* "DirectConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1973 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 535: /* "DirElemConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1982 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 536: /* "DirElemContentList" */
-
-/* Line 480 of lalr1.cc  */
-#line 803 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1991 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 537: /* "DirAttributeList" */
-
-/* Line 480 of lalr1.cc  */
-#line 803 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2000 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 538: /* "DirAttr" */
-
-/* Line 480 of lalr1.cc  */
-#line 803 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2009 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 540: /* "DirAttributeValue" */
-
-/* Line 480 of lalr1.cc  */
-#line 803 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2018 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 541: /* "opt_QuoteAttrContentList" */
-
-/* Line 480 of lalr1.cc  */
-#line 808 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2027 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 542: /* "QuoteAttrContentList" */
-
-/* Line 480 of lalr1.cc  */
-#line 808 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2036 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 543: /* "opt_AposAttrContentList" */
-
-/* Line 480 of lalr1.cc  */
-#line 801 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2045 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 544: /* "AposAttrContentList" */
-
-/* Line 480 of lalr1.cc  */
-#line 801 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2054 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 545: /* "QuoteAttrValueContent" */
-
-/* Line 480 of lalr1.cc  */
-#line 808 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2063 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 546: /* "AposAttrValueContent" */
-
-/* Line 480 of lalr1.cc  */
-#line 801 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2072 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 547: /* "DirElemContent" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2081 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 548: /* "CommonContent" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2090 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 549: /* "DirCommentConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2099 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 550: /* "DirPIConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2108 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 551: /* "CDataSection" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2117 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 552: /* "ComputedConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2126 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 553: /* "CompDocConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2135 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 554: /* "CompElemConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2144 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 555: /* "CompAttrConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2153 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 556: /* "CompTextConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2162 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 557: /* "CompCommentConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2171 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 558: /* "CompPIConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2180 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 559: /* "CompNamespaceConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2189 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 560: /* "TypeDeclaration" */
-
-/* Line 480 of lalr1.cc  */
-#line 809 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2198 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 561: /* "SequenceType" */
-
-/* Line 480 of lalr1.cc  */
-#line 809 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2207 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 562: /* "OccurrenceIndicator" */
-
-/* Line 480 of lalr1.cc  */
-#line 805 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2216 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 563: /* "ItemType" */
-
-/* Line 480 of lalr1.cc  */
-#line 805 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2225 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 564: /* "TypeList" */
-
-/* Line 480 of lalr1.cc  */
-#line 812 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2234 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 565: /* "GeneralizedAtomicType" */
-
-/* Line 480 of lalr1.cc  */
-#line 802 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2243 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 566: /* "SimpleType" */
-
-/* Line 480 of lalr1.cc  */
-#line 802 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2252 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 567: /* "KindTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 805 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2261 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 568: /* "AnyKindTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 801 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2270 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 570: /* "DocumentTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 803 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2279 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 571: /* "NamespaceTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 809 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2288 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 572: /* "TextTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 809 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2297 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 573: /* "CommentTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 802 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2306 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 574: /* "PITest" */
-
-/* Line 480 of lalr1.cc  */
-#line 807 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2315 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 575: /* "AttributeTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 802 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2324 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 576: /* "SchemaAttributeTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 808 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2333 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 577: /* "ElementTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 803 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2342 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 578: /* "SchemaElementTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 808 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2351 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 579: /* "TypeName" */
-
-/* Line 480 of lalr1.cc  */
-#line 809 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2360 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 580: /* "TypeName_WITH_HOOK" */
-
-/* Line 480 of lalr1.cc  */
-#line 809 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2369 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 581: /* "StringLiteral" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2378 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 583: /* "AnyFunctionTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 812 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2387 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 584: /* "TypedFunctionTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 812 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2396 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 587: /* "InsertExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2405 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 588: /* "DeleteExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2414 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 589: /* "ReplaceExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2423 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 590: /* "RenameExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2432 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 591: /* "TransformExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2441 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 592: /* "VarNameList" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2450 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 593: /* "VarNameDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2459 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 594: /* "TryExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2468 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 595: /* "CatchListExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2477 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 596: /* "CatchExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2486 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 597: /* "BracedExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2495 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 598: /* "NameTestList" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ delete (yyvaluep->name_test_list); };
-
-/* Line 480 of lalr1.cc  */
-#line 2504 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 599: /* "FTSelection" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2513 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 602: /* "FTOr" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2522 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 603: /* "FTAnd" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2531 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 604: /* "FTMildNot" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2540 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 605: /* "FTUnaryNot" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2549 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 606: /* "FTPrimaryWithOptions" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2558 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 607: /* "opt_FTMatchOptions" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2567 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 609: /* "FTWeight" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2576 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 610: /* "FTPrimary" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2585 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 611: /* "opt_FTTimes" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2594 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 612: /* "FTExtensionSelection" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2603 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 614: /* "FTWords" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2612 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 615: /* "FTWordsValue" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2621 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 617: /* "FTAnyallOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2630 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 620: /* "FTPosFilter" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2639 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 621: /* "FTOrder" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2648 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 622: /* "FTWindow" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2657 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 623: /* "FTDistance" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2666 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 624: /* "FTUnit" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2675 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 625: /* "FTMatchOptions" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2684 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 626: /* "FTMatchOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2693 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 627: /* "FTCaseOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2702 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 628: /* "FTDiacriticsOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2711 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 629: /* "FTExtensionOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2720 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 630: /* "FTStemOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2729 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 631: /* "FTThesaurusOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2738 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 635: /* "FTThesaurusID" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2747 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 638: /* "FTStopWordOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2756 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 639: /* "FTStopWords" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2765 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 643: /* "FTStopWordsInclExcl" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2774 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 644: /* "FTLanguageOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2783 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 645: /* "FTWildCardOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2792 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 646: /* "FTContent" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2801 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 647: /* "FTTimes" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2810 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 648: /* "FTRange" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2819 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 649: /* "FTScope" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2828 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 650: /* "FTBigUnit" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2837 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 651: /* "FTIgnoreOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2846 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 652: /* "JSONArrayConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2855 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 653: /* "JSONSimpleObjectUnion" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2864 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 654: /* "JSONAccumulatorObjectUnion" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2873 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 655: /* "JSONObjectConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2882 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 656: /* "JSONPairList" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2891 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 657: /* "JSONInsertExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2900 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 658: /* "JSONAppendExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2909 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 659: /* "JSONDeleteExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2918 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 660: /* "JSONRenameExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2927 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 661: /* "JSONReplaceExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2936 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 664: /* "QNAME" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2945 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 665: /* "FUNCTION_NAME" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2954 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 666: /* "EQNAME" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2963 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
+        case 111: /* "'DECIMAL'" */
+/* Line 453 of lalr1.cc  */
+#line 903 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ delete ((*yyvaluep).decval); };
+/* Line 453 of lalr1.cc  */
+#line 413 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 126: /* "'DOUBLE'" */
+/* Line 453 of lalr1.cc  */
+#line 902 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ delete ((*yyvaluep).dval); };
+/* Line 453 of lalr1.cc  */
+#line 420 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 151: /* "'INTEGER'" */
+/* Line 453 of lalr1.cc  */
+#line 901 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ delete ((*yyvaluep).ival); };
+/* Line 453 of lalr1.cc  */
+#line 427 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 344: /* VersionDecl */
+/* Line 453 of lalr1.cc  */
+#line 932 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 434 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 345: /* MainModule */
+/* Line 453 of lalr1.cc  */
+#line 925 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 441 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 346: /* LibraryModule */
+/* Line 453 of lalr1.cc  */
+#line 925 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 448 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 347: /* ModuleDecl */
+/* Line 453 of lalr1.cc  */
+#line 925 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 455 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 348: /* SIND_DeclList */
+/* Line 453 of lalr1.cc  */
+#line 928 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 462 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 349: /* SIND_Decl */
+/* Line 453 of lalr1.cc  */
+#line 928 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 469 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 350: /* Setter */
+/* Line 453 of lalr1.cc  */
+#line 929 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 476 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 351: /* BoundarySpaceDecl */
+/* Line 453 of lalr1.cc  */
+#line 922 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 483 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 352: /* DefaultCollationDecl */
+/* Line 453 of lalr1.cc  */
+#line 923 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 490 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 353: /* BaseURIDecl */
+/* Line 453 of lalr1.cc  */
+#line 922 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 497 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 354: /* ConstructionDecl */
+/* Line 453 of lalr1.cc  */
+#line 922 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 504 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 355: /* OrderingModeDecl */
+/* Line 453 of lalr1.cc  */
+#line 927 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 511 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 356: /* EmptyOrderDecl */
+/* Line 453 of lalr1.cc  */
+#line 924 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 518 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 357: /* CopyNamespacesDecl */
+/* Line 453 of lalr1.cc  */
+#line 923 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 525 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 358: /* Import */
+/* Line 453 of lalr1.cc  */
+#line 924 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 532 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 359: /* SchemaImport */
+/* Line 453 of lalr1.cc  */
+#line 928 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 539 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 360: /* URILiteralList */
+/* Line 453 of lalr1.cc  */
+#line 930 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 546 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 361: /* SchemaPrefix */
+/* Line 453 of lalr1.cc  */
+#line 929 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 553 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 362: /* ModuleImport */
+/* Line 453 of lalr1.cc  */
+#line 925 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 560 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 363: /* NamespaceDecl */
+/* Line 453 of lalr1.cc  */
+#line 925 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 567 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 364: /* DefaultNamespaceDecl */
+/* Line 453 of lalr1.cc  */
+#line 923 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 574 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 365: /* VFO_DeclList */
+/* Line 453 of lalr1.cc  */
+#line 932 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 581 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 366: /* VFO_Decl */
+/* Line 453 of lalr1.cc  */
+#line 932 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 588 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 367: /* DecimalFormatDecl */
+/* Line 453 of lalr1.cc  */
+#line 932 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 595 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 368: /* DecimalFormatParamList */
+/* Line 453 of lalr1.cc  */
+#line 952 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ delete ((*yyvaluep).vstrpair); };
+/* Line 453 of lalr1.cc  */
+#line 602 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 369: /* DecimalFormatParam */
+/* Line 453 of lalr1.cc  */
+#line 952 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ delete ((*yyvaluep).strpair); };
+/* Line 453 of lalr1.cc  */
+#line 609 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 371: /* OptionDecl */
+/* Line 453 of lalr1.cc  */
+#line 926 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 616 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 372: /* FTOptionDecl */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 623 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 373: /* CtxItemDecl */
+/* Line 453 of lalr1.cc  */
+#line 930 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 630 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 374: /* CtxItemDecl2 */
+/* Line 453 of lalr1.cc  */
+#line 930 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 637 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 375: /* CtxItemDecl3 */
+/* Line 453 of lalr1.cc  */
+#line 930 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 644 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 376: /* CtxItemDecl4 */
+/* Line 453 of lalr1.cc  */
+#line 931 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 651 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 377: /* VarDecl */
+/* Line 453 of lalr1.cc  */
+#line 931 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 658 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 378: /* VarNameAndType */
+/* Line 453 of lalr1.cc  */
+#line 952 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ delete ((*yyvaluep).varnametype); };
+/* Line 453 of lalr1.cc  */
+#line 665 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 379: /* AnnotationList */
+/* Line 453 of lalr1.cc  */
+#line 921 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 672 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 380: /* Annotation */
+/* Line 453 of lalr1.cc  */
+#line 921 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 679 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 381: /* AnnotationLiteralList */
+/* Line 453 of lalr1.cc  */
+#line 921 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 686 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 382: /* FunctionDecl */
+/* Line 453 of lalr1.cc  */
+#line 924 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 693 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 383: /* FunctionDecl2 */
+/* Line 453 of lalr1.cc  */
+#line 924 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 700 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 384: /* FunctionDeclSimple */
+/* Line 453 of lalr1.cc  */
+#line 924 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 707 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 385: /* FunctionDeclUpdating */
+/* Line 453 of lalr1.cc  */
+#line 924 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 714 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 386: /* FunctionSig */
+/* Line 453 of lalr1.cc  */
+#line 952 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ delete ((*yyvaluep).fnsig); };
+/* Line 453 of lalr1.cc  */
+#line 721 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 387: /* ParamList */
+/* Line 453 of lalr1.cc  */
+#line 927 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 728 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 388: /* Param */
+/* Line 453 of lalr1.cc  */
+#line 927 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 735 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 389: /* CollectionDecl */
+/* Line 453 of lalr1.cc  */
+#line 930 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 742 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 391: /* IndexDecl */
+/* Line 453 of lalr1.cc  */
+#line 930 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 749 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 392: /* IndexKeyList */
+/* Line 453 of lalr1.cc  */
+#line 930 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 756 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 393: /* IndexKeySpec */
+/* Line 453 of lalr1.cc  */
+#line 930 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 763 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 394: /* IntegrityConstraintDecl */
+/* Line 453 of lalr1.cc  */
+#line 930 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 770 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 395: /* QueryBody */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 777 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 396: /* StatementsAndOptionalExprTop */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 784 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 397: /* StatementsAndOptionalExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 791 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 398: /* StatementsAndExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 798 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 399: /* Statements */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 805 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 400: /* Statement */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 812 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 401: /* BlockStatement */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 819 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 402: /* BlockExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 826 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 403: /* EnclosedStatementsAndOptionalExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 833 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 404: /* VarDeclStatement */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 840 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 407: /* AssignStatement */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 847 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 408: /* ApplyStatement */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 854 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 409: /* ExitStatement */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 861 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 410: /* WhileStatement */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 868 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 411: /* FlowCtlStatement */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 875 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 412: /* FLWORStatement */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 882 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 413: /* ReturnStatement */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 889 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 414: /* IfStatement */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 896 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 415: /* TryStatement */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 903 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 416: /* CatchListStatement */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 910 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 417: /* CatchStatement */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 917 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 418: /* VoidStatement */
+/* Line 453 of lalr1.cc  */
+#line 933 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 924 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 419: /* Expr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 931 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 420: /* ExprSingle */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 938 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 421: /* ExprSimple */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 945 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 422: /* FLWORExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 952 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 423: /* ReturnExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 959 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 427: /* FLWORWinCond */
+/* Line 453 of lalr1.cc  */
+#line 931 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 966 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 428: /* WindowClause */
+/* Line 453 of lalr1.cc  */
+#line 924 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 973 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 429: /* CountClause */
+/* Line 453 of lalr1.cc  */
+#line 932 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 980 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 430: /* ForLetWinClause */
+/* Line 453 of lalr1.cc  */
+#line 924 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 987 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 432: /* FLWORClauseList */
+/* Line 453 of lalr1.cc  */
+#line 924 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 994 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 433: /* ForClause */
+/* Line 453 of lalr1.cc  */
+#line 924 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1001 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 435: /* VarInDeclList */
+/* Line 453 of lalr1.cc  */
+#line 931 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1008 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 436: /* VarInDecl */
+/* Line 453 of lalr1.cc  */
+#line 931 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1015 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 437: /* PositionalVar */
+/* Line 453 of lalr1.cc  */
+#line 927 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1022 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 438: /* FTScoreVar */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1029 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 439: /* LetClause */
+/* Line 453 of lalr1.cc  */
+#line 925 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1036 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 440: /* VarGetsDeclList */
+/* Line 453 of lalr1.cc  */
+#line 931 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1043 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 441: /* VarGetsDecl */
+/* Line 453 of lalr1.cc  */
+#line 931 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1050 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 442: /* WindowVarDecl */
+/* Line 453 of lalr1.cc  */
+#line 931 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1057 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 443: /* WindowVars */
+/* Line 453 of lalr1.cc  */
+#line 931 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1064 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 444: /* WindowVars3 */
+/* Line 453 of lalr1.cc  */
+#line 931 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1071 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 445: /* WindowVars2 */
+/* Line 453 of lalr1.cc  */
+#line 931 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1078 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 446: /* WhereClause */
+/* Line 453 of lalr1.cc  */
+#line 932 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1085 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 447: /* GroupByClause */
+/* Line 453 of lalr1.cc  */
+#line 926 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1092 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 448: /* GroupSpecList */
+/* Line 453 of lalr1.cc  */
+#line 926 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1099 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 449: /* GroupSpec */
+/* Line 453 of lalr1.cc  */
+#line 926 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1106 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 450: /* GroupCollationSpec */
+/* Line 453 of lalr1.cc  */
+#line 926 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1113 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 451: /* OrderByClause */
+/* Line 453 of lalr1.cc  */
+#line 926 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1120 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 452: /* OrderSpecList */
+/* Line 453 of lalr1.cc  */
+#line 927 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1127 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 453: /* OrderSpec */
+/* Line 453 of lalr1.cc  */
+#line 927 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1134 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 454: /* OrderModifier */
+/* Line 453 of lalr1.cc  */
+#line 926 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1141 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 455: /* OrderDirSpec */
+/* Line 453 of lalr1.cc  */
+#line 926 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1148 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 456: /* OrderEmptySpec */
+/* Line 453 of lalr1.cc  */
+#line 926 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1155 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 457: /* OrderCollationSpec */
+/* Line 453 of lalr1.cc  */
+#line 926 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1162 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 458: /* QuantifiedExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1169 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 459: /* QVarInDeclList */
+/* Line 453 of lalr1.cc  */
+#line 927 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1176 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 460: /* QVarInDecl */
+/* Line 453 of lalr1.cc  */
+#line 927 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1183 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 461: /* SwitchExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1190 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 462: /* SwitchCaseClauseList */
+/* Line 453 of lalr1.cc  */
+#line 933 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1197 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 463: /* SwitchCaseClause */
+/* Line 453 of lalr1.cc  */
+#line 933 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1204 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 464: /* SwitchCaseOperandList */
+/* Line 453 of lalr1.cc  */
+#line 933 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1211 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 465: /* SwitchStatement */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1218 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 468: /* TypeswitchExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1225 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 469: /* TypeswitchStatement */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1232 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 470: /* CaseClauseList */
+/* Line 453 of lalr1.cc  */
+#line 922 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1239 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 471: /* CaseClause */
+/* Line 453 of lalr1.cc  */
+#line 922 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1246 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 474: /* SequenceTypeList */
+/* Line 453 of lalr1.cc  */
+#line 929 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1253 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 475: /* IfExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1260 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 476: /* OrExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1267 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 477: /* AndExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1274 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 478: /* NotExpr */
+/* Line 453 of lalr1.cc  */
+#line 936 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1281 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 479: /* ComparisonExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1288 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 481: /* FTContainsExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1295 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 482: /* StringConcatExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1302 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 483: /* opt_FTIgnoreOption */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1309 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 484: /* RangeExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1316 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 485: /* AdditiveExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1323 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 486: /* MultiplicativeExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1330 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 487: /* UnionExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1337 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 488: /* IntersectExceptExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1344 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 489: /* InstanceofExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1351 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 490: /* TreatExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1358 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 491: /* CastableExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1365 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 492: /* CastExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1372 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 493: /* SingleType */
+/* Line 453 of lalr1.cc  */
+#line 929 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1379 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 494: /* UnaryExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1386 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 495: /* SignList */
+/* Line 453 of lalr1.cc  */
+#line 929 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1393 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 496: /* ValueExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1400 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 497: /* SimpleMapExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1407 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 498: /* ValueComp */
+/* Line 453 of lalr1.cc  */
+#line 930 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1414 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 499: /* NodeComp */
+/* Line 453 of lalr1.cc  */
+#line 933 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1421 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 500: /* ValidateExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1428 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 501: /* ExtensionExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1435 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 502: /* Pragma_list */
+/* Line 453 of lalr1.cc  */
+#line 927 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1442 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 503: /* Pragma */
+/* Line 453 of lalr1.cc  */
+#line 927 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1449 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 504: /* PathExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1456 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 506: /* RelativePathExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1463 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 507: /* StepExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1470 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 508: /* AxisStep */
+/* Line 453 of lalr1.cc  */
+#line 946 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1477 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 509: /* ForwardStep */
+/* Line 453 of lalr1.cc  */
+#line 918 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1484 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 510: /* ForwardAxis */
+/* Line 453 of lalr1.cc  */
+#line 918 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1491 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 511: /* AbbrevForwardStep */
+/* Line 453 of lalr1.cc  */
+#line 918 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1498 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 512: /* ReverseStep */
+/* Line 453 of lalr1.cc  */
+#line 918 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1505 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 513: /* ReverseAxis */
+/* Line 453 of lalr1.cc  */
+#line 918 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1512 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 514: /* NodeTest */
+/* Line 453 of lalr1.cc  */
+#line 918 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1519 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 515: /* NameTest */
+/* Line 453 of lalr1.cc  */
+#line 925 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1526 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 516: /* Wildcard */
+/* Line 453 of lalr1.cc  */
+#line 932 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1533 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 517: /* PostfixExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1540 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 518: /* PredicateList */
+/* Line 453 of lalr1.cc  */
+#line 927 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1547 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 519: /* Predicate */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1554 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 520: /* PrimaryExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1561 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 521: /* Literal */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1568 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 522: /* NumericLiteral */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1575 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 523: /* VarRef */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1582 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 524: /* ParenthesizedExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1589 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 525: /* ContextItemExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1596 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 526: /* OrderedExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1603 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 527: /* UnorderedExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1610 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 528: /* FunctionCall */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1617 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 529: /* ArgList */
+/* Line 453 of lalr1.cc  */
+#line 921 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1624 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 533: /* Constructor */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1631 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 534: /* DirectConstructor */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1638 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 535: /* DirElemConstructor */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1645 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 536: /* DirElemContentList */
+/* Line 453 of lalr1.cc  */
+#line 923 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1652 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 537: /* DirAttributeList */
+/* Line 453 of lalr1.cc  */
+#line 923 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1659 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 538: /* DirAttr */
+/* Line 453 of lalr1.cc  */
+#line 923 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1666 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 540: /* DirAttributeValue */
+/* Line 453 of lalr1.cc  */
+#line 923 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1673 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 541: /* opt_QuoteAttrContentList */
+/* Line 453 of lalr1.cc  */
+#line 928 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1680 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 542: /* QuoteAttrContentList */
+/* Line 453 of lalr1.cc  */
+#line 928 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1687 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 543: /* opt_AposAttrContentList */
+/* Line 453 of lalr1.cc  */
+#line 921 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1694 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 544: /* AposAttrContentList */
+/* Line 453 of lalr1.cc  */
+#line 921 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1701 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 545: /* QuoteAttrValueContent */
+/* Line 453 of lalr1.cc  */
+#line 928 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1708 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 546: /* AposAttrValueContent */
+/* Line 453 of lalr1.cc  */
+#line 921 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1715 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 547: /* DirElemContent */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1722 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 548: /* CommonContent */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1729 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 549: /* DirCommentConstructor */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1736 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 550: /* DirPIConstructor */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1743 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 551: /* CDataSection */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1750 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 552: /* ComputedConstructor */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1757 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 553: /* CompDocConstructor */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1764 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 554: /* CompElemConstructor */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1771 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 555: /* CompAttrConstructor */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1778 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 556: /* CompTextConstructor */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1785 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 557: /* CompCommentConstructor */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1792 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 558: /* CompPIConstructor */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1799 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 559: /* CompNamespaceConstructor */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1806 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 560: /* TypeDeclaration */
+/* Line 453 of lalr1.cc  */
+#line 929 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1813 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 561: /* SequenceType */
+/* Line 453 of lalr1.cc  */
+#line 929 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1820 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 562: /* OccurrenceIndicator */
+/* Line 453 of lalr1.cc  */
+#line 925 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1827 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 563: /* ItemType */
+/* Line 453 of lalr1.cc  */
+#line 925 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1834 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 564: /* TypeList */
+/* Line 453 of lalr1.cc  */
+#line 932 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1841 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 565: /* GeneralizedAtomicType */
+/* Line 453 of lalr1.cc  */
+#line 922 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1848 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 566: /* SimpleType */
+/* Line 453 of lalr1.cc  */
+#line 922 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1855 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 567: /* KindTest */
+/* Line 453 of lalr1.cc  */
+#line 925 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1862 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 568: /* AnyKindTest */
+/* Line 453 of lalr1.cc  */
+#line 921 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1869 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 570: /* DocumentTest */
+/* Line 453 of lalr1.cc  */
+#line 923 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1876 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 571: /* NamespaceTest */
+/* Line 453 of lalr1.cc  */
+#line 929 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1883 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 572: /* TextTest */
+/* Line 453 of lalr1.cc  */
+#line 929 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1890 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 573: /* CommentTest */
+/* Line 453 of lalr1.cc  */
+#line 922 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1897 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 574: /* PITest */
+/* Line 453 of lalr1.cc  */
+#line 927 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1904 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 575: /* AttributeTest */
+/* Line 453 of lalr1.cc  */
+#line 922 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1911 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 576: /* SchemaAttributeTest */
+/* Line 453 of lalr1.cc  */
+#line 928 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1918 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 577: /* ElementTest */
+/* Line 453 of lalr1.cc  */
+#line 923 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1925 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 578: /* SchemaElementTest */
+/* Line 453 of lalr1.cc  */
+#line 928 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1932 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 579: /* TypeName */
+/* Line 453 of lalr1.cc  */
+#line 929 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 580: /* TypeName_WITH_HOOK */
+/* Line 453 of lalr1.cc  */
+#line 929 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1946 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 581: /* StringLiteral */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1953 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 583: /* AnyFunctionTest */
+/* Line 453 of lalr1.cc  */
+#line 932 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1960 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 584: /* TypedFunctionTest */
+/* Line 453 of lalr1.cc  */
+#line 932 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 1967 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 587: /* InsertExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1974 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 588: /* DeleteExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1981 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 589: /* ReplaceExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1988 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 590: /* RenameExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 1995 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 591: /* TransformExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 2002 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 592: /* VarNameList */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 2009 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 593: /* VarNameDecl */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 2016 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 594: /* TryExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 2023 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 595: /* CatchListExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 2030 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 596: /* CatchExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 2037 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 597: /* BracedExpr */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 2044 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 598: /* NameTestList */
+/* Line 453 of lalr1.cc  */
+#line 952 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ delete ((*yyvaluep).name_test_list); };
+/* Line 453 of lalr1.cc  */
+#line 2051 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 599: /* FTSelection */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 2058 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 602: /* FTOr */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 2065 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 603: /* FTAnd */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 2072 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 604: /* FTMildNot */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 2079 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 605: /* FTUnaryNot */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 2086 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 606: /* FTPrimaryWithOptions */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 2093 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 607: /* opt_FTMatchOptions */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 2100 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 609: /* FTWeight */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 2107 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 610: /* FTPrimary */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 2114 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 611: /* opt_FTTimes */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 2121 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 612: /* FTExtensionSelection */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 2128 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 614: /* FTWords */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 2135 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 615: /* FTWordsValue */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 2142 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 617: /* FTAnyallOption */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 2149 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 620: /* FTPosFilter */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 2156 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 621: /* FTOrder */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 2163 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 622: /* FTWindow */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 2170 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 623: /* FTDistance */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 2177 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 624: /* FTUnit */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 2184 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 625: /* FTMatchOptions */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 2191 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 626: /* FTMatchOption */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 2198 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 627: /* FTCaseOption */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 2205 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 628: /* FTDiacriticsOption */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 2212 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 629: /* FTExtensionOption */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 2219 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 630: /* FTStemOption */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 2226 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 631: /* FTThesaurusOption */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 2233 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 635: /* FTThesaurusID */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 2240 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 638: /* FTStopWordOption */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 2247 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 639: /* FTStopWords */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 2254 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 643: /* FTStopWordsInclExcl */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 2261 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 644: /* FTLanguageOption */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 2268 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 645: /* FTWildCardOption */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 2275 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 646: /* FTContent */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 2282 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 647: /* FTTimes */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 2289 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 648: /* FTRange */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 2296 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 649: /* FTScope */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 2303 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 650: /* FTBigUnit */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 2310 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 651: /* FTIgnoreOption */
+/* Line 453 of lalr1.cc  */
+#line 940 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 2317 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 652: /* JSONArrayConstructor */
+/* Line 453 of lalr1.cc  */
+#line 943 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 2324 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 653: /* JSONSimpleObjectUnion */
+/* Line 453 of lalr1.cc  */
+#line 943 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 2331 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 654: /* JSONAccumulatorObjectUnion */
+/* Line 453 of lalr1.cc  */
+#line 943 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 2338 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 655: /* JSONObjectConstructor */
+/* Line 453 of lalr1.cc  */
+#line 943 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 2345 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 656: /* JSONPairList */
+/* Line 453 of lalr1.cc  */
+#line 943 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).node) ); };
+/* Line 453 of lalr1.cc  */
+#line 2352 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 657: /* JSONInsertExpr */
+/* Line 453 of lalr1.cc  */
+#line 943 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 2359 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 658: /* JSONAppendExpr */
+/* Line 453 of lalr1.cc  */
+#line 943 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 2366 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 659: /* JSONDeleteExpr */
+/* Line 453 of lalr1.cc  */
+#line 943 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 2373 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 660: /* JSONRenameExpr */
+/* Line 453 of lalr1.cc  */
+#line 943 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 2380 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 661: /* JSONReplaceExpr */
+/* Line 453 of lalr1.cc  */
+#line 943 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 2387 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 664: /* QNAME */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 2394 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 665: /* FUNCTION_NAME */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 2401 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 666: /* EQNAME */
+/* Line 453 of lalr1.cc  */
+#line 949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( ((*yyvaluep).expr) ); };
+/* Line 453 of lalr1.cc  */
+#line 2408 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp"
 	break;
 
 	default:
@@ -3047,16 +2492,14 @@
     YYCDEBUG << "Starting parse" << std::endl;
 
 
-    /* User initialization code.  */
-    
-/* Line 565 of lalr1.cc  */
-#line 129 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* User initialization code.  */
+/* Line 538 of lalr1.cc  */
+#line 141 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
 {
     yylloc.begin.filename = yylloc.end.filename = &(driver.theFilename2);
 }
-
-/* Line 565 of lalr1.cc  */
-#line 3060 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp"
+/* Line 538 of lalr1.cc  */
+#line 2503 "/Users/zorba/Code/zorba/release/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
@@ -3173,63 +2616,56 @@
     switch (yyn)
       {
 	  case 3:
-
-/* Line 690 of lalr1.cc  */
-#line 938 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1150 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
         (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
       }
     break;
 
   case 4:
-
-/* Line 690 of lalr1.cc  */
-#line 942 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1154 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
         (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
       }
     break;
 
   case 5:
-
-/* Line 690 of lalr1.cc  */
-#line 946 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1158 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
         (yyval.node) = (yysemantic_stack_[(3) - (3)].node);
       }
     break;
 
   case 6:
-
-/* Line 690 of lalr1.cc  */
-#line 952 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1166 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
         (yyval.node) = NULL;
       }
     break;
 
   case 7:
-
-/* Line 690 of lalr1.cc  */
-#line 956 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1172 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
         (yyval.node) = NULL; YYABORT;
       }
     break;
 
   case 8:
-
-/* Line 690 of lalr1.cc  */
-#line 960 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1176 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
         (yyval.node) = NULL; YYABORT;
       }
     break;
 
   case 9:
-
-/* Line 690 of lalr1.cc  */
-#line 966 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1185 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
       driver.set_expr( (yyval.node) );
@@ -3237,9 +2673,8 @@
     break;
 
   case 10:
-
-/* Line 690 of lalr1.cc  */
-#line 972 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1191 "/Users/zorba/Code/zorba/release/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)) );
@@ -3249,9 +2684,8 @@
     break;
 
   case 11:
-
-/* Line 690 of lalr1.cc  */
-#line 980 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1199 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
       driver.set_expr( (yyval.node) );
@@ -3259,9 +2693,8 @@
     break;
 
   case 12:
-
-/* Line 690 of lalr1.cc  */
-#line 986 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1205 "/Users/zorba/Code/zorba/release/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)) );
@@ -3271,68 +2704,64 @@
     break;
 
   case 13:
-
-/* Line 690 of lalr1.cc  */
-#line 995 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1216 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VersionDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (3)].sval)), "utf-8", VersionDecl::jsoniq );
     }
     break;
 
   case 14:
-
-/* Line 690 of lalr1.cc  */
-#line 1000 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1221 "/Users/zorba/Code/zorba/release/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 );
     }
     break;
 
   case 15:
-
-/* Line 690 of lalr1.cc  */
-#line 1006 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1230 "/Users/zorba/Code/zorba/release/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;
 
   case 16:
-
-/* Line 690 of lalr1.cc  */
-#line 1012 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1237 "/Users/zorba/Code/zorba/release/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;
 
   case 17:
-
-/* Line 690 of lalr1.cc  */
-#line 1018 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1244 "/Users/zorba/Code/zorba/release/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;
 
   case 18:
-
-/* Line 690 of lalr1.cc  */
-#line 1026 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1253 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new MainModule( LOC((yyloc)), static_cast<QueryBody*>((yysemantic_stack_[(1) - (1)].expr)), NULL );
     }
     break;
 
   case 19:
-
-/* Line 690 of lalr1.cc  */
-#line 1031 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1260 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node); (yyval.node) = (yysemantic_stack_[(3) - (3)].expr);
       (yylocation_stack_[(3) - (1)]).step();
@@ -3342,9 +2771,8 @@
     break;
 
   case 20:
-
-/* Line 690 of lalr1.cc  */
-#line 1039 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1268 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node); (yyval.node) = (yysemantic_stack_[(3) - (3)].expr);
       (yylocation_stack_[(3) - (1)]).step();
@@ -3354,9 +2782,8 @@
     break;
 
   case 21:
-
-/* Line 690 of lalr1.cc  */
-#line 1047 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1276 "/Users/zorba/Code/zorba/release/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);
       (yylocation_stack_[(5) - (3)]).step();
@@ -3366,9 +2793,8 @@
     break;
 
   case 22:
-
-/* Line 690 of lalr1.cc  */
-#line 1055 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1284 "/Users/zorba/Code/zorba/release/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);
       (yylocation_stack_[(5) - (1)]).step();
@@ -3378,50 +2804,48 @@
     break;
 
   case 23:
-
-/* Line 690 of lalr1.cc  */
-#line 1064 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1295 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new LibraryModule(LOC((yyloc)), static_cast<ModuleDecl*>((yysemantic_stack_[(1) - (1)].node)), NULL);
     }
     break;
 
   case 24:
-
-/* Line 690 of lalr1.cc  */
-#line 1069 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1300 "/Users/zorba/Code/zorba/release/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;
 
   case 25:
-
-/* Line 690 of lalr1.cc  */
-#line 1075 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1307 "/Users/zorba/Code/zorba/release/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;
 
   case 26:
-
-/* Line 690 of lalr1.cc  */
-#line 1081 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1314 "/Users/zorba/Code/zorba/release/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;
 
   case 27:
-
-/* Line 690 of lalr1.cc  */
-#line 1090 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1326 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       ERROR_IF_QNAME_NOT_NCNAME((yysemantic_stack_[(6) - (3)].expr), (yylocation_stack_[(6) - (3)]));
       (yyval.node) = new ModuleDecl( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(6) - (3)].expr)), SYMTAB((yysemantic_stack_[(6) - (5)].sval)) );
@@ -3430,9 +2854,8 @@
     break;
 
   case 28:
-
-/* Line 690 of lalr1.cc  */
-#line 1098 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1336 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       SIND_DeclList *sdl = new SIND_DeclList( LOC((yyloc)) );
       sdl->push_back( (yysemantic_stack_[(1) - (1)].node) );
@@ -3441,9 +2864,8 @@
     break;
 
   case 29:
-
-/* Line 690 of lalr1.cc  */
-#line 1105 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1343 "/Users/zorba/Code/zorba/release/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);
@@ -3451,10 +2873,10 @@
     break;
 
   case 30:
-
-/* Line 690 of lalr1.cc  */
-#line 1111 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1350 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
+
       (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");
@@ -3463,135 +2885,120 @@
     break;
 
   case 44:
-
-/* Line 690 of lalr1.cc  */
-#line 1137 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1385 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new BoundarySpaceDecl(LOC((yyloc)), StaticContextConsts::preserve_space);
     }
     break;
 
   case 45:
-
-/* Line 690 of lalr1.cc  */
-#line 1142 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1390 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new BoundarySpaceDecl(LOC((yyloc)), StaticContextConsts::strip_space);
     }
     break;
 
   case 46:
-
-/* Line 690 of lalr1.cc  */
-#line 1148 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1398 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new DefaultCollationDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (4)].sval)) );
     }
     break;
 
   case 47:
-
-/* Line 690 of lalr1.cc  */
-#line 1154 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1406 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new BaseURIDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (3)].sval)) );
     }
     break;
 
   case 48:
-
-/* Line 690 of lalr1.cc  */
-#line 1160 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1414 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new ConstructionDecl(LOC((yyloc)), StaticContextConsts::cons_preserve);
     }
     break;
 
   case 49:
-
-/* Line 690 of lalr1.cc  */
-#line 1165 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1419 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new ConstructionDecl(LOC((yyloc)), StaticContextConsts::cons_strip);
     }
     break;
 
   case 50:
-
-/* Line 690 of lalr1.cc  */
-#line 1171 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1427 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new OrderingModeDecl(LOC((yyloc)), StaticContextConsts::ordered);
     }
     break;
 
   case 51:
-
-/* Line 690 of lalr1.cc  */
-#line 1176 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1432 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new OrderingModeDecl(LOC((yyloc)), StaticContextConsts::unordered);
     }
     break;
 
   case 52:
-
-/* Line 690 of lalr1.cc  */
-#line 1182 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1440 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new EmptyOrderDecl(LOC((yyloc)), StaticContextConsts::empty_greatest);
     }
     break;
 
   case 53:
-
-/* Line 690 of lalr1.cc  */
-#line 1187 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1445 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new EmptyOrderDecl(LOC((yyloc)), StaticContextConsts::empty_least);
     }
     break;
 
   case 54:
-
-/* Line 690 of lalr1.cc  */
-#line 1193 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1453 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CopyNamespacesDecl(LOC((yyloc)), true, true);
     }
     break;
 
   case 55:
-
-/* Line 690 of lalr1.cc  */
-#line 1198 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1458 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CopyNamespacesDecl(LOC((yyloc)), true, false);
     }
     break;
 
   case 56:
-
-/* Line 690 of lalr1.cc  */
-#line 1203 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1463 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CopyNamespacesDecl(LOC((yyloc)), false, true);
     }
     break;
 
   case 57:
-
-/* Line 690 of lalr1.cc  */
-#line 1208 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1468 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CopyNamespacesDecl(LOC((yyloc)), false, false);
     }
     break;
 
   case 60:
-
-/* Line 690 of lalr1.cc  */
-#line 1218 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1481 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yyval.node);
       error((yylocation_stack_[(3) - (2)]), "syntax error, \"import\" should be followed by either \"schema\" or \"module\"");
@@ -3600,18 +3007,16 @@
     break;
 
   case 61:
-
-/* Line 690 of lalr1.cc  */
-#line 1226 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1491 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new SchemaImport( LOC((yyloc)), NULL, SYMTAB((yysemantic_stack_[(3) - (3)].sval)), NULL );
     }
     break;
 
   case 62:
-
-/* Line 690 of lalr1.cc  */
-#line 1231 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1496 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new SchemaImport(LOC((yyloc)),
                             dynamic_cast<SchemaPrefix*>((yysemantic_stack_[(4) - (3)].node)),
@@ -3621,9 +3026,8 @@
     break;
 
   case 63:
-
-/* Line 690 of lalr1.cc  */
-#line 1239 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1504 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new SchemaImport(LOC((yyloc)),
                             NULL,
@@ -3633,9 +3037,8 @@
     break;
 
   case 64:
-
-/* Line 690 of lalr1.cc  */
-#line 1247 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1512 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new SchemaImport(LOC((yyloc)),
                             dynamic_cast<SchemaPrefix*>((yysemantic_stack_[(6) - (3)].node)),
@@ -3645,9 +3048,8 @@
     break;
 
   case 65:
-
-/* Line 690 of lalr1.cc  */
-#line 1256 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1523 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       URILiteralList *ull = new URILiteralList( LOC((yyloc)));
       ull->push_back( SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
@@ -3656,20 +3058,19 @@
     break;
 
   case 66:
-
-/* Line 690 of lalr1.cc  */
-#line 1263 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1530 "/Users/zorba/Code/zorba/release/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;
 
   case 67:
-
-/* Line 690 of lalr1.cc  */
-#line 1271 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1541 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       ERROR_IF_QNAME_NOT_NCNAME((yysemantic_stack_[(3) - (2)].expr), (yylocation_stack_[(3) - (2)]));
       (yyval.node) = new SchemaPrefix( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)));
@@ -3677,28 +3078,26 @@
     break;
 
   case 68:
-
-/* Line 690 of lalr1.cc  */
-#line 1277 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1547 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new SchemaPrefix( LOC((yyloc)), true );
     }
     break;
 
   case 69:
-
-/* Line 690 of lalr1.cc  */
-#line 1283 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1555 "/Users/zorba/Code/zorba/release/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;
 
   case 70:
-
-/* Line 690 of lalr1.cc  */
-#line 1289 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1562 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       ERROR_IF_QNAME_NOT_NCNAME((yysemantic_stack_[(6) - (4)].expr), (yylocation_stack_[(6) - (4)]));
       (yyval.node) = new ModuleImport(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(6) - (4)].expr)), SYMTAB((yysemantic_stack_[(6) - (6)].sval)), NULL);
@@ -3707,35 +3106,34 @@
     break;
 
   case 71:
-
-/* Line 690 of lalr1.cc  */
-#line 1296 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1569 "/Users/zorba/Code/zorba/release/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;
 
   case 72:
-
-/* Line 690 of lalr1.cc  */
-#line 1304 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1578 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       ERROR_IF_QNAME_NOT_NCNAME((yysemantic_stack_[(8) - (4)].expr), (yylocation_stack_[(8) - (4)]));
       (yyval.node) = new ModuleImport(LOC((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(8) - (4)].expr)),
                             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;
 
   case 73:
-
-/* Line 690 of lalr1.cc  */
-#line 1315 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1592 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       ERROR_IF_QNAME_NOT_NCNAME((yysemantic_stack_[(5) - (3)].expr), (yylocation_stack_[(5) - (3)]));
       (yyval.node) = new NamespaceDecl( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(5) - (3)].expr)), SYMTAB((yysemantic_stack_[(5) - (5)].sval)) );
@@ -3743,9 +3141,8 @@
     break;
 
   case 74:
-
-/* Line 690 of lalr1.cc  */
-#line 1322 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1601 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new DefaultNamespaceDecl(LOC((yyloc)),
                                     ParseConstants::ns_element_default,
@@ -3754,9 +3151,8 @@
     break;
 
   case 75:
-
-/* Line 690 of lalr1.cc  */
-#line 1329 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1608 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new DefaultNamespaceDecl(LOC((yyloc)),
                                     ParseConstants::ns_function_default,
@@ -3765,9 +3161,8 @@
     break;
 
   case 76:
-
-/* Line 690 of lalr1.cc  */
-#line 1337 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1618 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       VFO_DeclList *vdl = new VFO_DeclList( LOC((yyloc)));
       vdl->push_back( (yysemantic_stack_[(1) - (1)].node) );
@@ -3776,9 +3171,8 @@
     break;
 
   case 77:
-
-/* Line 690 of lalr1.cc  */
-#line 1344 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1625 "/Users/zorba/Code/zorba/release/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);
@@ -3786,9 +3180,8 @@
     break;
 
   case 78:
-
-/* Line 690 of lalr1.cc  */
-#line 1350 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1632 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node); (yyval.node) = (yysemantic_stack_[(3) - (3)].node);
       (yylocation_stack_[(3) - (1)]).step();
@@ -3798,9 +3191,8 @@
     break;
 
   case 87:
-
-/* Line 690 of lalr1.cc  */
-#line 1369 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1655 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new DecimalFormatNode(LOC((yyloc)), (yysemantic_stack_[(4) - (4)].vstrpair));
       delete (yysemantic_stack_[(4) - (4)].vstrpair);
@@ -3808,9 +3200,8 @@
     break;
 
   case 88:
-
-/* Line 690 of lalr1.cc  */
-#line 1375 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1661 "/Users/zorba/Code/zorba/release/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);
@@ -3818,9 +3209,8 @@
     break;
 
   case 89:
-
-/* Line 690 of lalr1.cc  */
-#line 1382 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1670 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.vstrpair) = new vector<string_pair_t>();
       (yyval.vstrpair)->push_back( *(yysemantic_stack_[(1) - (1)].strpair) );
@@ -3829,9 +3219,8 @@
     break;
 
   case 90:
-
-/* Line 690 of lalr1.cc  */
-#line 1389 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1677 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yysemantic_stack_[(2) - (1)].vstrpair)->push_back( *(yysemantic_stack_[(2) - (2)].strpair) );
       delete (yysemantic_stack_[(2) - (2)].strpair);
@@ -3840,9 +3229,8 @@
     break;
 
   case 91:
-
-/* Line 690 of lalr1.cc  */
-#line 1397 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1687 "/Users/zorba/Code/zorba/release/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() );
@@ -3851,81 +3239,73 @@
     break;
 
   case 92:
-
-/* Line 690 of lalr1.cc  */
-#line 1404 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1696 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.strval) = "decimal-separator"; }
     break;
 
   case 93:
-
-/* Line 690 of lalr1.cc  */
-#line 1405 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1697 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.strval) = "digit"; }
     break;
 
   case 94:
-
-/* Line 690 of lalr1.cc  */
-#line 1406 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1698 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.strval) = "grouping-separator"; }
     break;
 
   case 95:
-
-/* Line 690 of lalr1.cc  */
-#line 1407 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1699 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.strval) = "infinity"; }
     break;
 
   case 96:
-
-/* Line 690 of lalr1.cc  */
-#line 1408 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1700 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.strval) = "minus-sign"; }
     break;
 
   case 97:
-
-/* Line 690 of lalr1.cc  */
-#line 1409 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1701 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.strval) = "NaN"; }
     break;
 
   case 98:
-
-/* Line 690 of lalr1.cc  */
-#line 1410 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1702 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.strval) = "pattern-separator"; }
     break;
 
   case 99:
-
-/* Line 690 of lalr1.cc  */
-#line 1411 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1703 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.strval) = "percent"; }
     break;
 
   case 100:
-
-/* Line 690 of lalr1.cc  */
-#line 1412 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1704 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.strval) = "per-mille"; }
     break;
 
   case 101:
-
-/* Line 690 of lalr1.cc  */
-#line 1413 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1705 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.strval) = "zero-digit"; }
     break;
 
   case 102:
-
-/* Line 690 of lalr1.cc  */
-#line 1417 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1711 "/Users/zorba/Code/zorba/release/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)));
+
+
+
       if (static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr))->get_localname() == "enable")
       {
         zstring opt = SYMTAB((yysemantic_stack_[(4) - (4)].sval));
@@ -3938,27 +3318,24 @@
     break;
 
   case 103:
-
-/* Line 690 of lalr1.cc  */
-#line 1431 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1730 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new FTOptionDecl( LOC((yyloc)), dynamic_cast<FTMatchOptions*>((yysemantic_stack_[(3) - (3)].node)) );
     }
     break;
 
   case 104:
-
-/* Line 690 of lalr1.cc  */
-#line 1437 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1738 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(4) - (4)].node);
     }
     break;
 
   case 105:
-
-/* Line 690 of lalr1.cc  */
-#line 1443 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1746 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       CtxItemDecl* d = dynamic_cast<CtxItemDecl*>((yysemantic_stack_[(3) - (3)].node));
       d->theType = (yysemantic_stack_[(3) - (2)].node);
@@ -3967,18 +3344,16 @@
     break;
 
   case 106:
-
-/* Line 690 of lalr1.cc  */
-#line 1450 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1753 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
     break;
 
   case 107:
-
-/* Line 690 of lalr1.cc  */
-#line 1456 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1761 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       CtxItemDecl* d = dynamic_cast<CtxItemDecl*>((yysemantic_stack_[(1) - (1)].node));
       d->theIsExternal = false;
@@ -3987,93 +3362,91 @@
     break;
 
   case 108:
-
-/* Line 690 of lalr1.cc  */
-#line 1463 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1768 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CtxItemDecl(LOC((yyloc)), NULL);
     }
     break;
 
   case 109:
-
-/* Line 690 of lalr1.cc  */
-#line 1468 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1773 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
     }
     break;
 
   case 110:
-
-/* Line 690 of lalr1.cc  */
-#line 1474 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1781 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CtxItemDecl(LOC((yyloc)), (yysemantic_stack_[(2) - (2)].expr));
     }
     break;
 
   case 111:
-
-/* Line 690 of lalr1.cc  */
-#line 1480 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1789 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       std::unique_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);
+
       static_cast<GlobalVarDecl*>((yyval.node))->setComment(SYMTAB((yysemantic_stack_[(4) - (1)].sval)));
     }
     break;
 
   case 112:
-
-/* Line 690 of lalr1.cc  */
-#line 1492 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1803 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       std::unique_ptr<VarNameAndType> nt(dynamic_cast<VarNameAndType *>((yysemantic_stack_[(3) - (2)].varnametype)));
+
       (yyval.node) = new GlobalVarDecl(LOC((yyloc)),
                              nt->theName,
                              nt->theType,
                              NULL,
                              nt->get_annotations(),
                              true);
+
       static_cast<GlobalVarDecl*>((yyval.node))->setComment(SYMTAB((yysemantic_stack_[(3) - (1)].sval)));
     }
     break;
 
   case 113:
-
-/* Line 690 of lalr1.cc  */
-#line 1504 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1817 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       std::unique_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),
                              nt->get_annotations(),
                              true);
+
       static_cast<GlobalVarDecl*>((yyval.node))->setComment(SYMTAB((yysemantic_stack_[(5) - (1)].sval)));
     }
     break;
 
   case 114:
-
-/* Line 690 of lalr1.cc  */
-#line 1517 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1834 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.varnametype) = new VarNameAndType(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)), NULL, NULL);
     }
     break;
 
   case 115:
-
-/* Line 690 of lalr1.cc  */
-#line 1522 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1839 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.varnametype) = new VarNameAndType(LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)),
@@ -4083,9 +3456,8 @@
     break;
 
   case 116:
-
-/* Line 690 of lalr1.cc  */
-#line 1530 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1847 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.varnametype) = new VarNameAndType(LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(4) - (4)].expr)),
@@ -4095,9 +3467,8 @@
     break;
 
   case 117:
-
-/* Line 690 of lalr1.cc  */
-#line 1538 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1855 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.varnametype) = new VarNameAndType(LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(5) - (4)].expr)),
@@ -4107,18 +3478,16 @@
     break;
 
   case 118:
-
-/* Line 690 of lalr1.cc  */
-#line 1547 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1866 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AnnotationListParsenode(LOC((yyloc)), static_cast<AnnotationParsenode*>((yysemantic_stack_[(1) - (1)].node)));
     }
     break;
 
   case 119:
-
-/* Line 690 of lalr1.cc  */
-#line 1552 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1871 "/Users/zorba/Code/zorba/release/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);
@@ -4126,18 +3495,16 @@
     break;
 
   case 120:
-
-/* Line 690 of lalr1.cc  */
-#line 1559 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1880 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AnnotationParsenode(LOC((yyloc)), new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval))), NULL);
     }
     break;
 
   case 121:
-
-/* Line 690 of lalr1.cc  */
-#line 1564 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1885 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AnnotationParsenode(LOC((yyloc)),
                                    new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (1)].sval))),
@@ -4146,18 +3513,16 @@
     break;
 
   case 122:
-
-/* Line 690 of lalr1.cc  */
-#line 1571 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1892 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AnnotationParsenode(LOC((yyloc)), new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)), true), NULL);
     }
     break;
 
   case 123:
-
-/* Line 690 of lalr1.cc  */
-#line 1576 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1897 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AnnotationParsenode(LOC((yyloc)),
                                    new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (1)].sval)), true),
@@ -4166,18 +3531,16 @@
     break;
 
   case 124:
-
-/* Line 690 of lalr1.cc  */
-#line 1584 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1907 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AnnotationLiteralListParsenode(LOC((yyloc)), (yysemantic_stack_[(1) - (1)].expr));
     }
     break;
 
   case 125:
-
-/* Line 690 of lalr1.cc  */
-#line 1589 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1912 "/Users/zorba/Code/zorba/release/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);
@@ -4185,9 +3548,8 @@
     break;
 
   case 126:
-
-/* Line 690 of lalr1.cc  */
-#line 1596 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1921 "/Users/zorba/Code/zorba/release/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);
@@ -4195,25 +3557,26 @@
     break;
 
   case 127:
-
-/* Line 690 of lalr1.cc  */
-#line 1602 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1927 "/Users/zorba/Code/zorba/release/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);
     }
     break;
 
   case 130:
-
-/* Line 690 of lalr1.cc  */
-#line 1615 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1946 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       exprnode* body = (yysemantic_stack_[(4) - (4)].expr);
       if (body == NULL)
         body = new BlockBody(LOC((yylocation_stack_[(4) - (4)])));
+
       (yyval.node) = new FunctionDecl(LOC((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
                             &* (yysemantic_stack_[(4) - (3)].fnsig)->theParams,
@@ -4226,9 +3589,8 @@
     break;
 
   case 131:
-
-/* Line 690 of lalr1.cc  */
-#line 1629 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1961 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new FunctionDecl(LOC ((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -4242,13 +3604,13 @@
     break;
 
   case 132:
-
-/* Line 690 of lalr1.cc  */
-#line 1642 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1976 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       exprnode* body = (yysemantic_stack_[(5) - (5)].expr);
       if (body == NULL)
         body = new BlockBody(LOC((yylocation_stack_[(5) - (5)])));
+
       (yyval.node) = new FunctionDecl(LOC ((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(5) - (3)].expr)),
                             (yysemantic_stack_[(5) - (4)].fnsig)->theParams.getp(),
@@ -4261,9 +3623,8 @@
     break;
 
   case 133:
-
-/* Line 690 of lalr1.cc  */
-#line 1657 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 1992 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new FunctionDecl(LOC((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(5) - (3)].expr)),
@@ -4277,45 +3638,40 @@
     break;
 
   case 134:
-
-/* Line 690 of lalr1.cc  */
-#line 1670 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2007 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.fnsig) = new FunctionSig(NULL);
     }
     break;
 
   case 135:
-
-/* Line 690 of lalr1.cc  */
-#line 1675 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2012 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.fnsig) = new FunctionSig(dynamic_cast<ParamList*>((yysemantic_stack_[(3) - (2)].node)));
     }
     break;
 
   case 136:
-
-/* Line 690 of lalr1.cc  */
-#line 1680 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2017 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.fnsig) = new FunctionSig(NULL, dynamic_cast<SequenceTypeAST*>((yysemantic_stack_[(4) - (4)].node)));
     }
     break;
 
   case 137:
-
-/* Line 690 of lalr1.cc  */
-#line 1685 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2022 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.fnsig) = new FunctionSig(dynamic_cast<ParamList*>((yysemantic_stack_[(5) - (2)].node)), dynamic_cast<SequenceTypeAST*>((yysemantic_stack_[(5) - (5)].node)));
     }
     break;
 
   case 138:
-
-/* Line 690 of lalr1.cc  */
-#line 1691 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2030 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       ParamList *pl = new ParamList( LOC((yyloc)) );
       pl->push_back( dynamic_cast<Param*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -4324,29 +3680,27 @@
     break;
 
   case 139:
-
-/* Line 690 of lalr1.cc  */
-#line 1698 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2037 "/Users/zorba/Code/zorba/release/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;
 
   case 140:
-
-/* Line 690 of lalr1.cc  */
-#line 1706 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2048 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new Param(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)), NULL);
     }
     break;
 
   case 141:
-
-/* Line 690 of lalr1.cc  */
-#line 1711 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2053 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new Param(LOC((yyloc)),
                      static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)),
@@ -4355,70 +3709,68 @@
     break;
 
   case 142:
-
-/* Line 690 of lalr1.cc  */
-#line 1719 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2063 "/Users/zorba/Code/zorba/release/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;
 
   case 143:
-
-/* Line 690 of lalr1.cc  */
-#line 1727 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2072 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CollectionDecl( LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(5) - (3)].expr)),
                               0,
                               static_cast<SequenceTypeAST*>((yysemantic_stack_[(5) - (5)].node)));
+
       static_cast<CollectionDecl*>((yyval.node))->setComment(SYMTAB((yysemantic_stack_[(5) - (1)].sval)));
     }
     break;
 
   case 144:
-
-/* Line 690 of lalr1.cc  */
-#line 1735 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2081 "/Users/zorba/Code/zorba/release/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;
 
   case 145:
-
-/* Line 690 of lalr1.cc  */
-#line 1743 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2090 "/Users/zorba/Code/zorba/release/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<SequenceTypeAST*>((yysemantic_stack_[(6) - (6)].node)));
+
       static_cast<CollectionDecl*>((yyval.node))->setComment(SYMTAB((yysemantic_stack_[(6) - (1)].sval)));
     }
     break;
 
   case 146:
-
-/* Line 690 of lalr1.cc  */
-#line 1753 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2102 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = static_cast<parsenode*>(new SequenceTypeAST(LOC((yyloc)), (yysemantic_stack_[(1) - (1)].node), NULL));
     }
     break;
 
   case 147:
-
-/* Line 690 of lalr1.cc  */
-#line 1757 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2106 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = static_cast<parsenode*>(new SequenceTypeAST(LOC((yyloc)),
                                                     (yysemantic_stack_[(2) - (1)].node),
@@ -4427,57 +3779,55 @@
     break;
 
   case 148:
-
-/* Line 690 of lalr1.cc  */
-#line 1763 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2112 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = static_cast<parsenode*>(new SequenceTypeAST(LOC((yyloc)), (yysemantic_stack_[(1) - (1)].node), NULL));
     }
     break;
 
   case 149:
-
-/* Line 690 of lalr1.cc  */
-#line 1767 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2116 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = static_cast<parsenode*>(new SequenceTypeAST(LOC((yyloc)),
                                                     (yysemantic_stack_[(2) - (1)].node),
                                                     dynamic_cast<OccurrenceIndicator*>((yysemantic_stack_[(2) - (2)].node))));
+
     }
     break;
 
   case 150:
-
-/* Line 690 of lalr1.cc  */
-#line 1774 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2126 "/Users/zorba/Code/zorba/release/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;
 
   case 151:
-
-/* Line 690 of lalr1.cc  */
-#line 1783 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2136 "/Users/zorba/Code/zorba/release/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;
 
   case 152:
-
-/* Line 690 of lalr1.cc  */
-#line 1794 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2149 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       IndexKeyList* keyList = new IndexKeyList(LOC((yyloc)));
       keyList->addKeySpec(dynamic_cast<IndexKeySpec*>((yysemantic_stack_[(1) - (1)].node)));
@@ -4486,9 +3836,8 @@
     break;
 
   case 153:
-
-/* Line 690 of lalr1.cc  */
-#line 1800 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2155 "/Users/zorba/Code/zorba/release/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);
@@ -4496,18 +3845,16 @@
     break;
 
   case 154:
-
-/* Line 690 of lalr1.cc  */
-#line 1807 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2164 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new IndexKeySpec(LOC((yyloc)), (yysemantic_stack_[(1) - (1)].expr), NULL, NULL);
     }
     break;
 
   case 155:
-
-/* Line 690 of lalr1.cc  */
-#line 1812 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2169 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new IndexKeySpec(LOC((yyloc)),
                             (yysemantic_stack_[(2) - (1)].expr),
@@ -4517,9 +3864,8 @@
     break;
 
   case 156:
-
-/* Line 690 of lalr1.cc  */
-#line 1819 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2176 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new IndexKeySpec(LOC((yyloc)),
                             (yysemantic_stack_[(2) - (1)].expr),
@@ -4529,9 +3875,8 @@
     break;
 
   case 157:
-
-/* Line 690 of lalr1.cc  */
-#line 1826 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2183 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new IndexKeySpec(LOC((yyloc)),
                             (yysemantic_stack_[(3) - (1)].expr),
@@ -4541,9 +3886,8 @@
     break;
 
   case 158:
-
-/* Line 690 of lalr1.cc  */
-#line 1836 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2195 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new ICCollSimpleCheck(LOC((yyloc)),
                                  static_cast<QName*>((yysemantic_stack_[(11) - (4)].expr)),
@@ -4554,9 +3898,8 @@
     break;
 
   case 159:
-
-/* Line 690 of lalr1.cc  */
-#line 1846 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2205 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new ICCollUniqueKeyCheck(LOC((yyloc)),
                                     static_cast<QName*>((yysemantic_stack_[(14) - (4)].expr)),
@@ -4567,9 +3910,8 @@
     break;
 
   case 160:
-
-/* Line 690 of lalr1.cc  */
-#line 1856 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2215 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new ICCollForeachNode(LOC((yyloc)),
                                  static_cast<QName*>((yysemantic_stack_[(13) - (4)].expr)),
@@ -4580,9 +3922,8 @@
     break;
 
   case 161:
-
-/* Line 690 of lalr1.cc  */
-#line 1867 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2226 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new ICForeignKey( LOC((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(22) - (4)].expr)),
@@ -4596,102 +3937,96 @@
     break;
 
   case 162:
-
-/* Line 690 of lalr1.cc  */
-#line 1880 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2242 "/Users/zorba/Code/zorba/release/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;
 
   case 163:
-
-/* Line 690 of lalr1.cc  */
-#line 1896 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2262 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
     break;
 
   case 164:
-
-/* Line 690 of lalr1.cc  */
-#line 1900 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2266 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
     break;
 
   case 165:
-
-/* Line 690 of lalr1.cc  */
-#line 1904 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2270 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = NULL;
     }
     break;
 
   case 166:
-
-/* Line 690 of lalr1.cc  */
-#line 1910 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2278 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
     break;
 
   case 167:
-
-/* Line 690 of lalr1.cc  */
-#line 1914 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2282 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
     break;
 
   case 168:
-
-/* Line 690 of lalr1.cc  */
-#line 1918 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2286 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = NULL;
     }
     break;
 
   case 169:
-
-/* Line 690 of lalr1.cc  */
-#line 1924 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2294 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
     break;
 
   case 170:
-
-/* Line 690 of lalr1.cc  */
-#line 1929 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2299 "/Users/zorba/Code/zorba/release/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;
 
   case 171:
-
-/* Line 690 of lalr1.cc  */
-#line 1937 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2311 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       BlockBody* blk = new BlockBody(LOC((yyloc)));
       blk->add((yysemantic_stack_[(1) - (1)].expr));
@@ -4700,20 +4035,20 @@
     break;
 
   case 172:
-
-/* Line 690 of lalr1.cc  */
-#line 1944 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2318 "/Users/zorba/Code/zorba/release/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;
 
   case 173:
-
-/* Line 690 of lalr1.cc  */
-#line 1951 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2328 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(4) - (1)].expr);
       (yyval.expr) = (yysemantic_stack_[(4) - (2)].expr);
@@ -4727,26 +4062,28 @@
     break;
 
   case 187:
-
-/* Line 690 of lalr1.cc  */
-#line 1979 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2361 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
     }
     break;
 
   case 188:
-
-/* Line 690 of lalr1.cc  */
-#line 1985 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2369 "/Users/zorba/Code/zorba/release/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()))
       {
+
         driver.addCommonLanguageWarning((yylocation_stack_[(3) - (1)]), ZED(ZWST0009_EMPTY_OBJECT));
         (yyval.expr) = new JSONDirectObjectConstructor(LOC((yyloc)));
       }
       else
+
       if ((yysemantic_stack_[(3) - (2)].expr) == NULL)
       {
         (yyval.expr) = new BlockBody(LOC((yyloc)));
@@ -4765,27 +4102,24 @@
     break;
 
   case 189:
-
-/* Line 690 of lalr1.cc  */
-#line 2011 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2401 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
     }
     break;
 
   case 190:
-
-/* Line 690 of lalr1.cc  */
-#line 2017 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2409 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(2) - (1)].expr);
     }
     break;
 
   case 191:
-
-/* Line 690 of lalr1.cc  */
-#line 2023 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2417 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       VarDeclStmt* vdecl = static_cast<VarDeclStmt*>((yysemantic_stack_[(3) - (1)].expr));
       vdecl->add((yysemantic_stack_[(3) - (3)].node));
@@ -4794,9 +4128,8 @@
     break;
 
   case 192:
-
-/* Line 690 of lalr1.cc  */
-#line 2030 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2424 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       VarDeclStmt* vdecl = new VarDeclStmt(LOC((yyloc)), NULL);
       vdecl->add((yysemantic_stack_[(2) - (2)].node));
@@ -4805,9 +4138,8 @@
     break;
 
   case 193:
-
-/* Line 690 of lalr1.cc  */
-#line 2037 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2431 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       VarDeclStmt* vdecl = new VarDeclStmt(LOC((yyloc)),
                                            static_cast<AnnotationListParsenode*>((yysemantic_stack_[(3) - (1)].node)));
@@ -4817,9 +4149,8 @@
     break;
 
   case 194:
-
-/* Line 690 of lalr1.cc  */
-#line 2046 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2442 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       LocalVarDecl* vd = new LocalVarDecl(LOC((yyloc)),
                                           static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)),
@@ -4831,9 +4162,8 @@
     break;
 
   case 195:
-
-/* Line 690 of lalr1.cc  */
-#line 2055 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2451 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       LocalVarDecl* vd = new LocalVarDecl(LOC((yyloc)),
                                           static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)),
@@ -4845,9 +4175,8 @@
     break;
 
   case 196:
-
-/* Line 690 of lalr1.cc  */
-#line 2064 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2460 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       LocalVarDecl* vd = new LocalVarDecl(LOC((yyloc)),
                                           static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -4859,9 +4188,8 @@
     break;
 
   case 197:
-
-/* Line 690 of lalr1.cc  */
-#line 2073 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2469 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       LocalVarDecl* vd = new LocalVarDecl(LOC((yyloc)),
                                           static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -4873,36 +4201,32 @@
     break;
 
   case 198:
-
-/* Line 690 of lalr1.cc  */
-#line 2084 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2482 "/Users/zorba/Code/zorba/release/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));
     }
     break;
 
   case 199:
-
-/* Line 690 of lalr1.cc  */
-#line 2090 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2490 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new ApplyExpr(LOC((yyloc)), (yysemantic_stack_[(2) - (1)].expr));
     }
     break;
 
   case 200:
-
-/* Line 690 of lalr1.cc  */
-#line 2096 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2498 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new ExitExpr(LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr));
     }
     break;
 
   case 201:
-
-/* Line 690 of lalr1.cc  */
-#line 2102 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2506 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       BlockBody* bb = dynamic_cast<BlockBody *>((yysemantic_stack_[(5) - (5)].expr));
       if (bb == NULL)
@@ -4910,32 +4234,30 @@
         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;
 
   case 202:
-
-/* Line 690 of lalr1.cc  */
-#line 2114 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2521 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new FlowCtlStatement(LOC((yyloc)), FlowCtlStatement::BREAK);
     }
     break;
 
   case 203:
-
-/* Line 690 of lalr1.cc  */
-#line 2119 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2526 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new FlowCtlStatement( LOC((yyloc)), FlowCtlStatement::CONTINUE );
     }
     break;
 
   case 204:
-
-/* Line 690 of lalr1.cc  */
-#line 2125 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2534 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       ReturnExpr* re = dynamic_cast<ReturnExpr*>((yysemantic_stack_[(2) - (2)].expr));
       (yyval.expr) = new FLWORExpr(LOC((yyloc)),
@@ -4948,57 +4270,58 @@
     break;
 
   case 205:
-
-/* Line 690 of lalr1.cc  */
-#line 2137 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2548 "/Users/zorba/Code/zorba/release/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;
 
   case 206:
-
-/* Line 690 of lalr1.cc  */
-#line 2150 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2565 "/Users/zorba/Code/zorba/release/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;
 
   case 207:
-
-/* Line 690 of lalr1.cc  */
-#line 2170 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2590 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new TryExpr(LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr), (yysemantic_stack_[(3) - (3)].expr));
     }
     break;
 
   case 208:
-
-/* Line 690 of lalr1.cc  */
-#line 2176 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2598 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       CatchListExpr* cle = new CatchListExpr( LOC((yyloc)) );
       cle->push_back( static_cast<CatchExpr*>((yysemantic_stack_[(1) - (1)].expr)) );
@@ -5007,9 +4330,8 @@
     break;
 
   case 209:
-
-/* Line 690 of lalr1.cc  */
-#line 2183 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2605 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       CatchListExpr *cle = dynamic_cast<CatchListExpr*>((yysemantic_stack_[(2) - (1)].expr));
       if ( cle )
@@ -5019,9 +4341,8 @@
     break;
 
   case 210:
-
-/* Line 690 of lalr1.cc  */
-#line 2192 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2616 "/Users/zorba/Code/zorba/release/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);
@@ -5029,27 +4350,24 @@
     break;
 
   case 211:
-
-/* Line 690 of lalr1.cc  */
-#line 2199 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2625 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new BlockBody(LOC((yyloc)));
     }
     break;
 
   case 212:
-
-/* Line 690 of lalr1.cc  */
-#line 2205 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2633 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
     break;
 
   case 213:
-
-/* Line 690 of lalr1.cc  */
-#line 2210 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2638 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       Expr* expr = dynamic_cast<Expr*>((yysemantic_stack_[(3) - (1)].expr));
       if ( !expr )
@@ -5063,12 +4381,14 @@
     break;
 
   case 214:
-
-/* Line 690 of lalr1.cc  */
-#line 2222 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2651 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (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);
@@ -5078,9 +4398,8 @@
     break;
 
   case 233:
-
-/* Line 690 of lalr1.cc  */
-#line 2256 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2698 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       ReturnExpr *re = dynamic_cast<ReturnExpr*>((yysemantic_stack_[(2) - (2)].expr));
       (yyval.expr) = new FLWORExpr(LOC((yyloc)),
@@ -5093,71 +4412,63 @@
     break;
 
   case 234:
-
-/* Line 690 of lalr1.cc  */
-#line 2268 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2712 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new ReturnExpr( LOC((yyloc)), (yysemantic_stack_[(2) - (2)].expr) );
     }
     break;
 
   case 236:
-
-/* Line 690 of lalr1.cc  */
-#line 2275 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2724 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
     }
     break;
 
   case 237:
-
-/* Line 690 of lalr1.cc  */
-#line 2280 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2731 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.strval) = parser::the_sliding;
     }
     break;
 
   case 238:
-
-/* Line 690 of lalr1.cc  */
-#line 2285 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2736 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.strval) = parser::the_tumbling;
     }
     break;
 
   case 239:
-
-/* Line 690 of lalr1.cc  */
-#line 2291 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2744 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.strval) = parser::the_start;
     }
     break;
 
   case 240:
-
-/* Line 690 of lalr1.cc  */
-#line 2296 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2749 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.strval) = parser::the_end;
     }
     break;
 
   case 241:
-
-/* Line 690 of lalr1.cc  */
-#line 2301 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2754 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
     (yyval.strval) = parser::the_only_end;
   }
     break;
 
   case 242:
-
-/* Line 690 of lalr1.cc  */
-#line 2307 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2762 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new FLWORWinCond(LOC((yyloc)),
                             dynamic_cast<WindowVars*>((yysemantic_stack_[(4) - (2)].node)),
@@ -5168,9 +4479,8 @@
     break;
 
   case 243:
-
-/* Line 690 of lalr1.cc  */
-#line 2316 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2771 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new FLWORWinCond(LOC((yyloc)),
                             NULL,
@@ -5181,9 +4491,8 @@
     break;
 
   case 244:
-
-/* Line 690 of lalr1.cc  */
-#line 2326 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2783 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new WindowClause (LOC ((yyloc)),
                              ((yysemantic_stack_[(5) - (2)].strval) == parser::the_tumbling ?
@@ -5196,9 +4505,8 @@
     break;
 
   case 245:
-
-/* Line 690 of lalr1.cc  */
-#line 2336 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2793 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new WindowClause (LOC ((yyloc)),
                              ((yysemantic_stack_[(4) - (2)].strval) == parser::the_tumbling ?
@@ -5210,18 +4518,16 @@
     break;
 
   case 246:
-
-/* Line 690 of lalr1.cc  */
-#line 2347 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2806 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CountClause(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)));
     }
     break;
 
   case 255:
-
-/* Line 690 of lalr1.cc  */
-#line 2365 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2830 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       FLWORClauseList *fcl = new FLWORClauseList( LOC((yyloc)) );
       fcl->push_back( dynamic_cast<FLWORClause*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5230,9 +4536,8 @@
     break;
 
   case 256:
-
-/* Line 690 of lalr1.cc  */
-#line 2372 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2837 "/Users/zorba/Code/zorba/release/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)) );
@@ -5241,18 +4546,16 @@
     break;
 
   case 257:
-
-/* Line 690 of lalr1.cc  */
-#line 2380 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2847 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new ForClause(LOC((yyloc)), dynamic_cast<VarInDeclList*>((yysemantic_stack_[(3) - (3)].node)));
     }
     break;
 
   case 258:
-
-/* Line 690 of lalr1.cc  */
-#line 2384 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2852 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(3) - (3)].node);
       error((yylocation_stack_[(3) - (2)]), "syntax error, unexpected qualified name \""
@@ -5263,9 +4566,8 @@
     break;
 
   case 259:
-
-/* Line 690 of lalr1.cc  */
-#line 2392 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2861 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(3) - (3)].node);
       error((yylocation_stack_[(3) - (2)]), "syntax error, unexpected qualified name \""
@@ -5276,9 +4578,8 @@
     break;
 
   case 260:
-
-/* Line 690 of lalr1.cc  */
-#line 2400 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2870 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = NULL;
       error((yylocation_stack_[(2) - (2)]), "");
@@ -5287,17 +4588,16 @@
     break;
 
   case 262:
-
-/* Line 690 of lalr1.cc  */
-#line 2409 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2884 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
+
     }
     break;
 
   case 263:
-
-/* Line 690 of lalr1.cc  */
-#line 2414 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2892 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       VarInDeclList* vdl = new VarInDeclList( LOC((yyloc)) );
       vdl->push_back( dynamic_cast<VarInDecl*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5306,9 +4606,8 @@
     break;
 
   case 264:
-
-/* Line 690 of lalr1.cc  */
-#line 2421 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2899 "/Users/zorba/Code/zorba/release/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)) );
@@ -5317,9 +4616,8 @@
     break;
 
   case 265:
-
-/* Line 690 of lalr1.cc  */
-#line 2428 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2907 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node);
       error((yylocation_stack_[(3) - (3)]), "syntax error, unexpected QName \""
@@ -5330,9 +4628,8 @@
     break;
 
   case 266:
-
-/* Line 690 of lalr1.cc  */
-#line 2438 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2919 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(3) - (1)].expr)),
@@ -5345,9 +4642,8 @@
     break;
 
   case 267:
-
-/* Line 690 of lalr1.cc  */
-#line 2448 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2929 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (1)].expr)),
@@ -5360,9 +4656,8 @@
     break;
 
   case 268:
-
-/* Line 690 of lalr1.cc  */
-#line 2458 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
@@ -5375,9 +4670,8 @@
     break;
 
   case 269:
-
-/* Line 690 of lalr1.cc  */
-#line 2468 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2949 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(6) - (1)].expr)),
@@ -5390,9 +4684,8 @@
     break;
 
   case 270:
-
-/* Line 690 of lalr1.cc  */
-#line 2478 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2959 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
@@ -5405,9 +4698,8 @@
     break;
 
   case 271:
-
-/* Line 690 of lalr1.cc  */
-#line 2488 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2969 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(6) - (1)].expr)),
@@ -5420,9 +4712,8 @@
     break;
 
   case 272:
-
-/* Line 690 of lalr1.cc  */
-#line 2498 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2979 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (1)].expr)),
@@ -5435,9 +4726,8 @@
     break;
 
   case 273:
-
-/* Line 690 of lalr1.cc  */
-#line 2508 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 2989 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(7) - (1)].expr)),
@@ -5450,9 +4740,8 @@
     break;
 
   case 274:
-
-/* Line 690 of lalr1.cc  */
-#line 2518 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3000 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
@@ -5464,9 +4753,8 @@
     break;
 
   case 275:
-
-/* Line 690 of lalr1.cc  */
-#line 2527 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3009 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (1)].expr)),
@@ -5479,9 +4767,8 @@
     break;
 
   case 276:
-
-/* Line 690 of lalr1.cc  */
-#line 2537 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3019 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC ((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (1)].expr)),
@@ -5494,9 +4781,8 @@
     break;
 
   case 277:
-
-/* Line 690 of lalr1.cc  */
-#line 2547 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3029 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC ((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(6) - (1)].expr)),
@@ -5509,36 +4795,32 @@
     break;
 
   case 278:
-
-/* Line 690 of lalr1.cc  */
-#line 2559 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3045 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new PositionalVar(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)));
     }
     break;
 
   case 279:
-
-/* Line 690 of lalr1.cc  */
-#line 2565 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3054 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new FTScoreVar(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)));
     }
     break;
 
   case 280:
-
-/* Line 690 of lalr1.cc  */
-#line 2571 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3063 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new LetClause( LOC((yyloc)), dynamic_cast<VarGetsDeclList*>((yysemantic_stack_[(2) - (2)].node)) );
         }
     break;
 
   case 281:
-
-/* Line 690 of lalr1.cc  */
-#line 2577 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3071 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             VarGetsDeclList *vgdl = new VarGetsDeclList( LOC((yyloc)) );
             vgdl->push_back( dynamic_cast<VarGetsDecl*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5547,9 +4829,8 @@
     break;
 
   case 282:
-
-/* Line 690 of lalr1.cc  */
-#line 2583 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3077 "/Users/zorba/Code/zorba/release/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)) );
@@ -5558,9 +4839,8 @@
     break;
 
   case 283:
-
-/* Line 690 of lalr1.cc  */
-#line 2591 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3089 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarGetsDecl(LOC ((yyloc)),
                            static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -5571,9 +4851,8 @@
     break;
 
   case 284:
-
-/* Line 690 of lalr1.cc  */
-#line 2599 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3097 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarGetsDecl(LOC ((yyloc)),
                            static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -5584,9 +4863,8 @@
     break;
 
   case 285:
-
-/* Line 690 of lalr1.cc  */
-#line 2607 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3107 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarGetsDecl(LOC ((yyloc)),
                            dynamic_cast<FTScoreVar*>((yysemantic_stack_[(3) - (1)].node))->get_var_name(),
@@ -5597,9 +4875,8 @@
     break;
 
   case 286:
-
-/* Line 690 of lalr1.cc  */
-#line 2615 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3115 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarGetsDecl(LOC ((yyloc)),
                            static_cast<QName*>((yysemantic_stack_[(6) - (2)].expr)),
@@ -5610,9 +4887,8 @@
     break;
 
   case 287:
-
-/* Line 690 of lalr1.cc  */
-#line 2625 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3127 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new WindowVarDecl(LOC ((yyloc)),
                              static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -5621,9 +4897,8 @@
     break;
 
   case 288:
-
-/* Line 690 of lalr1.cc  */
-#line 2631 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3133 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new WindowVarDecl(LOC ((yyloc)),
                              static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -5633,18 +4908,16 @@
     break;
 
   case 290:
-
-/* Line 690 of lalr1.cc  */
-#line 2641 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3146 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), NULL, static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)), NULL, NULL);
     }
     break;
 
   case 291:
-
-/* Line 690 of lalr1.cc  */
-#line 2645 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3150 "/Users/zorba/Code/zorba/release/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)));
@@ -5652,18 +4925,16 @@
     break;
 
   case 292:
-
-/* Line 690 of lalr1.cc  */
-#line 2652 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3158 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), dynamic_cast<PositionalVar*>((yysemantic_stack_[(1) - (1)].node)), NULL, NULL, NULL);
     }
     break;
 
   case 293:
-
-/* Line 690 of lalr1.cc  */
-#line 2656 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3162 "/Users/zorba/Code/zorba/release/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)));
@@ -5671,54 +4942,48 @@
     break;
 
   case 295:
-
-/* Line 690 of lalr1.cc  */
-#line 2664 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3171 "/Users/zorba/Code/zorba/release/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)));
     }
     break;
 
   case 296:
-
-/* Line 690 of lalr1.cc  */
-#line 2668 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3175 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), NULL, NULL, NULL, static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)));
     }
     break;
 
   case 297:
-
-/* Line 690 of lalr1.cc  */
-#line 2672 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3179 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), NULL, NULL, static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)), NULL);
     }
     break;
 
   case 298:
-
-/* Line 690 of lalr1.cc  */
-#line 2678 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3189 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new WhereClause(LOC ((yyloc)), (yysemantic_stack_[(2) - (2)].expr));
     }
     break;
 
   case 299:
-
-/* Line 690 of lalr1.cc  */
-#line 2684 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3197 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new GroupByClause(LOC((yyloc)), dynamic_cast<GroupSpecList*>((yysemantic_stack_[(3) - (3)].node)));
     }
     break;
 
   case 300:
-
-/* Line 690 of lalr1.cc  */
-#line 2690 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3204 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       GroupSpecList* gsl = new GroupSpecList(LOC((yyloc)));
       gsl->push_back(static_cast<GroupSpec*>((yysemantic_stack_[(1) - (1)].node)));
@@ -5727,9 +4992,8 @@
     break;
 
   case 301:
-
-/* Line 690 of lalr1.cc  */
-#line 2696 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3210 "/Users/zorba/Code/zorba/release/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)));
@@ -5738,18 +5002,16 @@
     break;
 
   case 302:
-
-/* Line 690 of lalr1.cc  */
-#line 2704 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3220 "/Users/zorba/Code/zorba/release/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);
     }
     break;
 
   case 303:
-
-/* Line 690 of lalr1.cc  */
-#line 2708 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3224 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -5760,9 +5022,8 @@
     break;
 
   case 304:
-
-/* Line 690 of lalr1.cc  */
-#line 2716 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3232 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(6) - (2)].expr)),
@@ -5773,9 +5034,8 @@
     break;
 
   case 305:
-
-/* Line 690 of lalr1.cc  */
-#line 2724 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3240 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -5786,9 +5046,8 @@
     break;
 
   case 306:
-
-/* Line 690 of lalr1.cc  */
-#line 2732 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3248 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       VarRef* varRef = dynamic_cast<VarRef*>((yysemantic_stack_[(1) - (1)].expr));
       if (varRef != NULL)
@@ -5799,9 +5058,8 @@
     break;
 
   case 307:
-
-/* Line 690 of lalr1.cc  */
-#line 2740 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3256 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       VarRef* varRef = dynamic_cast<VarRef*>((yysemantic_stack_[(2) - (1)].expr));
       if (varRef != NULL)
@@ -5812,18 +5070,16 @@
     break;
 
   case 308:
-
-/* Line 690 of lalr1.cc  */
-#line 2750 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3268 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new GroupCollationSpec( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)) );
     }
     break;
 
   case 309:
-
-/* Line 690 of lalr1.cc  */
-#line 2756 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3276 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderByClause(
                 LOC((yyloc)), dynamic_cast<OrderSpecList*>((yysemantic_stack_[(3) - (3)].node))
@@ -5832,9 +5088,8 @@
     break;
 
   case 310:
-
-/* Line 690 of lalr1.cc  */
-#line 2762 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3282 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderByClause(
                 LOC((yyloc)), dynamic_cast<OrderSpecList*>((yysemantic_stack_[(4) - (4)].node)), true
@@ -5843,9 +5098,8 @@
     break;
 
   case 311:
-
-/* Line 690 of lalr1.cc  */
-#line 2770 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3292 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             OrderSpecList *osl = new OrderSpecList( LOC((yyloc)) );
             osl->push_back( dynamic_cast<OrderSpec*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5854,9 +5108,8 @@
     break;
 
   case 312:
-
-/* Line 690 of lalr1.cc  */
-#line 2776 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3298 "/Users/zorba/Code/zorba/release/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)) );
@@ -5865,18 +5118,16 @@
     break;
 
   case 313:
-
-/* Line 690 of lalr1.cc  */
-#line 2784 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3308 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderSpec( LOC((yyloc)), (yysemantic_stack_[(1) - (1)].expr), NULL );
         }
     break;
 
   case 314:
-
-/* Line 690 of lalr1.cc  */
-#line 2788 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3312 "/Users/zorba/Code/zorba/release/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))
@@ -5885,9 +5136,8 @@
     break;
 
   case 315:
-
-/* Line 690 of lalr1.cc  */
-#line 2796 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3322 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)), dynamic_cast<OrderDirSpec*>((yysemantic_stack_[(1) - (1)].node)), NULL, NULL
@@ -5896,9 +5146,8 @@
     break;
 
   case 316:
-
-/* Line 690 of lalr1.cc  */
-#line 2802 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3328 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)), NULL, dynamic_cast<OrderEmptySpec*>((yysemantic_stack_[(1) - (1)].node)), NULL
@@ -5907,9 +5156,8 @@
     break;
 
   case 317:
-
-/* Line 690 of lalr1.cc  */
-#line 2808 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3334 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)), NULL, NULL, dynamic_cast<OrderCollationSpec*>((yysemantic_stack_[(1) - (1)].node))
@@ -5918,9 +5166,8 @@
     break;
 
   case 318:
-
-/* Line 690 of lalr1.cc  */
-#line 2814 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3340 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)),
@@ -5932,9 +5179,8 @@
     break;
 
   case 319:
-
-/* Line 690 of lalr1.cc  */
-#line 2823 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3349 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)),
@@ -5946,9 +5192,8 @@
     break;
 
   case 320:
-
-/* Line 690 of lalr1.cc  */
-#line 2832 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3358 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)),
@@ -5960,9 +5205,8 @@
     break;
 
   case 321:
-
-/* Line 690 of lalr1.cc  */
-#line 2841 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3367 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)),
@@ -5974,27 +5218,24 @@
     break;
 
   case 322:
-
-/* Line 690 of lalr1.cc  */
-#line 2852 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3380 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderDirSpec( LOC((yyloc)), ParseConstants::dir_ascending );
         }
     break;
 
   case 323:
-
-/* Line 690 of lalr1.cc  */
-#line 2856 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3384 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderDirSpec( LOC((yyloc)), ParseConstants::dir_descending );
         }
     break;
 
   case 324:
-
-/* Line 690 of lalr1.cc  */
-#line 2862 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3392 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderEmptySpec(
                 LOC((yyloc)), StaticContextConsts::empty_greatest
@@ -6003,9 +5244,8 @@
     break;
 
   case 325:
-
-/* Line 690 of lalr1.cc  */
-#line 2868 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3398 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderEmptySpec(
                 LOC((yyloc)), StaticContextConsts::empty_least
@@ -6014,18 +5254,16 @@
     break;
 
   case 326:
-
-/* Line 690 of lalr1.cc  */
-#line 2876 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3408 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderCollationSpec( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)) );
         }
     break;
 
   case 327:
-
-/* Line 690 of lalr1.cc  */
-#line 2882 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3416 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new QuantifiedExpr(
                 LOC((yyloc)),
@@ -6037,9 +5275,8 @@
     break;
 
   case 328:
-
-/* Line 690 of lalr1.cc  */
-#line 2891 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3425 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new QuantifiedExpr(
                 LOC((yyloc)),
@@ -6051,20 +5288,19 @@
     break;
 
   case 329:
-
-/* Line 690 of lalr1.cc  */
-#line 2902 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3438 "/Users/zorba/Code/zorba/release/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 330:
-
-/* Line 690 of lalr1.cc  */
-#line 2908 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3445 "/Users/zorba/Code/zorba/release/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)) );
@@ -6073,18 +5309,16 @@
     break;
 
   case 331:
-
-/* Line 690 of lalr1.cc  */
-#line 2916 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3457 "/Users/zorba/Code/zorba/release/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));
     }
     break;
 
   case 332:
-
-/* Line 690 of lalr1.cc  */
-#line 2920 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3461 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new QVarInDecl(LOC((yyloc)),
                           static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
@@ -6094,18 +5328,16 @@
     break;
 
   case 333:
-
-/* Line 690 of lalr1.cc  */
-#line 2929 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3473 "/Users/zorba/Code/zorba/release/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));
     }
     break;
 
   case 334:
-
-/* Line 690 of lalr1.cc  */
-#line 2935 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3480 "/Users/zorba/Code/zorba/release/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)));
@@ -6114,9 +5346,8 @@
     break;
 
   case 335:
-
-/* Line 690 of lalr1.cc  */
-#line 2941 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3486 "/Users/zorba/Code/zorba/release/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)));
@@ -6125,18 +5356,16 @@
     break;
 
   case 336:
-
-/* Line 690 of lalr1.cc  */
-#line 2949 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3495 "/Users/zorba/Code/zorba/release/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));
     }
     break;
 
   case 337:
-
-/* Line 690 of lalr1.cc  */
-#line 2955 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3502 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       SwitchCaseOperandList* sco_list_p = new SwitchCaseOperandList(LOC((yyloc)));
       sco_list_p->push_back((yysemantic_stack_[(2) - (2)].expr));
@@ -6145,9 +5374,8 @@
     break;
 
   case 338:
-
-/* Line 690 of lalr1.cc  */
-#line 2961 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3508 "/Users/zorba/Code/zorba/release/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));
@@ -6156,18 +5384,16 @@
     break;
 
   case 339:
-
-/* Line 690 of lalr1.cc  */
-#line 2969 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3519 "/Users/zorba/Code/zorba/release/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));
     }
     break;
 
   case 340:
-
-/* Line 690 of lalr1.cc  */
-#line 2975 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3526 "/Users/zorba/Code/zorba/release/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)));
@@ -6176,9 +5402,8 @@
     break;
 
   case 341:
-
-/* Line 690 of lalr1.cc  */
-#line 2981 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3532 "/Users/zorba/Code/zorba/release/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)));
@@ -6187,18 +5412,16 @@
     break;
 
   case 342:
-
-/* Line 690 of lalr1.cc  */
-#line 2989 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3541 "/Users/zorba/Code/zorba/release/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));
     }
     break;
 
   case 343:
-
-/* Line 690 of lalr1.cc  */
-#line 2995 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3550 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new TypeswitchExpr(LOC((yyloc)),
                               (yysemantic_stack_[(8) - (3)].expr),
@@ -6208,9 +5431,8 @@
     break;
 
   case 344:
-
-/* Line 690 of lalr1.cc  */
-#line 3002 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3557 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new TypeswitchExpr(LOC ((yyloc)),
                               (yysemantic_stack_[(10) - (3)].expr),
@@ -6221,9 +5443,8 @@
     break;
 
   case 345:
-
-/* Line 690 of lalr1.cc  */
-#line 3012 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3568 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new TypeswitchExpr(LOC((yyloc)),
                               (yysemantic_stack_[(8) - (3)].expr),
@@ -6233,9 +5454,8 @@
     break;
 
   case 346:
-
-/* Line 690 of lalr1.cc  */
-#line 3019 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3575 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new TypeswitchExpr(LOC ((yyloc)),
                               (yysemantic_stack_[(10) - (3)].expr),
@@ -6246,9 +5466,8 @@
     break;
 
   case 347:
-
-/* Line 690 of lalr1.cc  */
-#line 3029 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3587 "/Users/zorba/Code/zorba/release/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)));
@@ -6257,9 +5476,8 @@
     break;
 
   case 348:
-
-/* Line 690 of lalr1.cc  */
-#line 3035 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3593 "/Users/zorba/Code/zorba/release/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)));
@@ -6268,9 +5486,8 @@
     break;
 
   case 349:
-
-/* Line 690 of lalr1.cc  */
-#line 3043 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3605 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CaseClause(LOC ((yyloc)),
                           static_cast<SequenceTypeList*>((yysemantic_stack_[(4) - (2)].node)),
@@ -6279,9 +5496,8 @@
     break;
 
   case 350:
-
-/* Line 690 of lalr1.cc  */
-#line 3049 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3611 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CaseClause(LOC ((yyloc)),
                           static_cast<QName*>((yysemantic_stack_[(7) - (3)].expr)),
@@ -6291,9 +5507,8 @@
     break;
 
   case 351:
-
-/* Line 690 of lalr1.cc  */
-#line 3058 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3622 "/Users/zorba/Code/zorba/release/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)));
@@ -6302,9 +5517,8 @@
     break;
 
   case 352:
-
-/* Line 690 of lalr1.cc  */
-#line 3064 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3628 "/Users/zorba/Code/zorba/release/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)));
@@ -6313,9 +5527,8 @@
     break;
 
   case 353:
-
-/* Line 690 of lalr1.cc  */
-#line 3072 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3639 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CaseClause(LOC ((yyloc)),
                           static_cast<SequenceTypeList*>((yysemantic_stack_[(4) - (2)].node)),
@@ -6324,9 +5537,8 @@
     break;
 
   case 354:
-
-/* Line 690 of lalr1.cc  */
-#line 3078 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3645 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CaseClause(LOC ((yyloc)),
                           static_cast<QName*>((yysemantic_stack_[(7) - (3)].expr)),
@@ -6336,9 +5548,8 @@
     break;
 
   case 355:
-
-/* Line 690 of lalr1.cc  */
-#line 3087 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3656 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       SequenceTypeList* seqList = new SequenceTypeList(LOC((yyloc)));
       seqList->push_back(static_cast<SequenceTypeAST*>((yysemantic_stack_[(1) - (1)].node)));
@@ -6347,9 +5558,8 @@
     break;
 
   case 356:
-
-/* Line 690 of lalr1.cc  */
-#line 3093 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3662 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       SequenceTypeList* seqList = static_cast<SequenceTypeList*>((yysemantic_stack_[(3) - (1)].node));
       seqList->push_back(static_cast<SequenceTypeAST*>((yysemantic_stack_[(3) - (3)].node)));
@@ -6358,63 +5568,56 @@
     break;
 
   case 357:
-
-/* Line 690 of lalr1.cc  */
-#line 3101 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3673 "/Users/zorba/Code/zorba/release/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));
     }
     break;
 
   case 358:
-
-/* Line 690 of lalr1.cc  */
-#line 3107 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3682 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
     break;
 
   case 359:
-
-/* Line 690 of lalr1.cc  */
-#line 3111 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3686 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new OrExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
     }
     break;
 
   case 360:
-
-/* Line 690 of lalr1.cc  */
-#line 3117 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3700 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 361:
-
-/* Line 690 of lalr1.cc  */
-#line 3122 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3710 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new AndExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
         }
     break;
 
   case 362:
-
-/* Line 690 of lalr1.cc  */
-#line 3128 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3720 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 363:
-
-/* Line 690 of lalr1.cc  */
-#line 3132 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3724 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new ComparisonExpr(
               LOC((yyloc)),
@@ -6426,19 +5629,18 @@
     break;
 
   case 364:
-
-/* Line 690 of lalr1.cc  */
-#line 3143 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3739 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 365:
+/* Line 661 of lalr1.cc  */
+#line 3743 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+    {
 
-/* Line 690 of lalr1.cc  */
-#line 3147 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-    {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
                 dynamic_cast<ValueComp*>((yysemantic_stack_[(3) - (2)].node)),
@@ -6449,10 +5651,10 @@
     break;
 
   case 366:
+/* Line 661 of lalr1.cc  */
+#line 3753 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+    {
 
-/* Line 690 of lalr1.cc  */
-#line 3156 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-    {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)), dynamic_cast<NodeComp*>((yysemantic_stack_[(3) - (2)].node)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
             );
@@ -6460,9 +5662,8 @@
     break;
 
   case 367:
-
-/* Line 690 of lalr1.cc  */
-#line 3162 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3760 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6474,9 +5675,8 @@
     break;
 
   case 368:
-
-/* Line 690 of lalr1.cc  */
-#line 3171 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3769 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6488,18 +5688,21 @@
     break;
 
   case 369:
-
-/* Line 690 of lalr1.cc  */
-#line 3180 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3778 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
+
+
+
+
             driver.getJsoniqLexer()->interpretAsLessThan();
+
         }
     break;
 
   case 370:
-
-/* Line 690 of lalr1.cc  */
-#line 3184 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3787 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6511,9 +5714,8 @@
     break;
 
   case 371:
-
-/* Line 690 of lalr1.cc  */
-#line 3193 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3796 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6525,9 +5727,8 @@
     break;
 
   case 372:
-
-/* Line 690 of lalr1.cc  */
-#line 3202 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3805 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6539,9 +5740,8 @@
     break;
 
   case 373:
-
-/* Line 690 of lalr1.cc  */
-#line 3211 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3814 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6553,18 +5753,16 @@
     break;
 
   case 374:
-
-/* Line 690 of lalr1.cc  */
-#line 3222 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3827 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 375:
-
-/* Line 690 of lalr1.cc  */
-#line 3226 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3831 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new FTContainsExpr(
                 LOC((yyloc)),
@@ -6576,99 +5774,88 @@
     break;
 
   case 376:
-
-/* Line 690 of lalr1.cc  */
-#line 3237 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3843 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 377:
-
-/* Line 690 of lalr1.cc  */
-#line 3241 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3847 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new StringConcatExpr(LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr));
         }
     break;
 
   case 378:
-
-/* Line 690 of lalr1.cc  */
-#line 3246 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3854 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = NULL;
         }
     break;
 
   case 379:
-
-/* Line 690 of lalr1.cc  */
-#line 3250 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3858 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
   case 380:
-
-/* Line 690 of lalr1.cc  */
-#line 3256 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3865 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 381:
-
-/* Line 690 of lalr1.cc  */
-#line 3260 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3869 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new RangeExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
         }
     break;
 
   case 382:
-
-/* Line 690 of lalr1.cc  */
-#line 3266 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3878 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 383:
-
-/* Line 690 of lalr1.cc  */
-#line 3270 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3882 "/Users/zorba/Code/zorba/release/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) );
         }
     break;
 
   case 384:
-
-/* Line 690 of lalr1.cc  */
-#line 3274 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3886 "/Users/zorba/Code/zorba/release/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) );
         }
     break;
 
   case 385:
-
-/* Line 690 of lalr1.cc  */
-#line 3280 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3894 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 386:
-
-/* Line 690 of lalr1.cc  */
-#line 3284 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3898 "/Users/zorba/Code/zorba/release/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)
@@ -6677,9 +5864,8 @@
     break;
 
   case 387:
-
-/* Line 690 of lalr1.cc  */
-#line 3290 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3904 "/Users/zorba/Code/zorba/release/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)
@@ -6688,9 +5874,8 @@
     break;
 
   case 388:
-
-/* Line 690 of lalr1.cc  */
-#line 3296 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3910 "/Users/zorba/Code/zorba/release/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)
@@ -6699,9 +5884,8 @@
     break;
 
   case 389:
-
-/* Line 690 of lalr1.cc  */
-#line 3302 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3916 "/Users/zorba/Code/zorba/release/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)
@@ -6710,45 +5894,40 @@
     break;
 
   case 390:
-
-/* Line 690 of lalr1.cc  */
-#line 3310 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3926 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 391:
-
-/* Line 690 of lalr1.cc  */
-#line 3314 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3930 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new UnionExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
         }
     break;
 
   case 392:
-
-/* Line 690 of lalr1.cc  */
-#line 3318 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3934 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new UnionExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
         }
     break;
 
   case 393:
-
-/* Line 690 of lalr1.cc  */
-#line 3324 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3942 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 394:
-
-/* Line 690 of lalr1.cc  */
-#line 3328 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3946 "/Users/zorba/Code/zorba/release/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)
@@ -6757,9 +5936,8 @@
     break;
 
   case 395:
-
-/* Line 690 of lalr1.cc  */
-#line 3334 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3952 "/Users/zorba/Code/zorba/release/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)
@@ -6768,18 +5946,16 @@
     break;
 
   case 396:
-
-/* Line 690 of lalr1.cc  */
-#line 3342 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3962 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 397:
-
-/* Line 690 of lalr1.cc  */
-#line 3346 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3966 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new InstanceofExpr(
                 LOC((yyloc)), (yysemantic_stack_[(4) - (1)].expr), dynamic_cast<SequenceTypeAST*>((yysemantic_stack_[(4) - (4)].node))
@@ -6788,18 +5964,16 @@
     break;
 
   case 398:
-
-/* Line 690 of lalr1.cc  */
-#line 3354 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3976 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 399:
-
-/* Line 690 of lalr1.cc  */
-#line 3358 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3980 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new TreatExpr(
                 LOC((yyloc)), (yysemantic_stack_[(4) - (1)].expr), dynamic_cast<SequenceTypeAST*>((yysemantic_stack_[(4) - (4)].node))
@@ -6808,18 +5982,16 @@
     break;
 
   case 400:
-
-/* Line 690 of lalr1.cc  */
-#line 3366 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3990 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 401:
-
-/* Line 690 of lalr1.cc  */
-#line 3370 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 3994 "/Users/zorba/Code/zorba/release/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))
@@ -6828,18 +6000,16 @@
     break;
 
   case 402:
-
-/* Line 690 of lalr1.cc  */
-#line 3378 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4004 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 403:
-
-/* Line 690 of lalr1.cc  */
-#line 3382 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4008 "/Users/zorba/Code/zorba/release/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))
@@ -6848,72 +6018,64 @@
     break;
 
   case 404:
-
-/* Line 690 of lalr1.cc  */
-#line 3390 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4018 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new SingleType(LOC((yyloc)), dynamic_cast<SimpleType*>((yysemantic_stack_[(1) - (1)].node)), false);
     }
     break;
 
   case 405:
-
-/* Line 690 of lalr1.cc  */
-#line 3394 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4022 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new SingleType(LOC((yyloc)), dynamic_cast<SimpleType*>((yysemantic_stack_[(2) - (1)].node)), true);
     }
     break;
 
   case 406:
-
-/* Line 690 of lalr1.cc  */
-#line 3400 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4031 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 407:
-
-/* Line 690 of lalr1.cc  */
-#line 3404 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4035 "/Users/zorba/Code/zorba/release/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) );
         }
     break;
 
   case 408:
-
-/* Line 690 of lalr1.cc  */
-#line 3410 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4043 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new SignList( LOC((yyloc)), true );
         }
     break;
 
   case 409:
-
-/* Line 690 of lalr1.cc  */
-#line 3414 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4047 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new SignList( LOC((yyloc)), false );
         }
     break;
 
   case 410:
-
-/* Line 690 of lalr1.cc  */
-#line 3418 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4051 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
         }
     break;
 
   case 411:
-
-/* Line 690 of lalr1.cc  */
-#line 3422 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4055 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             if ( SignList *sl = dynamic_cast<SignList*>((yysemantic_stack_[(2) - (1)].node)) )
                 sl->negate();
@@ -6922,135 +6084,120 @@
     break;
 
   case 415:
-
-/* Line 690 of lalr1.cc  */
-#line 3435 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4071 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
         (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
       }
     break;
 
   case 416:
-
-/* Line 690 of lalr1.cc  */
-#line 3440 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4076 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
         (yyval.expr) = new SimpleMapExpr(LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr));
       }
     break;
 
   case 417:
-
-/* Line 690 of lalr1.cc  */
-#line 3446 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4084 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_eq );
         }
     break;
 
   case 418:
-
-/* Line 690 of lalr1.cc  */
-#line 3450 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4088 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_ne );
         }
     break;
 
   case 419:
-
-/* Line 690 of lalr1.cc  */
-#line 3454 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4092 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_lt );
         }
     break;
 
   case 420:
-
-/* Line 690 of lalr1.cc  */
-#line 3458 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4096 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_le );
         }
     break;
 
   case 421:
-
-/* Line 690 of lalr1.cc  */
-#line 3462 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4100 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_gt );
         }
     break;
 
   case 422:
-
-/* Line 690 of lalr1.cc  */
-#line 3466 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4104 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_ge );
         }
     break;
 
   case 423:
-
-/* Line 690 of lalr1.cc  */
-#line 3472 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4112 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new NodeComp( LOC((yyloc)), ParseConstants::op_is );
         }
     break;
 
   case 424:
-
-/* Line 690 of lalr1.cc  */
-#line 3476 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4116 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new NodeComp( LOC((yyloc)), ParseConstants::op_precedes );
         }
     break;
 
   case 425:
-
-/* Line 690 of lalr1.cc  */
-#line 3480 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4120 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new NodeComp( LOC((yyloc)), ParseConstants::op_follows );
         }
     break;
 
   case 426:
-
-/* Line 690 of lalr1.cc  */
-#line 3486 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4128 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new ValidateExpr( LOC((yyloc)), "strict", (yysemantic_stack_[(4) - (3)].expr) );
         }
     break;
 
   case 427:
-
-/* Line 690 of lalr1.cc  */
-#line 3490 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4132 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new ValidateExpr( LOC((yyloc)), "lax", (yysemantic_stack_[(5) - (4)].expr) );
         }
     break;
 
   case 428:
-
-/* Line 690 of lalr1.cc  */
-#line 3494 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4136 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new ValidateExpr( LOC((yyloc)), "strict", (yysemantic_stack_[(5) - (4)].expr) );
         }
     break;
 
   case 429:
-
-/* Line 690 of lalr1.cc  */
-#line 3498 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4140 "/Users/zorba/Code/zorba/release/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)
@@ -7060,9 +6207,8 @@
     break;
 
   case 430:
-
-/* Line 690 of lalr1.cc  */
-#line 3507 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4151 "/Users/zorba/Code/zorba/release/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)
@@ -7071,9 +6217,8 @@
     break;
 
   case 431:
-
-/* Line 690 of lalr1.cc  */
-#line 3515 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4161 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             PragmaList *pl = new PragmaList( LOC((yyloc)) );
             pl->push_back( dynamic_cast<Pragma*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -7082,9 +6227,8 @@
     break;
 
   case 432:
-
-/* Line 690 of lalr1.cc  */
-#line 3521 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4167 "/Users/zorba/Code/zorba/release/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)) );
@@ -7093,48 +6237,45 @@
     break;
 
   case 433:
-
-/* Line 690 of lalr1.cc  */
-#line 3529 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4177 "/Users/zorba/Code/zorba/release/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)) );
         }
     break;
 
   case 434:
-
-/* Line 690 of lalr1.cc  */
-#line 3533 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4181 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new Pragma( LOC((yyloc)), new QName( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)) ), "" );
         }
     break;
 
   case 435:
-
-/* Line 690 of lalr1.cc  */
-#line 3537 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4185 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new Pragma( LOC((yyloc)), new QName( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)), true ), "" );
         }
     break;
 
   case 436:
-
-/* Line 690 of lalr1.cc  */
-#line 3543 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4191 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new PathExpr(LOC((yyloc)), ParseConstants::path_leading_lone_slash, NULL);
     }
     break;
 
   case 437:
-
-/* Line 690 of lalr1.cc  */
-#line 3547 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4195 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       RelativePathExpr* rpe;
+
       rpe = new RelativePathExpr(LOC((yyloc)), ParseConstants::st_slash, NULL, (yysemantic_stack_[(2) - (2)].expr), false);
+
       (yyval.expr) = new PathExpr(LOC((yyloc)),
                         ParseConstants::path_leading_slash,
                         rpe);
@@ -7142,12 +6283,13 @@
     break;
 
   case 438:
-
-/* Line 690 of lalr1.cc  */
-#line 3555 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4205 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       RelativePathExpr* rpe;
+
       rpe = new RelativePathExpr(LOC((yyloc)), ParseConstants::st_slashslash, NULL, (yysemantic_stack_[(2) - (2)].expr), false);
+
       (yyval.expr) = new PathExpr(LOC((yyloc)),
                         ParseConstants::path_leading_slashslash,
                         rpe);
@@ -7155,12 +6297,13 @@
     break;
 
   case 439:
-
-/* Line 690 of lalr1.cc  */
-#line 3563 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4215 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = NULL;
+
       RelativePathExpr* rpe = dynamic_cast<RelativePathExpr*>((yysemantic_stack_[(1) - (1)].expr));
+
       if (rpe != NULL &&
          ( (dynamic_cast<ContextItemExpr*>(rpe->get_step_expr()) != NULL &&
              dynamic_cast<ContextItemExpr*>(rpe->get_step_expr())->is_placeholder() &&
@@ -7168,24 +6311,35 @@
            ||
              dynamic_cast<AxisStep*>(rpe->get_step_expr()) != NULL))
       {
+
+
+
+
         switch (rpe->is_jsoniq_literal())
         {
         case 0:
+
+
           break;
         case 1:
+
           driver.addCommonLanguageWarning((yylocation_stack_[(1) - (1)]), ZED(ZWST0009_TRUE_FALSE_NULL_KEYWORDS));
           (yyval.expr) = new NullLiteral(LOC((yyloc)));
           break;
         case 2:
+
           driver.addCommonLanguageWarning((yylocation_stack_[(1) - (1)]), ZED(ZWST0009_TRUE_FALSE_NULL_KEYWORDS));
           (yyval.expr) = new BooleanLiteral(LOC((yyloc)), false);
           break;
         case 3:
+
           driver.addCommonLanguageWarning((yylocation_stack_[(1) - (1)]), ZED(ZWST0009_TRUE_FALSE_NULL_KEYWORDS));
           (yyval.expr) = new BooleanLiteral(LOC((yyloc)), true);
           break;
         }
+
       }
+
       if ((yyval.expr) == NULL)
         (yyval.expr) = (rpe ?
               new PathExpr( LOC((yyloc)), ParseConstants::path_relative, (yysemantic_stack_[(1) - (1)].expr)) :
@@ -7194,18 +6348,16 @@
     break;
 
   case 440:
-
-/* Line 690 of lalr1.cc  */
-#line 3599 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4268 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = NULL;
     }
     break;
 
   case 441:
-
-/* Line 690 of lalr1.cc  */
-#line 3605 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4277 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       AxisStep* as = dynamic_cast<AxisStep*>((yysemantic_stack_[(1) - (1)].expr));
       (yyval.expr) = (as ?
@@ -7218,27 +6370,24 @@
     break;
 
   case 442:
-
-/* Line 690 of lalr1.cc  */
-#line 3615 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4287 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new RelativePathExpr(LOC((yyloc)), ParseConstants::st_slash, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr), false);
     }
     break;
 
   case 443:
-
-/* Line 690 of lalr1.cc  */
-#line 3619 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4291 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new RelativePathExpr(LOC((yyloc)), ParseConstants::st_slashslash, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr), false);
     }
     break;
 
   case 446:
-
-/* Line 690 of lalr1.cc  */
-#line 3629 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4307 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new AxisStep(
                 LOC((yyloc)), dynamic_cast<ForwardStep*>((yysemantic_stack_[(1) - (1)].node)), NULL
@@ -7247,9 +6396,8 @@
     break;
 
   case 447:
-
-/* Line 690 of lalr1.cc  */
-#line 3635 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4313 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new AxisStep(
                 LOC((yyloc)),
@@ -7260,9 +6408,8 @@
     break;
 
   case 448:
-
-/* Line 690 of lalr1.cc  */
-#line 3643 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4321 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new AxisStep(
                 LOC((yyloc)), dynamic_cast<ReverseStep*>((yysemantic_stack_[(1) - (1)].node)), NULL
@@ -7271,9 +6418,8 @@
     break;
 
   case 449:
-
-/* Line 690 of lalr1.cc  */
-#line 3649 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4327 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new AxisStep(
                 LOC((yyloc)),
@@ -7284,9 +6430,8 @@
     break;
 
   case 450:
-
-/* Line 690 of lalr1.cc  */
-#line 3659 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4340 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ForwardStep(
                 LOC((yyloc)), dynamic_cast<ForwardAxis*>((yysemantic_stack_[(2) - (1)].node)), (yysemantic_stack_[(2) - (2)].node)
@@ -7295,9 +6440,8 @@
     break;
 
   case 451:
-
-/* Line 690 of lalr1.cc  */
-#line 3665 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4346 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ForwardStep(
                 LOC((yyloc)), dynamic_cast<AbbrevForwardStep*>((yysemantic_stack_[(1) - (1)].node))
@@ -7306,45 +6450,40 @@
     break;
 
   case 452:
-
-/* Line 690 of lalr1.cc  */
-#line 3673 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4357 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ForwardAxis( LOC((yyloc)), ParseConstants::axis_child );
         }
     break;
 
   case 453:
-
-/* Line 690 of lalr1.cc  */
-#line 3677 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4361 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ForwardAxis( LOC((yyloc)), ParseConstants::axis_descendant);
         }
     break;
 
   case 454:
-
-/* Line 690 of lalr1.cc  */
-#line 3681 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4365 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ForwardAxis( LOC((yyloc)), ParseConstants::axis_attribute );
         }
     break;
 
   case 455:
-
-/* Line 690 of lalr1.cc  */
-#line 3685 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4369 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ForwardAxis( LOC((yyloc)), ParseConstants::axis_self );
         }
     break;
 
   case 456:
-
-/* Line 690 of lalr1.cc  */
-#line 3689 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4373 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ForwardAxis(
                 LOC((yyloc)), ParseConstants::axis_descendant_or_self
@@ -7353,9 +6492,8 @@
     break;
 
   case 457:
-
-/* Line 690 of lalr1.cc  */
-#line 3695 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4379 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ForwardAxis(
                 LOC((yyloc)), ParseConstants::axis_following_sibling
@@ -7364,45 +6502,40 @@
     break;
 
   case 458:
-
-/* Line 690 of lalr1.cc  */
-#line 3701 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4385 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ForwardAxis( LOC((yyloc)), ParseConstants::axis_following );
         }
     break;
 
   case 459:
-
-/* Line 690 of lalr1.cc  */
-#line 3707 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4394 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new AbbrevForwardStep( LOC((yyloc)), (yysemantic_stack_[(1) - (1)].node), false );
         }
     break;
 
   case 460:
-
-/* Line 690 of lalr1.cc  */
-#line 3711 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4398 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new AbbrevForwardStep( LOC((yyloc)), (yysemantic_stack_[(2) - (2)].node), true );
         }
     break;
 
   case 461:
-
-/* Line 690 of lalr1.cc  */
-#line 3717 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4407 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ReverseStep( LOC((yyloc)), dynamic_cast<ReverseAxis*>((yysemantic_stack_[(2) - (1)].node)), (yysemantic_stack_[(2) - (2)].node) );
         }
     break;
 
   case 462:
-
-/* Line 690 of lalr1.cc  */
-#line 3721 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4411 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             ReverseAxis *ra = new ReverseAxis(
                 LOC((yyloc)), ParseConstants::axis_parent
@@ -7412,27 +6545,24 @@
     break;
 
   case 463:
-
-/* Line 690 of lalr1.cc  */
-#line 3730 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4423 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ReverseAxis( LOC((yyloc)), ParseConstants::axis_parent );
         }
     break;
 
   case 464:
-
-/* Line 690 of lalr1.cc  */
-#line 3734 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4427 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ReverseAxis( LOC((yyloc)), ParseConstants::axis_ancestor );
         }
     break;
 
   case 465:
-
-/* Line 690 of lalr1.cc  */
-#line 3738 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4431 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ReverseAxis(
                 LOC((yyloc)), ParseConstants::axis_preceding_sibling
@@ -7441,18 +6571,16 @@
     break;
 
   case 466:
-
-/* Line 690 of lalr1.cc  */
-#line 3744 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4437 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ReverseAxis( LOC((yyloc)), ParseConstants::axis_preceding );
         }
     break;
 
   case 467:
-
-/* Line 690 of lalr1.cc  */
-#line 3748 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4441 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ReverseAxis(
                 LOC((yyloc)), ParseConstants::axis_ancestor_or_self
@@ -7461,108 +6589,96 @@
     break;
 
   case 470:
-
-/* Line 690 of lalr1.cc  */
-#line 3760 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4463 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new NameTest( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
         }
     break;
 
   case 471:
-
-/* Line 690 of lalr1.cc  */
-#line 3764 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4467 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new NameTest( LOC((yyloc)), dynamic_cast<Wildcard*>((yysemantic_stack_[(1) - (1)].node)) );
         }
     break;
 
   case 472:
-
-/* Line 690 of lalr1.cc  */
-#line 3770 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4477 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new Wildcard(LOC((yyloc)), "", "", ParseConstants::wild_all, false);
     }
     break;
 
   case 473:
-
-/* Line 690 of lalr1.cc  */
-#line 3774 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4481 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new Wildcard(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)), "", ParseConstants::wild_elem, false);
     }
     break;
 
   case 474:
-
-/* Line 690 of lalr1.cc  */
-#line 3778 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4485 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new Wildcard(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)), "", ParseConstants::wild_elem, true);
     }
     break;
 
   case 475:
-
-/* Line 690 of lalr1.cc  */
-#line 3782 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4489 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new Wildcard(LOC((yyloc)), "", SYMTAB((yysemantic_stack_[(1) - (1)].sval)), ParseConstants::wild_prefix, false);
     }
     break;
 
   case 476:
-
-/* Line 690 of lalr1.cc  */
-#line 3788 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4502 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
        (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
      }
     break;
 
   case 477:
-
-/* Line 690 of lalr1.cc  */
-#line 3792 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4506 "/Users/zorba/Code/zorba/release/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)));
      }
     break;
 
   case 478:
-
-/* Line 690 of lalr1.cc  */
-#line 3796 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4510 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
        (yyval.expr) = new DynamicFunctionInvocation(LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), false);
      }
     break;
 
   case 479:
-
-/* Line 690 of lalr1.cc  */
-#line 3800 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4514 "/Users/zorba/Code/zorba/release/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);
      }
     break;
 
   case 480:
-
-/* Line 690 of lalr1.cc  */
-#line 3804 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4520 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new JSONArrayUnboxing(LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr));
     }
     break;
 
   case 481:
-
-/* Line 690 of lalr1.cc  */
-#line 3808 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4524 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
        ERROR_IF_QNAME_NOT_NCNAME((yysemantic_stack_[(3) - (3)].expr), (yylocation_stack_[(3) - (3)]));
        StringLiteral* sl = new StringLiteral( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)));
@@ -7571,9 +6687,8 @@
     break;
 
   case 482:
-
-/* Line 690 of lalr1.cc  */
-#line 3814 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4530 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
        (yyval.expr) = new JSONObjectLookup(LOC((yyloc)), LOC((yylocation_stack_[(4) - (2)])),
                                  (yysemantic_stack_[(4) - (1)].expr),
@@ -7582,9 +6697,8 @@
     break;
 
   case 483:
-
-/* Line 690 of lalr1.cc  */
-#line 3820 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4536 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
        (yyval.expr) = new JSONObjectLookup(LOC((yyloc)), LOC((yylocation_stack_[(5) - (2)])),
                                  (yysemantic_stack_[(5) - (1)].expr),
@@ -7593,27 +6707,32 @@
     break;
 
   case 484:
-
-/* Line 690 of lalr1.cc  */
-#line 3826 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4542 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
         (yyval.expr) = new JSONObjectLookup(LOC((yyloc)), LOC((yylocation_stack_[(3) - (2)])), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr));
      }
     break;
 
   case 485:
+/* Line 661 of lalr1.cc  */
+#line 4546 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+    {
+        (yyval.expr) = new JSONObjectLookup(LOC((yyloc)), LOC((yylocation_stack_[(3) - (2)])), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr));
+     }
+    break;
 
-/* Line 690 of lalr1.cc  */
-#line 3830 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 486:
+/* Line 661 of lalr1.cc  */
+#line 4550 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
        (yyval.expr) = new JSONObjectLookup(LOC((yyloc)), LOC((yylocation_stack_[(3) - (2)])), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr));
      }
     break;
 
-  case 486:
-
-/* Line 690 of lalr1.cc  */
-#line 3836 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 487:
+/* Line 661 of lalr1.cc  */
+#line 4559 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       PredicateList* pl = new PredicateList( LOC((yyloc)) );
       pl->push_back(dynamic_cast<exprnode*>((yysemantic_stack_[(1) - (1)].expr)));
@@ -7621,48 +6740,44 @@
     }
     break;
 
-  case 487:
-
-/* Line 690 of lalr1.cc  */
-#line 3842 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 488:
+/* Line 661 of lalr1.cc  */
+#line 4565 "/Users/zorba/Code/zorba/release/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)));
+
       (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
     }
     break;
 
-  case 488:
-
-/* Line 690 of lalr1.cc  */
-#line 3850 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 489:
+/* Line 661 of lalr1.cc  */
+#line 4576 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
     }
     break;
 
-  case 503:
-
-/* Line 690 of lalr1.cc  */
-#line 3872 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-    {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
   case 504:
-
-/* Line 690 of lalr1.cc  */
-#line 3876 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4604 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 505:
+/* Line 661 of lalr1.cc  */
+#line 4608 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
 
-/* Line 690 of lalr1.cc  */
-#line 3882 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 506:
+/* Line 661 of lalr1.cc  */
+#line 4616 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = NumericLiteral::new_literal(
                 LOC((yyloc)), ParseConstants::num_decimal, *(yysemantic_stack_[(1) - (1)].decval)
@@ -7671,10 +6786,9 @@
         }
     break;
 
-  case 506:
-
-/* Line 690 of lalr1.cc  */
-#line 3889 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 507:
+/* Line 661 of lalr1.cc  */
+#line 4623 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = NumericLiteral::new_literal(
                 LOC((yyloc)), ParseConstants::num_integer, *(yysemantic_stack_[(1) - (1)].ival)
@@ -7683,10 +6797,9 @@
         }
     break;
 
-  case 507:
-
-/* Line 690 of lalr1.cc  */
-#line 3896 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 508:
+/* Line 661 of lalr1.cc  */
+#line 4630 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = NumericLiteral::new_literal(
                 LOC((yyloc)), ParseConstants::num_double, *(yysemantic_stack_[(1) - (1)].dval)
@@ -7695,82 +6808,77 @@
         }
     break;
 
-  case 508:
-
-/* Line 690 of lalr1.cc  */
-#line 3905 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 509:
+/* Line 661 of lalr1.cc  */
+#line 4641 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new VarRef(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)));
         }
     break;
 
-  case 509:
-
-/* Line 690 of lalr1.cc  */
-#line 3911 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 510:
+/* Line 661 of lalr1.cc  */
+#line 4649 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new ParenthesizedExpr( LOC((yyloc)), NULL);
         }
     break;
 
-  case 510:
-
-/* Line 690 of lalr1.cc  */
-#line 3915 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 511:
+/* Line 661 of lalr1.cc  */
+#line 4653 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new ParenthesizedExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr) );
         }
     break;
 
-  case 511:
-
-/* Line 690 of lalr1.cc  */
-#line 3921 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 512:
+/* Line 661 of lalr1.cc  */
+#line 4661 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
+
             driver.addCommonLanguageWarning((yylocation_stack_[(1) - (1)]), ZED(ZWST0009_CONTEXT_ITEM_EXPR));
             (yyval.expr) = new ContextItemExpr( LOC((yyloc)) );
         }
     break;
 
-  case 512:
-
-/* Line 690 of lalr1.cc  */
-#line 3928 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 513:
+/* Line 661 of lalr1.cc  */
+#line 4672 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new OrderedExpr( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
         }
     break;
 
-  case 513:
-
-/* Line 690 of lalr1.cc  */
-#line 3934 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 514:
+/* Line 661 of lalr1.cc  */
+#line 4680 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new UnorderedExpr( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
         }
     break;
 
-  case 514:
-
-/* Line 690 of lalr1.cc  */
-#line 3940 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 515:
+/* Line 661 of lalr1.cc  */
+#line 4686 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new FunctionCall(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (1)].expr)), NULL);
     }
     break;
 
-  case 515:
-
-/* Line 690 of lalr1.cc  */
-#line 3944 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 516:
+/* Line 661 of lalr1.cc  */
+#line 4690 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       ArgList* argList = dynamic_cast<ArgList*>((yysemantic_stack_[(4) - (3)].node));
+
       if (argList->has_placeholder())
       {
         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
@@ -7780,10 +6888,9 @@
     }
     break;
 
-  case 516:
-
-/* Line 690 of lalr1.cc  */
-#line 3962 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 517:
+/* Line 661 of lalr1.cc  */
+#line 4712 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       ArgList* al = new ArgList(LOC((yyloc)));
       al->push_back(new ArgumentPlaceholder(LOC((yyloc))));
@@ -7791,10 +6898,9 @@
     }
     break;
 
-  case 517:
-
-/* Line 690 of lalr1.cc  */
-#line 3968 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 518:
+/* Line 661 of lalr1.cc  */
+#line 4718 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       if (ArgList* al = dynamic_cast<ArgList*>((yysemantic_stack_[(3) - (1)].node)))
         al->push_back(new ArgumentPlaceholder(LOC((yyloc))));
@@ -7802,10 +6908,9 @@
     }
     break;
 
-  case 518:
-
-/* Line 690 of lalr1.cc  */
-#line 3974 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 519:
+/* Line 661 of lalr1.cc  */
+#line 4724 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       ArgList *al = new ArgList( LOC((yyloc)) );
       al->push_back( (yysemantic_stack_[(1) - (1)].expr) );
@@ -7813,10 +6918,9 @@
     }
     break;
 
-  case 519:
-
-/* Line 690 of lalr1.cc  */
-#line 3980 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 520:
+/* Line 661 of lalr1.cc  */
+#line 4730 "/Users/zorba/Code/zorba/release/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) );
@@ -7824,37 +6928,33 @@
     }
     break;
 
-  case 520:
-
-/* Line 690 of lalr1.cc  */
-#line 3988 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
-    break;
-
   case 521:
-
-/* Line 690 of lalr1.cc  */
-#line 3992 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 4740 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
     break;
 
   case 522:
+/* Line 661 of lalr1.cc  */
+#line 4744 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+    {
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+    }
+    break;
 
-/* Line 690 of lalr1.cc  */
-#line 3998 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 523:
+/* Line 661 of lalr1.cc  */
+#line 4752 "/Users/zorba/Code/zorba/release/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));
     }
     break;
 
-  case 523:
-
-/* Line 690 of lalr1.cc  */
-#line 4004 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 524:
+/* Line 661 of lalr1.cc  */
+#line 4760 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new InlineFunction(LOC((yyloc)),
                               &*(yysemantic_stack_[(3) - (2)].fnsig)->theParams,
@@ -7864,10 +6964,9 @@
     }
     break;
 
-  case 529:
-
-/* Line 690 of lalr1.cc  */
-#line 4023 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 530:
+/* Line 661 of lalr1.cc  */
+#line 4785 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new DirElemConstructor(LOC((yyloc)),
                                   static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -7877,10 +6976,9 @@
     }
     break;
 
-  case 530:
-
-/* Line 690 of lalr1.cc  */
-#line 4031 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 531:
+/* Line 661 of lalr1.cc  */
+#line 4793 "/Users/zorba/Code/zorba/release/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())
       {
@@ -7890,6 +6988,7 @@
                   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)),
@@ -7898,10 +6997,9 @@
     }
     break;
 
-  case 531:
-
-/* Line 690 of lalr1.cc  */
-#line 4047 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 532:
+/* Line 661 of lalr1.cc  */
+#line 4810 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new DirElemConstructor(LOC((yyloc)),
                                   static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -7911,10 +7009,9 @@
     }
     break;
 
-  case 532:
-
-/* Line 690 of lalr1.cc  */
-#line 4055 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 533:
+/* Line 661 of lalr1.cc  */
+#line 4818 "/Users/zorba/Code/zorba/release/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())
       {
@@ -7924,6 +7021,7 @@
                   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)),
@@ -7932,10 +7030,9 @@
     }
     break;
 
-  case 533:
-
-/* Line 690 of lalr1.cc  */
-#line 4073 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 534:
+/* Line 661 of lalr1.cc  */
+#line 4837 "/Users/zorba/Code/zorba/release/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())
       {
@@ -7945,6 +7042,7 @@
                   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)),
@@ -7953,10 +7051,9 @@
     }
     break;
 
-  case 534:
-
-/* Line 690 of lalr1.cc  */
-#line 4091 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 535:
+/* Line 661 of lalr1.cc  */
+#line 4856 "/Users/zorba/Code/zorba/release/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())
       {
@@ -7966,6 +7063,7 @@
                   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)),
@@ -7974,10 +7072,9 @@
     }
     break;
 
-  case 535:
-
-/* Line 690 of lalr1.cc  */
-#line 4109 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 536:
+/* Line 661 of lalr1.cc  */
+#line 4878 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       DirElemContentList *decl = new DirElemContentList( LOC((yyloc)) );
       decl->push_back( dynamic_cast<DirElemContent*>((yysemantic_stack_[(1) - (1)].expr)) );
@@ -7985,10 +7082,9 @@
     }
     break;
 
-  case 536:
-
-/* Line 690 of lalr1.cc  */
-#line 4115 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 537:
+/* Line 661 of lalr1.cc  */
+#line 4884 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       DirElemContentList *decl = dynamic_cast<DirElemContentList*>((yysemantic_stack_[(2) - (1)].node));
       if ( decl )
@@ -7997,10 +7093,9 @@
     }
     break;
 
-  case 537:
-
-/* Line 690 of lalr1.cc  */
-#line 4124 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 538:
+/* Line 661 of lalr1.cc  */
+#line 4895 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       DirAttributeList *dal = new DirAttributeList( LOC((yyloc)) );
       dal->push_back( dynamic_cast<DirAttr*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -8008,10 +7103,9 @@
     }
     break;
 
-  case 538:
-
-/* Line 690 of lalr1.cc  */
-#line 4130 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 539:
+/* Line 661 of lalr1.cc  */
+#line 4901 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       DirAttributeList *dal = dynamic_cast<DirAttributeList*>((yysemantic_stack_[(2) - (1)].node));
       if ( dal )
@@ -8020,10 +7114,9 @@
     }
     break;
 
-  case 539:
-
-/* Line 690 of lalr1.cc  */
-#line 4139 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 540:
+/* Line 661 of lalr1.cc  */
+#line 4912 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new DirAttr(LOC((yyloc)),
                        static_cast<QName*>((yysemantic_stack_[(6) - (2)].expr)),
@@ -8031,48 +7124,43 @@
     }
     break;
 
-  case 542:
-
-/* Line 690 of lalr1.cc  */
-#line 4149 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 543:
+/* Line 661 of lalr1.cc  */
+#line 4927 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new DirAttributeValue(LOC((yyloc)),
                                  dynamic_cast<QuoteAttrContentList*>((yysemantic_stack_[(3) - (2)].node)));
     }
     break;
 
-  case 543:
-
-/* Line 690 of lalr1.cc  */
-#line 4154 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 544:
+/* Line 661 of lalr1.cc  */
+#line 4932 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new DirAttributeValue( LOC((yyloc)),
                                   dynamic_cast<AposAttrContentList*>((yysemantic_stack_[(3) - (2)].node)));
     }
     break;
 
-  case 544:
-
-/* Line 690 of lalr1.cc  */
-#line 4160 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 545:
+/* Line 661 of lalr1.cc  */
+#line 4941 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new QuoteAttrContentList( LOC((yyloc)) );
     }
     break;
 
-  case 545:
-
-/* Line 690 of lalr1.cc  */
-#line 4164 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-    {
-      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-    }
-    break;
-
   case 546:
+/* Line 661 of lalr1.cc  */
+#line 4945 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+    {
+      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+    }
+    break;
 
-/* Line 690 of lalr1.cc  */
-#line 4170 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 547:
+/* Line 661 of lalr1.cc  */
+#line 4952 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       QuoteAttrContentList *qacl = new QuoteAttrContentList( LOC((yyloc)) );
       qacl->push_back( new QuoteAttrValueContent( LOC((yyloc)), "\"" ) );
@@ -8080,10 +7168,9 @@
     }
     break;
 
-  case 547:
-
-/* Line 690 of lalr1.cc  */
-#line 4176 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 548:
+/* Line 661 of lalr1.cc  */
+#line 4958 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       QuoteAttrContentList *qacl = new QuoteAttrContentList( LOC((yyloc)) );
       qacl->push_back( dynamic_cast<QuoteAttrValueContent*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -8091,10 +7178,9 @@
     }
     break;
 
-  case 548:
-
-/* Line 690 of lalr1.cc  */
-#line 4182 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 549:
+/* Line 661 of lalr1.cc  */
+#line 4964 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       QuoteAttrContentList* qacl = dynamic_cast<QuoteAttrContentList*>((yysemantic_stack_[(2) - (1)].node));
       if ( qacl )
@@ -8103,10 +7189,9 @@
     }
     break;
 
-  case 549:
-
-/* Line 690 of lalr1.cc  */
-#line 4189 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 550:
+/* Line 661 of lalr1.cc  */
+#line 4971 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       QuoteAttrContentList *qacl = dynamic_cast<QuoteAttrContentList*>((yysemantic_stack_[(2) - (1)].node));
       if ( qacl )
@@ -8115,28 +7200,25 @@
     }
     break;
 
-  case 550:
-
-/* Line 690 of lalr1.cc  */
-#line 4197 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 551:
+/* Line 661 of lalr1.cc  */
+#line 4982 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AposAttrContentList( LOC((yyloc)) );
     }
     break;
 
-  case 551:
-
-/* Line 690 of lalr1.cc  */
-#line 4201 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-    {
-      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-    }
-    break;
-
   case 552:
+/* Line 661 of lalr1.cc  */
+#line 4986 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+    {
+      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+    }
+    break;
 
-/* Line 690 of lalr1.cc  */
-#line 4207 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 553:
+/* Line 661 of lalr1.cc  */
+#line 4993 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       AposAttrContentList *aacl = new AposAttrContentList( LOC((yyloc)) );
       aacl->push_back( new AposAttrValueContent( LOC((yyloc)),"'") );
@@ -8144,10 +7226,9 @@
     }
     break;
 
-  case 553:
-
-/* Line 690 of lalr1.cc  */
-#line 4213 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 554:
+/* Line 661 of lalr1.cc  */
+#line 4999 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       AposAttrContentList *aacl = new AposAttrContentList( LOC((yyloc)) );
       aacl->push_back( dynamic_cast<AposAttrValueContent*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -8155,10 +7236,9 @@
     }
     break;
 
-  case 554:
-
-/* Line 690 of lalr1.cc  */
-#line 4219 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 555:
+/* Line 661 of lalr1.cc  */
+#line 5005 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       AposAttrContentList *aacl = dynamic_cast<AposAttrContentList*>((yysemantic_stack_[(2) - (1)].node));
       if (aacl)
@@ -8167,10 +7247,9 @@
     }
     break;
 
-  case 555:
-
-/* Line 690 of lalr1.cc  */
-#line 4226 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 556:
+/* Line 661 of lalr1.cc  */
+#line 5012 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       AposAttrContentList *aacl = dynamic_cast<AposAttrContentList*>((yysemantic_stack_[(2) - (1)].node));
       if ( aacl )
@@ -8179,366 +7258,327 @@
     }
     break;
 
-  case 556:
-
-/* Line 690 of lalr1.cc  */
-#line 4235 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 557:
+/* Line 661 of lalr1.cc  */
+#line 5023 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new QuoteAttrValueContent( LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
     }
     break;
 
-  case 557:
-
-/* Line 690 of lalr1.cc  */
-#line 4239 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 558:
+/* Line 661 of lalr1.cc  */
+#line 5027 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new QuoteAttrValueContent(LOC((yyloc)), dynamic_cast<CommonContent*>((yysemantic_stack_[(1) - (1)].expr)));
     }
     break;
 
-  case 558:
-
-/* Line 690 of lalr1.cc  */
-#line 4245 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 559:
+/* Line 661 of lalr1.cc  */
+#line 5035 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AposAttrValueContent( LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
     }
     break;
 
-  case 559:
-
-/* Line 690 of lalr1.cc  */
-#line 4249 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 560:
+/* Line 661 of lalr1.cc  */
+#line 5039 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AposAttrValueContent(LOC((yyloc)), dynamic_cast<CommonContent*>((yysemantic_stack_[(1) - (1)].expr)));
     }
     break;
 
-  case 560:
-
-/* Line 690 of lalr1.cc  */
-#line 4255 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 561:
+/* Line 661 of lalr1.cc  */
+#line 5047 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new DirElemContent( LOC((yyloc)), (yysemantic_stack_[(1) - (1)].expr) );
     }
     break;
 
-  case 561:
-
-/* Line 690 of lalr1.cc  */
-#line 4259 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 562:
+/* Line 661 of lalr1.cc  */
+#line 5051 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new DirElemContent( LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
     }
     break;
 
-  case 562:
-
-/* Line 690 of lalr1.cc  */
-#line 4263 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 563:
+/* Line 661 of lalr1.cc  */
+#line 5055 "/Users/zorba/Code/zorba/release/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 );
     }
     break;
 
-  case 563:
-
-/* Line 690 of lalr1.cc  */
-#line 4268 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 564:
+/* Line 661 of lalr1.cc  */
+#line 5060 "/Users/zorba/Code/zorba/release/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 );
     }
     break;
 
-  case 564:
-
-/* Line 690 of lalr1.cc  */
-#line 4275 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 565:
+/* Line 661 of lalr1.cc  */
+#line 5069 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new CommonContent(LOC((yyloc)), ParseConstants::cont_charref, SYMTAB((yysemantic_stack_[(1) - (1)].sval)));
     }
     break;
 
-  case 565:
-
-/* Line 690 of lalr1.cc  */
-#line 4279 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 566:
+/* Line 661 of lalr1.cc  */
+#line 5073 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new CommonContent(LOC((yyloc)), ParseConstants::cont_escape_lbrace);
     }
     break;
 
-  case 566:
-
-/* Line 690 of lalr1.cc  */
-#line 4283 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 567:
+/* Line 661 of lalr1.cc  */
+#line 5077 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new CommonContent(LOC((yyloc)), ParseConstants::cont_escape_rbrace);
     }
     break;
 
-  case 567:
-
-/* Line 690 of lalr1.cc  */
-#line 4287 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 568:
+/* Line 661 of lalr1.cc  */
+#line 5081 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new CommonContent(LOC((yyloc)), new EnclosedExpr(LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr)));
     }
     break;
 
-  case 568:
-
-/* Line 690 of lalr1.cc  */
-#line 4293 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 569:
+/* Line 661 of lalr1.cc  */
+#line 5089 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new DirCommentConstructor( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (2)].sval)) );
     }
     break;
 
-  case 569:
-
-/* Line 690 of lalr1.cc  */
-#line 4298 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 570:
+/* Line 661 of lalr1.cc  */
+#line 5094 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new DirCommentConstructor( LOC((yyloc)), "" );
     }
     break;
 
-  case 570:
-
-/* Line 690 of lalr1.cc  */
-#line 4304 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 571:
+/* Line 661 of lalr1.cc  */
+#line 5102 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       ERROR_IF_QNAME_NOT_NCNAME((yysemantic_stack_[(3) - (2)].expr), (yylocation_stack_[(3) - (2)]));
       (yyval.expr) = new DirPIConstructor( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)) );
     }
     break;
 
-  case 571:
-
-/* Line 690 of lalr1.cc  */
-#line 4310 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 572:
+/* Line 661 of lalr1.cc  */
+#line 5108 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       ERROR_IF_QNAME_NOT_NCNAME((yysemantic_stack_[(3) - (2)].expr), (yylocation_stack_[(3) - (2)]));
       (yyval.expr) = new DirPIConstructor( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)), SYMTAB((yysemantic_stack_[(3) - (3)].sval)) );
     }
     break;
 
-  case 572:
-
-/* Line 690 of lalr1.cc  */
-#line 4317 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 573:
+/* Line 661 of lalr1.cc  */
+#line 5117 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new CDataSection( LOC((yyloc)),SYMTAB((yysemantic_stack_[(2) - (2)].sval)) );
     }
     break;
 
-  case 573:
-
-/* Line 690 of lalr1.cc  */
-#line 4323 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
-    break;
-
   case 574:
-
-/* Line 690 of lalr1.cc  */
-#line 4328 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 5125 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
     break;
 
   case 575:
-
-/* Line 690 of lalr1.cc  */
-#line 4333 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 5130 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
     break;
 
   case 576:
-
-/* Line 690 of lalr1.cc  */
-#line 4338 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 5135 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
     break;
 
   case 577:
-
-/* Line 690 of lalr1.cc  */
-#line 4343 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 5140 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
     break;
 
   case 578:
-
-/* Line 690 of lalr1.cc  */
-#line 4348 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
-    break;
-
-  case 580:
-
-/* Line 690 of lalr1.cc  */
-#line 4356 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 5145 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+    {
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+    }
+    break;
+
+  case 579:
+/* Line 661 of lalr1.cc  */
+#line 5150 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+    {
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+    }
+    break;
+
+  case 581:
+/* Line 661 of lalr1.cc  */
+#line 5161 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new CompDocConstructor( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
     }
     break;
 
-  case 581:
-
-/* Line 690 of lalr1.cc  */
-#line 4362 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 582:
+/* Line 661 of lalr1.cc  */
+#line 5169 "/Users/zorba/Code/zorba/release/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));
     }
     break;
 
-  case 582:
-
-/* Line 690 of lalr1.cc  */
-#line 4366 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 583:
+/* Line 661 of lalr1.cc  */
+#line 5173 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new CompElemConstructor( LOC((yyloc)), (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (6)].expr) );
     }
     break;
 
-  case 583:
-
-/* Line 690 of lalr1.cc  */
-#line 4372 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 584:
+/* Line 661 of lalr1.cc  */
+#line 5179 "/Users/zorba/Code/zorba/release/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) );
     }
     break;
 
-  case 584:
-
-/* Line 690 of lalr1.cc  */
-#line 4376 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 585:
+/* Line 661 of lalr1.cc  */
+#line 5183 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new CompAttrConstructor( LOC((yyloc)), (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (6)].expr) );
     }
     break;
 
-  case 585:
-
-/* Line 690 of lalr1.cc  */
-#line 4382 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 586:
+/* Line 661 of lalr1.cc  */
+#line 5191 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new CompTextConstructor( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
     }
     break;
 
-  case 586:
-
-/* Line 690 of lalr1.cc  */
-#line 4388 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 587:
+/* Line 661 of lalr1.cc  */
+#line 5199 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new CompCommentConstructor( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
     }
     break;
 
-  case 587:
-
-/* Line 690 of lalr1.cc  */
-#line 4394 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 588:
+/* Line 661 of lalr1.cc  */
+#line 5207 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new CompPIConstructor(LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (1)].sval)), (yysemantic_stack_[(3) - (2)].expr));
     }
     break;
 
-  case 588:
-
-/* Line 690 of lalr1.cc  */
-#line 4398 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 589:
+/* Line 661 of lalr1.cc  */
+#line 5211 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new CompPIConstructor(LOC((yyloc)), (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (6)].expr));
     }
     break;
 
-  case 589:
-
-/* Line 690 of lalr1.cc  */
-#line 4404 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 590:
+/* Line 661 of lalr1.cc  */
+#line 5219 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new CompNamespaceConstructor(LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (1)].sval)), (yysemantic_stack_[(3) - (2)].expr));
     }
     break;
 
-  case 590:
-
-/* Line 690 of lalr1.cc  */
-#line 4408 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 591:
+/* Line 661 of lalr1.cc  */
+#line 5223 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new CompNamespaceConstructor(LOC((yyloc)), (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (6)].expr));
     }
     break;
 
-  case 591:
-
-/* Line 690 of lalr1.cc  */
-#line 4414 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-    {
-      (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
-    }
-    break;
-
   case 592:
+/* Line 661 of lalr1.cc  */
+#line 5231 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+    {
+      (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
+    }
+    break;
 
-/* Line 690 of lalr1.cc  */
-#line 4420 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 593:
+/* Line 661 of lalr1.cc  */
+#line 5239 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new SequenceTypeAST( LOC((yyloc)), (yysemantic_stack_[(1) - (1)].node), NULL );
         }
     break;
 
-  case 593:
-
-/* Line 690 of lalr1.cc  */
-#line 4424 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 594:
+/* Line 661 of lalr1.cc  */
+#line 5243 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new SequenceTypeAST(LOC((yyloc)), (yysemantic_stack_[(2) - (1)].node), dynamic_cast<OccurrenceIndicator*>((yysemantic_stack_[(2) - (2)].node)));
         }
     break;
 
-  case 594:
-
-/* Line 690 of lalr1.cc  */
-#line 4428 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-    {
-            (yyval.node) = new SequenceTypeAST( LOC((yyloc)), NULL, NULL );
-        }
-    break;
-
   case 595:
-
-/* Line 690 of lalr1.cc  */
-#line 4432 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-    {
+/* Line 661 of lalr1.cc  */
+#line 5247 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.node) = new SequenceTypeAST( LOC((yyloc)), NULL, NULL );
+        }
+    break;
+
+  case 596:
+/* Line 661 of lalr1.cc  */
+#line 5253 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+    {
+
             driver.addCommonLanguageWarning((yylocation_stack_[(2) - (1)]), ZED(ZWST0009_JSONIQ_EMPTY_SEQUENCE));
             (yyval.node) = new SequenceTypeAST( LOC((yyloc)), NULL, NULL );
         }
     break;
 
-  case 596:
-
-/* Line 690 of lalr1.cc  */
-#line 4439 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 597:
+/* Line 661 of lalr1.cc  */
+#line 5262 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OccurrenceIndicator(
                 LOC((yyloc)), ParseConstants::occurs_optionally
@@ -8546,10 +7586,9 @@
         }
     break;
 
-  case 597:
-
-/* Line 690 of lalr1.cc  */
-#line 4445 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 598:
+/* Line 661 of lalr1.cc  */
+#line 5268 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OccurrenceIndicator(
                 LOC((yyloc)), ParseConstants::occurs_zero_or_more
@@ -8557,10 +7596,9 @@
         }
     break;
 
-  case 598:
-
-/* Line 690 of lalr1.cc  */
-#line 4451 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 599:
+/* Line 661 of lalr1.cc  */
+#line 5274 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OccurrenceIndicator(
                 LOC((yyloc)), ParseConstants::occurs_one_or_more
@@ -8568,35 +7606,41 @@
         }
     break;
 
-  case 599:
-
-/* Line 690 of lalr1.cc  */
-#line 4459 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 600:
+/* Line 661 of lalr1.cc  */
+#line 5284 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             GeneralizedAtomicType* gat = static_cast<GeneralizedAtomicType*>((yysemantic_stack_[(1) - (1)].node));
             QName* q = gat->get_qname();
+
+
             if (q->get_qname() == "item")
             {
+
               driver.addCommonLanguageWarning((yylocation_stack_[(1) - (1)]), ZED(ZWST0009_JSONIQ_TYPE_KEYWORDS));
               (yyval.node) = new ItemType( LOC((yyloc)), true );
             }
             else if (q->get_qname() == "array")
             {
+
               driver.addCommonLanguageWarning((yylocation_stack_[(1) - (1)]), ZED(ZWST0009_JSONIQ_TYPE_KEYWORDS));
               (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonArray);
             }
             else if (q->get_qname() == "object")
             {
+
               driver.addCommonLanguageWarning((yylocation_stack_[(1) - (1)]), ZED(ZWST0009_JSONIQ_TYPE_KEYWORDS));
               (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonObject);
             }
             else if (q->get_qname() == "json-item")
             {
+
               driver.addCommonLanguageWarning((yylocation_stack_[(1) - (1)]), ZED(ZWST0009_JSONIQ_TYPE_KEYWORDS));
               (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonItem);
             }
             else if (q->get_qname() == "structured-item")
             {
+
               driver.addCommonLanguageWarning((yylocation_stack_[(1) - (1)]), ZED(ZWST0009_JSONIQ_TYPE_KEYWORDS));
               (yyval.node) = new StructuredItemType(LOC((yyloc)));
             }
@@ -8604,67 +7648,63 @@
             {
               (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
             }
-        }
-    break;
-
-  case 600:
-
-/* Line 690 of lalr1.cc  */
-#line 4493 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+
+
+
         }
     break;
 
   case 601:
+/* Line 661 of lalr1.cc  */
+#line 5328 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
 
-/* Line 690 of lalr1.cc  */
-#line 4497 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 602:
+/* Line 661 of lalr1.cc  */
+#line 5332 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ItemType( LOC((yyloc)), true );
         }
     break;
 
-  case 602:
-
-/* Line 690 of lalr1.cc  */
-#line 4501 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 603:
+/* Line 661 of lalr1.cc  */
+#line 5336 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new StructuredItemType(LOC((yyloc)));
         }
     break;
 
-  case 603:
-
-/* Line 690 of lalr1.cc  */
-#line 4505 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
   case 604:
-
-/* Line 690 of lalr1.cc  */
-#line 4509 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 5340 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
   case 605:
-
-/* Line 690 of lalr1.cc  */
-#line 4513 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 5344 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
   case 606:
+/* Line 661 of lalr1.cc  */
+#line 5348 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
 
-/* Line 690 of lalr1.cc  */
-#line 4519 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 607:
+/* Line 661 of lalr1.cc  */
+#line 5355 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
           TypeList* aTypeList = new TypeList(LOC ((yyloc)));
           aTypeList->push_back(dynamic_cast<SequenceTypeAST *>((yysemantic_stack_[(1) - (1)].node)));
@@ -8672,10 +7712,9 @@
         }
     break;
 
-  case 607:
-
-/* Line 690 of lalr1.cc  */
-#line 4525 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 608:
+/* Line 661 of lalr1.cc  */
+#line 5361 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
           TypeList* aTypeList = dynamic_cast<TypeList *>((yysemantic_stack_[(3) - (1)].node));
           aTypeList->push_back(dynamic_cast<SequenceTypeAST *>((yysemantic_stack_[(3) - (3)].node)));
@@ -8683,227 +7722,202 @@
         }
     break;
 
-  case 608:
-
-/* Line 690 of lalr1.cc  */
-#line 4533 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 609:
+/* Line 661 of lalr1.cc  */
+#line 5371 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new GeneralizedAtomicType( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
     }
     break;
 
-  case 609:
-
-/* Line 690 of lalr1.cc  */
-#line 4539 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 610:
+/* Line 661 of lalr1.cc  */
+#line 5379 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new SimpleType( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
     }
     break;
 
-  case 610:
-
-/* Line 690 of lalr1.cc  */
-#line 4545 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-    {
-      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-    }
-    break;
-
   case 611:
-
-/* Line 690 of lalr1.cc  */
-#line 4549 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 5387 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
     break;
 
   case 612:
-
-/* Line 690 of lalr1.cc  */
-#line 4553 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 5391 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
     break;
 
   case 613:
-
-/* Line 690 of lalr1.cc  */
-#line 4557 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 5395 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
     break;
 
   case 614:
-
-/* Line 690 of lalr1.cc  */
-#line 4561 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 5399 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
     break;
 
   case 615:
-
-/* Line 690 of lalr1.cc  */
-#line 4565 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 5403 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
     break;
 
   case 616:
-
-/* Line 690 of lalr1.cc  */
-#line 4569 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 5407 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
     break;
 
   case 617:
-
-/* Line 690 of lalr1.cc  */
-#line 4573 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 5411 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
     break;
 
   case 618:
-
-/* Line 690 of lalr1.cc  */
-#line 4577 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 5415 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
     break;
 
   case 619:
-
-/* Line 690 of lalr1.cc  */
-#line 4581 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 5419 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
     break;
 
   case 620:
+/* Line 661 of lalr1.cc  */
+#line 5423 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+    {
+      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+    }
+    break;
 
-/* Line 690 of lalr1.cc  */
-#line 4587 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 621:
+/* Line 661 of lalr1.cc  */
+#line 5431 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AnyKindTest( LOC((yyloc)) );
     }
     break;
 
-  case 621:
-
-/* Line 690 of lalr1.cc  */
-#line 4593 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-    {
-      (yyval.expr) = NULL;
-    }
-    break;
-
   case 622:
+/* Line 661 of lalr1.cc  */
+#line 5438 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+    {
+      (yyval.expr) = NULL;
+    }
+    break;
 
-/* Line 690 of lalr1.cc  */
-#line 4599 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 623:
+/* Line 661 of lalr1.cc  */
+#line 5445 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new DocumentTest(LOC((yyloc)));
     }
     break;
 
-  case 623:
-
-/* Line 690 of lalr1.cc  */
-#line 4603 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 624:
+/* Line 661 of lalr1.cc  */
+#line 5449 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new DocumentTest(LOC((yyloc)), dynamic_cast<ElementTest*>((yysemantic_stack_[(4) - (3)].node)));
     }
     break;
 
-  case 624:
-
-/* Line 690 of lalr1.cc  */
-#line 4607 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 625:
+/* Line 661 of lalr1.cc  */
+#line 5453 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new DocumentTest(LOC((yyloc)), dynamic_cast<SchemaElementTest*>((yysemantic_stack_[(4) - (3)].node)));
     }
     break;
 
-  case 625:
-
-/* Line 690 of lalr1.cc  */
-#line 4613 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 626:
+/* Line 661 of lalr1.cc  */
+#line 5461 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new NamespaceTest(LOC((yyloc)));
     }
     break;
 
-  case 626:
-
-/* Line 690 of lalr1.cc  */
-#line 4618 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 627:
+/* Line 661 of lalr1.cc  */
+#line 5468 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new TextTest(LOC((yyloc)));
     }
     break;
 
-  case 627:
-
-/* Line 690 of lalr1.cc  */
-#line 4624 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 628:
+/* Line 661 of lalr1.cc  */
+#line 5476 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CommentTest(LOC((yyloc)));
     }
     break;
 
-  case 628:
-
-/* Line 690 of lalr1.cc  */
-#line 4630 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 629:
+/* Line 661 of lalr1.cc  */
+#line 5484 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new PITest( LOC((yyloc)), "" );
         }
     break;
 
-  case 629:
-
-/* Line 690 of lalr1.cc  */
-#line 4634 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 630:
+/* Line 661 of lalr1.cc  */
+#line 5488 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             ERROR_IF_QNAME_NOT_NCNAME((yysemantic_stack_[(4) - (3)].expr), (yylocation_stack_[(4) - (3)]));
             (yyval.node) = new PITest( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)) );
         }
     break;
 
-  case 630:
-
-/* Line 690 of lalr1.cc  */
-#line 4639 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 631:
+/* Line 661 of lalr1.cc  */
+#line 5493 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new PITest( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (3)].sval)) );
         }
     break;
 
-  case 631:
-
-/* Line 690 of lalr1.cc  */
-#line 4645 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-    {
-            (yyval.node) = new AttributeTest( LOC((yyloc)), NULL, NULL );
-        }
-    break;
-
   case 632:
+/* Line 661 of lalr1.cc  */
+#line 5501 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.node) = new AttributeTest( LOC((yyloc)), NULL, NULL );
+        }
+    break;
 
-/* Line 690 of lalr1.cc  */
-#line 4649 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 633:
+/* Line 661 of lalr1.cc  */
+#line 5505 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new AttributeTest(
                 LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)), NULL
@@ -8911,10 +7925,9 @@
         }
     break;
 
-  case 633:
-
-/* Line 690 of lalr1.cc  */
-#line 4655 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 634:
+/* Line 661 of lalr1.cc  */
+#line 5511 "/Users/zorba/Code/zorba/release/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))
@@ -8922,19 +7935,17 @@
         }
     break;
 
-  case 634:
-
-/* Line 690 of lalr1.cc  */
-#line 4661 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-    {
-            (yyval.node) = new AttributeTest( LOC((yyloc)), NULL, NULL );
-        }
-    break;
-
   case 635:
+/* Line 661 of lalr1.cc  */
+#line 5517 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.node) = new AttributeTest( LOC((yyloc)), NULL, NULL );
+        }
+    break;
 
-/* Line 690 of lalr1.cc  */
-#line 4665 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 636:
+/* Line 661 of lalr1.cc  */
+#line 5521 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new AttributeTest(
                 LOC((yyloc)), NULL, dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node))
@@ -8942,28 +7953,25 @@
         }
     break;
 
-  case 636:
-
-/* Line 690 of lalr1.cc  */
-#line 4673 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 637:
+/* Line 661 of lalr1.cc  */
+#line 5531 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new SchemaAttributeTest( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)) );
         }
     break;
 
-  case 637:
-
-/* Line 690 of lalr1.cc  */
-#line 4679 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 638:
+/* Line 661 of lalr1.cc  */
+#line 5539 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ElementTest( LOC((yyloc)), NULL, NULL, true );
         }
     break;
 
-  case 638:
-
-/* Line 690 of lalr1.cc  */
-#line 4683 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 639:
+/* Line 661 of lalr1.cc  */
+#line 5543 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ElementTest(
                 LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)), NULL, true
@@ -8971,10 +7979,9 @@
         }
     break;
 
-  case 639:
-
-/* Line 690 of lalr1.cc  */
-#line 4689 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 640:
+/* Line 661 of lalr1.cc  */
+#line 5549 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ElementTest(
                 LOC((yyloc)),
@@ -8985,10 +7992,9 @@
         }
     break;
 
-  case 640:
-
-/* Line 690 of lalr1.cc  */
-#line 4698 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 641:
+/* Line 661 of lalr1.cc  */
+#line 5558 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ElementTest(
                 LOC((yyloc)),
@@ -8999,10 +8005,9 @@
         }
     break;
 
-  case 641:
-
-/* Line 690 of lalr1.cc  */
-#line 4707 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 642:
+/* Line 661 of lalr1.cc  */
+#line 5567 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ElementTest(
                 LOC((yyloc)), NULL, NULL, true
@@ -9010,10 +8015,9 @@
         }
     break;
 
-  case 642:
-
-/* Line 690 of lalr1.cc  */
-#line 4713 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 643:
+/* Line 661 of lalr1.cc  */
+#line 5573 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ElementTest(
                 LOC((yyloc)), NULL, dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node)), false
@@ -9021,10 +8025,9 @@
         }
     break;
 
-  case 643:
-
-/* Line 690 of lalr1.cc  */
-#line 4719 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 644:
+/* Line 661 of lalr1.cc  */
+#line 5579 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ElementTest(
                 LOC((yyloc)), NULL, dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node)), true
@@ -9032,82 +8035,73 @@
         }
     break;
 
-  case 644:
-
-/* Line 690 of lalr1.cc  */
-#line 4727 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 645:
+/* Line 661 of lalr1.cc  */
+#line 5589 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new SchemaElementTest( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)) );
         }
     break;
 
-  case 645:
-
-/* Line 690 of lalr1.cc  */
-#line 4733 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 646:
+/* Line 661 of lalr1.cc  */
+#line 5595 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new TypeName( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
         }
     break;
 
-  case 646:
-
-/* Line 690 of lalr1.cc  */
-#line 4739 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 647:
+/* Line 661 of lalr1.cc  */
+#line 5602 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new TypeName( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(2) - (1)].expr)), true );
         }
     break;
 
-  case 647:
-
-/* Line 690 of lalr1.cc  */
-#line 4745 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 648:
+/* Line 661 of lalr1.cc  */
+#line 5608 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new StringLiteral( LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
         }
     break;
 
-  case 648:
-
-/* Line 690 of lalr1.cc  */
-#line 4751 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-    {
-      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-    }
-    break;
-
   case 649:
-
-/* Line 690 of lalr1.cc  */
-#line 4755 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 5614 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
     break;
 
   case 650:
+/* Line 661 of lalr1.cc  */
+#line 5618 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+    {
+      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+    }
+    break;
 
-/* Line 690 of lalr1.cc  */
-#line 4761 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 651:
+/* Line 661 of lalr1.cc  */
+#line 5626 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AnyFunctionTest(LOC((yyloc)));
     }
     break;
 
-  case 651:
-
-/* Line 690 of lalr1.cc  */
-#line 4767 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 652:
+/* Line 661 of lalr1.cc  */
+#line 5634 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.node) = new TypedFunctionTest(LOC ((yyloc)), dynamic_cast<SequenceTypeAST *>((yysemantic_stack_[(5) - (5)].node)));
         }
     break;
 
-  case 652:
-
-/* Line 690 of lalr1.cc  */
-#line 4771 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 653:
+/* Line 661 of lalr1.cc  */
+#line 5638 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.node) = new TypedFunctionTest(LOC ((yyloc)),
               dynamic_cast<TypeList *>((yysemantic_stack_[(6) - (3)].node)),
@@ -9115,19 +8109,17 @@
         }
     break;
 
-  case 653:
-
-/* Line 690 of lalr1.cc  */
-#line 4779 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 654:
+/* Line 661 of lalr1.cc  */
+#line 5649 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
            (yyval.node) = (yysemantic_stack_[(3) - (2)].node);
         }
     break;
 
-  case 654:
-
-/* Line 690 of lalr1.cc  */
-#line 4785 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 655:
+/* Line 661 of lalr1.cc  */
+#line 5655 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new RevalidationDecl(
                 LOC((yyloc)), StaticContextConsts::strict_validation
@@ -9135,10 +8127,9 @@
         }
     break;
 
-  case 655:
-
-/* Line 690 of lalr1.cc  */
-#line 4791 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 656:
+/* Line 661 of lalr1.cc  */
+#line 5661 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new RevalidationDecl(
                 LOC((yyloc)), StaticContextConsts::lax_validation
@@ -9146,10 +8137,9 @@
         }
     break;
 
-  case 656:
-
-/* Line 690 of lalr1.cc  */
-#line 4797 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 657:
+/* Line 661 of lalr1.cc  */
+#line 5667 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new RevalidationDecl(
                 LOC((yyloc)), StaticContextConsts::skip_validation
@@ -9157,30 +8147,27 @@
         }
     break;
 
-  case 657:
-
-/* Line 690 of lalr1.cc  */
-#line 4805 "/home/markos/zorba/repo/type-api/build-nocc-g/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) );
-        }
-    break;
-
   case 658:
-
-/* Line 690 of lalr1.cc  */
-#line 4809 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 5677 "/Users/zorba/Code/zorba/release/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)
-            );
+            (yyval.expr) = new InsertExpr( LOC((yyloc)), store::UpdateConsts::INTO, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
         }
     break;
 
   case 659:
+/* Line 661 of lalr1.cc  */
+#line 5681 "/Users/zorba/Code/zorba/release/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)
+            );
+        }
+    break;
 
-/* Line 690 of lalr1.cc  */
-#line 4815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 660:
+/* Line 661 of lalr1.cc  */
+#line 5687 "/Users/zorba/Code/zorba/release/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)
@@ -9188,50 +8175,45 @@
         }
     break;
 
-  case 660:
-
-/* Line 690 of lalr1.cc  */
-#line 4821 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 661:
+/* Line 661 of lalr1.cc  */
+#line 5693 "/Users/zorba/Code/zorba/release/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) );
         }
     break;
 
-  case 661:
-
-/* Line 690 of lalr1.cc  */
-#line 4825 "/home/markos/zorba/repo/type-api/build-nocc-g/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)
-            );
-        }
-    break;
-
   case 662:
-
-/* Line 690 of lalr1.cc  */
-#line 4831 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 5697 "/Users/zorba/Code/zorba/release/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) );
+            (yyval.expr) = new InsertExpr(
+                LOC ((yyloc)), store::UpdateConsts::BEFORE, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr)
+            );
         }
     break;
 
   case 663:
-
-/* Line 690 of lalr1.cc  */
-#line 4835 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 5703 "/Users/zorba/Code/zorba/release/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)
-            );
+            (yyval.expr) = new InsertExpr( LOC((yyloc)), store::UpdateConsts::INTO, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
         }
     break;
 
   case 664:
+/* Line 661 of lalr1.cc  */
+#line 5707 "/Users/zorba/Code/zorba/release/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)
+            );
+        }
+    break;
 
-/* Line 690 of lalr1.cc  */
-#line 4841 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 665:
+/* Line 661 of lalr1.cc  */
+#line 5713 "/Users/zorba/Code/zorba/release/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)
@@ -9239,10 +8221,9 @@
         }
     break;
 
-  case 665:
-
-/* Line 690 of lalr1.cc  */
-#line 4847 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 666:
+/* Line 661 of lalr1.cc  */
+#line 5719 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new InsertExpr(
                 LOC ((yyloc)),
@@ -9251,39 +8232,35 @@
         }
     break;
 
-  case 666:
-
-/* Line 690 of lalr1.cc  */
-#line 4854 "/home/markos/zorba/repo/type-api/build-nocc-g/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)
-            );
-        }
-    break;
-
   case 667:
-
-/* Line 690 of lalr1.cc  */
-#line 4862 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 5726 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = new DeleteExpr( LOC ((yyloc)), (yysemantic_stack_[(3) - (3)].expr) );
+            (yyval.expr) = new InsertExpr(
+                LOC ((yyloc)), store::UpdateConsts::BEFORE, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr)
+            );
         }
     break;
 
   case 668:
-
-/* Line 690 of lalr1.cc  */
-#line 4867 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 5736 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new DeleteExpr( LOC ((yyloc)), (yysemantic_stack_[(3) - (3)].expr) );
         }
     break;
 
   case 669:
+/* Line 661 of lalr1.cc  */
+#line 5741 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.expr) = new DeleteExpr( LOC ((yyloc)), (yysemantic_stack_[(3) - (3)].expr) );
+        }
+    break;
 
-/* Line 690 of lalr1.cc  */
-#line 4873 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 670:
+/* Line 661 of lalr1.cc  */
+#line 5749 "/Users/zorba/Code/zorba/release/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)
@@ -9291,10 +8268,9 @@
         }
     break;
 
-  case 670:
-
-/* Line 690 of lalr1.cc  */
-#line 4879 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 671:
+/* Line 661 of lalr1.cc  */
+#line 5755 "/Users/zorba/Code/zorba/release/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)
@@ -9302,29 +8278,26 @@
         }
     break;
 
-  case 671:
-
-/* Line 690 of lalr1.cc  */
-#line 4887 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 672:
+/* Line 661 of lalr1.cc  */
+#line 5765 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new RenameExpr( LOC ((yyloc)), (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
         }
     break;
 
-  case 672:
-
-/* Line 690 of lalr1.cc  */
-#line 4893 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 673:
+/* Line 661 of lalr1.cc  */
+#line 5771 "/Users/zorba/Code/zorba/release/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) );
     }
     break;
 
-  case 673:
-
-/* Line 690 of lalr1.cc  */
-#line 4900 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 674:
+/* Line 661 of lalr1.cc  */
+#line 5780 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
       CopyVarList* lList = new CopyVarList(LOC((yyloc)));
       lList->push_back (dynamic_cast<VarBinding*> ((yysemantic_stack_[(1) - (1)].expr)));
@@ -9332,10 +8305,9 @@
     }
     break;
 
-  case 674:
-
-/* Line 690 of lalr1.cc  */
-#line 4906 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 675:
+/* Line 661 of lalr1.cc  */
+#line 5786 "/Users/zorba/Code/zorba/release/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));
@@ -9344,28 +8316,25 @@
     }
     break;
 
-  case 675:
-
-/* Line 690 of lalr1.cc  */
-#line 4915 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 676:
+/* Line 661 of lalr1.cc  */
+#line 5799 "/Users/zorba/Code/zorba/release/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));
     }
     break;
 
-  case 676:
-
-/* Line 690 of lalr1.cc  */
-#line 4921 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 677:
+/* Line 661 of lalr1.cc  */
+#line 5805 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new TryExpr( LOC((yyloc)), (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
         }
     break;
 
-  case 677:
-
-/* Line 690 of lalr1.cc  */
-#line 4927 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 678:
+/* Line 661 of lalr1.cc  */
+#line 5812 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             CatchListExpr *cle = new CatchListExpr( LOC((yyloc)) );
             cle->push_back( static_cast<CatchExpr*>((yysemantic_stack_[(1) - (1)].expr)) );
@@ -9373,10 +8342,9 @@
         }
     break;
 
-  case 678:
-
-/* Line 690 of lalr1.cc  */
-#line 4933 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 679:
+/* Line 661 of lalr1.cc  */
+#line 5818 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             CatchListExpr *cle = dynamic_cast<CatchListExpr*>((yysemantic_stack_[(2) - (1)].expr));
             if ( cle )
@@ -9385,29 +8353,26 @@
         }
     break;
 
-  case 679:
-
-/* Line 690 of lalr1.cc  */
-#line 4942 "/home/markos/zorba/repo/type-api/build-nocc-g/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);
-    }
-    break;
-
   case 680:
-
-/* Line 690 of lalr1.cc  */
-#line 4949 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 5828 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
+       (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);
     }
     break;
 
   case 681:
+/* Line 661 of lalr1.cc  */
+#line 5837 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+    {
+      (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
+    }
+    break;
 
-/* Line 690 of lalr1.cc  */
-#line 4955 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 682:
+/* Line 661 of lalr1.cc  */
+#line 5845 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             CatchExpr::NameTestList *ntl = new CatchExpr::NameTestList;
             ntl->push_back( static_cast<NameTest*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -9415,10 +8380,9 @@
         }
     break;
 
-  case 682:
-
-/* Line 690 of lalr1.cc  */
-#line 4961 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 683:
+/* Line 661 of lalr1.cc  */
+#line 5851 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             CatchExpr::NameTestList *ntl =
                 static_cast<CatchExpr::NameTestList*>((yysemantic_stack_[(3) - (1)].name_test_list));
@@ -9427,121 +8391,108 @@
         }
     break;
 
-  case 683:
-
-/* Line 690 of lalr1.cc  */
-#line 4970 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 684:
+/* Line 661 of lalr1.cc  */
+#line 5860 "/Users/zorba/Code/zorba/release/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);
         }
     break;
 
-  case 684:
-
-/* Line 690 of lalr1.cc  */
-#line 4977 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 685:
+/* Line 661 of lalr1.cc  */
+#line 5868 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.pos_filter_list) = NULL;
         }
     break;
 
-  case 685:
-
-/* Line 690 of lalr1.cc  */
-#line 4981 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 686:
+/* Line 661 of lalr1.cc  */
+#line 5872 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.pos_filter_list) = (yysemantic_stack_[(1) - (1)].pos_filter_list);
         }
     break;
 
-  case 686:
-
-/* Line 690 of lalr1.cc  */
-#line 4987 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 687:
+/* Line 661 of lalr1.cc  */
+#line 5879 "/Users/zorba/Code/zorba/release/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)) );
         }
     break;
 
-  case 687:
-
-/* Line 690 of lalr1.cc  */
-#line 4992 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 688:
+/* Line 661 of lalr1.cc  */
+#line 5884 "/Users/zorba/Code/zorba/release/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);
         }
     break;
 
-  case 688:
-
-/* Line 690 of lalr1.cc  */
-#line 4999 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
   case 689:
+/* Line 661 of lalr1.cc  */
+#line 5892 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
 
-/* Line 690 of lalr1.cc  */
-#line 5003 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 690:
+/* Line 661 of lalr1.cc  */
+#line 5896 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTOr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].node), (yysemantic_stack_[(3) - (3)].node) );
         }
     break;
 
-  case 690:
-
-/* Line 690 of lalr1.cc  */
-#line 5009 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
   case 691:
+/* Line 661 of lalr1.cc  */
+#line 5903 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
 
-/* Line 690 of lalr1.cc  */
-#line 5013 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 692:
+/* Line 661 of lalr1.cc  */
+#line 5907 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTAnd( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].node), (yysemantic_stack_[(3) - (3)].node) );
         }
     break;
 
-  case 692:
-
-/* Line 690 of lalr1.cc  */
-#line 5019 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
   case 693:
+/* Line 661 of lalr1.cc  */
+#line 5914 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
 
-/* Line 690 of lalr1.cc  */
-#line 5023 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 694:
+/* Line 661 of lalr1.cc  */
+#line 5918 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTMildNot( LOC((yyloc)), (yysemantic_stack_[(4) - (1)].node), (yysemantic_stack_[(4) - (4)].node) );
         }
     break;
 
-  case 694:
-
-/* Line 690 of lalr1.cc  */
-#line 5029 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
   case 695:
+/* Line 661 of lalr1.cc  */
+#line 5925 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
 
-/* Line 690 of lalr1.cc  */
-#line 5033 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 696:
+/* Line 661 of lalr1.cc  */
+#line 5929 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTUnaryNot(
                 LOC((yyloc)), dynamic_cast<FTPrimaryWithOptions*>((yysemantic_stack_[(2) - (2)].node))
@@ -9549,10 +8500,9 @@
         }
     break;
 
-  case 696:
-
-/* Line 690 of lalr1.cc  */
-#line 5041 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 697:
+/* Line 661 of lalr1.cc  */
+#line 5938 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTPrimaryWithOptions(
                 LOC((yyloc)),
@@ -9563,55 +8513,49 @@
         }
     break;
 
-  case 697:
-
-/* Line 690 of lalr1.cc  */
-#line 5051 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-    {
-            (yyval.node) = NULL;
-        }
-    break;
-
   case 698:
-
-/* Line 690 of lalr1.cc  */
-#line 5055 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 5950 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            (yyval.node) = NULL;
         }
     break;
 
   case 699:
-
-/* Line 690 of lalr1.cc  */
-#line 5060 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 5954 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = NULL;
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
   case 700:
-
-/* Line 690 of lalr1.cc  */
-#line 5064 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 5961 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            (yyval.node) = NULL;
         }
     break;
 
   case 701:
+/* Line 661 of lalr1.cc  */
+#line 5965 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
 
-/* Line 690 of lalr1.cc  */
-#line 5070 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 702:
+/* Line 661 of lalr1.cc  */
+#line 5973 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTWeight( LOC((yyloc)), dynamic_cast<exprnode*>((yysemantic_stack_[(4) - (3)].expr)) );
         }
     break;
 
-  case 702:
-
-/* Line 690 of lalr1.cc  */
-#line 5076 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 703:
+/* Line 661 of lalr1.cc  */
+#line 5981 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTWordsTimes(
                 LOC((yyloc)),
@@ -9621,46 +8565,41 @@
         }
     break;
 
-  case 703:
-
-/* Line 690 of lalr1.cc  */
-#line 5084 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 704:
+/* Line 661 of lalr1.cc  */
+#line 5989 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(3) - (2)].node);
         }
     break;
 
-  case 704:
-
-/* Line 690 of lalr1.cc  */
-#line 5088 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
   case 705:
-
-/* Line 690 of lalr1.cc  */
-#line 5093 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 5993 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = NULL;
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
   case 706:
-
-/* Line 690 of lalr1.cc  */
-#line 5097 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 6000 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            (yyval.node) = NULL;
         }
     break;
 
   case 707:
+/* Line 661 of lalr1.cc  */
+#line 6004 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
 
-/* Line 690 of lalr1.cc  */
-#line 5103 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 708:
+/* Line 661 of lalr1.cc  */
+#line 6012 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTExtensionSelection(
                 LOC((yyloc)),
@@ -9670,28 +8609,25 @@
         }
     break;
 
-  case 708:
-
-/* Line 690 of lalr1.cc  */
-#line 5112 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-    {
-            (yyval.node) = NULL;
-        }
-    break;
-
   case 709:
-
-/* Line 690 of lalr1.cc  */
-#line 5116 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 6023 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            (yyval.node) = NULL;
         }
     break;
 
   case 710:
+/* Line 661 of lalr1.cc  */
+#line 6027 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
 
-/* Line 690 of lalr1.cc  */
-#line 5122 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 711:
+/* Line 661 of lalr1.cc  */
+#line 6035 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTWords(
                 LOC((yyloc)),
@@ -9701,10 +8637,9 @@
         }
     break;
 
-  case 711:
-
-/* Line 690 of lalr1.cc  */
-#line 5132 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 712:
+/* Line 661 of lalr1.cc  */
+#line 6047 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTWordsValue(
                 LOC((yyloc)), static_cast<StringLiteral*>((yysemantic_stack_[(1) - (1)].expr)), NULL
@@ -9712,10 +8647,9 @@
         }
     break;
 
-  case 712:
-
-/* Line 690 of lalr1.cc  */
-#line 5138 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 713:
+/* Line 661 of lalr1.cc  */
+#line 6053 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTWordsValue(
                 LOC((yyloc)), NULL, dynamic_cast<exprnode*>((yysemantic_stack_[(3) - (2)].expr))
@@ -9723,145 +8657,129 @@
         }
     break;
 
-  case 713:
-
-/* Line 690 of lalr1.cc  */
-#line 5145 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 714:
+/* Line 661 of lalr1.cc  */
+#line 6062 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTAnyallOption( LOC((yyloc)), ft_anyall_mode::any );
         }
     break;
 
-  case 714:
-
-/* Line 690 of lalr1.cc  */
-#line 5149 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
   case 715:
-
-/* Line 690 of lalr1.cc  */
-#line 5155 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 6066 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = new FTAnyallOption( LOC((yyloc)), (yysemantic_stack_[(2) - (2)].ft_anyall_value) );
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
   case 716:
-
-/* Line 690 of lalr1.cc  */
-#line 5159 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 6074 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTAnyallOption( LOC((yyloc)), (yysemantic_stack_[(2) - (2)].ft_anyall_value) );
         }
     break;
 
   case 717:
+/* Line 661 of lalr1.cc  */
+#line 6078 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.node) = new FTAnyallOption( LOC((yyloc)), (yysemantic_stack_[(2) - (2)].ft_anyall_value) );
+        }
+    break;
 
-/* Line 690 of lalr1.cc  */
-#line 5163 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 718:
+/* Line 661 of lalr1.cc  */
+#line 6082 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTAnyallOption( LOC((yyloc)), ft_anyall_mode::phrase );
         }
     break;
 
-  case 718:
-
-/* Line 690 of lalr1.cc  */
-#line 5168 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 719:
+/* Line 661 of lalr1.cc  */
+#line 6089 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.ft_anyall_value) = ft_anyall_mode::any;
         }
     break;
 
-  case 719:
-
-/* Line 690 of lalr1.cc  */
-#line 5172 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 720:
+/* Line 661 of lalr1.cc  */
+#line 6093 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.ft_anyall_value) = ft_anyall_mode::any_word;
         }
     break;
 
-  case 720:
-
-/* Line 690 of lalr1.cc  */
-#line 5177 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 721:
+/* Line 661 of lalr1.cc  */
+#line 6100 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.ft_anyall_value) = ft_anyall_mode::all;
         }
     break;
 
-  case 721:
-
-/* Line 690 of lalr1.cc  */
-#line 5181 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 722:
+/* Line 661 of lalr1.cc  */
+#line 6104 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.ft_anyall_value) = ft_anyall_mode::all_words;
         }
     break;
 
-  case 722:
-
-/* Line 690 of lalr1.cc  */
-#line 5187 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
   case 723:
-
-/* Line 690 of lalr1.cc  */
-#line 5191 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 6112 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
   case 724:
-
-/* Line 690 of lalr1.cc  */
-#line 5195 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 6116 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
   case 725:
-
-/* Line 690 of lalr1.cc  */
-#line 5199 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 6120 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
   case 726:
-
-/* Line 690 of lalr1.cc  */
-#line 5203 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 6124 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
   case 727:
+/* Line 661 of lalr1.cc  */
+#line 6128 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
 
-/* Line 690 of lalr1.cc  */
-#line 5209 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 728:
+/* Line 661 of lalr1.cc  */
+#line 6136 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTOrder( LOC((yyloc)) );
         }
     break;
 
-  case 728:
-
-/* Line 690 of lalr1.cc  */
-#line 5215 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 729:
+/* Line 661 of lalr1.cc  */
+#line 6144 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTWindow(
                 LOC((yyloc)),
@@ -9871,10 +8789,9 @@
         }
     break;
 
-  case 729:
-
-/* Line 690 of lalr1.cc  */
-#line 5225 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 730:
+/* Line 661 of lalr1.cc  */
+#line 6156 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTDistance(
                 LOC((yyloc)),
@@ -9884,37 +8801,33 @@
         }
     break;
 
-  case 730:
-
-/* Line 690 of lalr1.cc  */
-#line 5235 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 731:
+/* Line 661 of lalr1.cc  */
+#line 6168 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTUnit( LOC((yyloc)), ft_unit::words );
         }
     break;
 
-  case 731:
-
-/* Line 690 of lalr1.cc  */
-#line 5239 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 732:
+/* Line 661 of lalr1.cc  */
+#line 6172 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTUnit( LOC((yyloc)), ft_unit::sentences );
         }
     break;
 
-  case 732:
-
-/* Line 690 of lalr1.cc  */
-#line 5243 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 733:
+/* Line 661 of lalr1.cc  */
+#line 6176 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTUnit( LOC((yyloc)), ft_unit::paragraphs );
         }
     break;
 
-  case 733:
-
-/* Line 690 of lalr1.cc  */
-#line 5249 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 734:
+/* Line 661 of lalr1.cc  */
+#line 6184 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             FTMatchOptions *mo = new FTMatchOptions( LOC((yyloc)) );
             mo->push_back( dynamic_cast<FTMatchOption*>((yysemantic_stack_[(2) - (2)].node)) );
@@ -9922,10 +8835,9 @@
         }
     break;
 
-  case 734:
-
-/* Line 690 of lalr1.cc  */
-#line 5255 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 735:
+/* Line 661 of lalr1.cc  */
+#line 6190 "/Users/zorba/Code/zorba/release/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)) );
@@ -9933,118 +8845,105 @@
         }
     break;
 
-  case 735:
-
-/* Line 690 of lalr1.cc  */
-#line 5263 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
   case 736:
-
-/* Line 690 of lalr1.cc  */
-#line 5267 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 6200 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
   case 737:
-
-/* Line 690 of lalr1.cc  */
-#line 5271 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 6204 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
   case 738:
-
-/* Line 690 of lalr1.cc  */
-#line 5275 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 6208 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
   case 739:
-
-/* Line 690 of lalr1.cc  */
-#line 5279 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 6212 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
   case 740:
-
-/* Line 690 of lalr1.cc  */
-#line 5283 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 6216 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
   case 741:
-
-/* Line 690 of lalr1.cc  */
-#line 5287 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 6220 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
   case 742:
-
-/* Line 690 of lalr1.cc  */
-#line 5291 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 6224 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
   case 743:
+/* Line 661 of lalr1.cc  */
+#line 6228 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
 
-/* Line 690 of lalr1.cc  */
-#line 5297 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 744:
+/* Line 661 of lalr1.cc  */
+#line 6236 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTCaseOption( LOC((yyloc)), ft_case_mode::sensitive );
         }
     break;
 
-  case 744:
-
-/* Line 690 of lalr1.cc  */
-#line 5301 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 745:
+/* Line 661 of lalr1.cc  */
+#line 6240 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTCaseOption( LOC((yyloc)), ft_case_mode::insensitive );
         }
     break;
 
-  case 745:
-
-/* Line 690 of lalr1.cc  */
-#line 5305 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 746:
+/* Line 661 of lalr1.cc  */
+#line 6244 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTCaseOption( LOC((yyloc)), ft_case_mode::lower );
         }
     break;
 
-  case 746:
-
-/* Line 690 of lalr1.cc  */
-#line 5309 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 747:
+/* Line 661 of lalr1.cc  */
+#line 6248 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTCaseOption( LOC((yyloc)), ft_case_mode::upper );
         }
     break;
 
-  case 747:
-
-/* Line 690 of lalr1.cc  */
-#line 5315 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 748:
+/* Line 661 of lalr1.cc  */
+#line 6256 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTDiacriticsOption(
                 LOC((yyloc)), ft_diacritics_mode::sensitive
@@ -10052,10 +8951,9 @@
         }
     break;
 
-  case 748:
-
-/* Line 690 of lalr1.cc  */
-#line 5321 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 749:
+/* Line 661 of lalr1.cc  */
+#line 6262 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTDiacriticsOption(
                 LOC((yyloc)), ft_diacritics_mode::insensitive
@@ -10063,10 +8961,9 @@
         }
     break;
 
-  case 749:
-
-/* Line 690 of lalr1.cc  */
-#line 5329 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 750:
+/* Line 661 of lalr1.cc  */
+#line 6272 "/Users/zorba/Code/zorba/release/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))
@@ -10074,28 +8971,25 @@
         }
     break;
 
-  case 750:
-
-/* Line 690 of lalr1.cc  */
-#line 5337 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 751:
+/* Line 661 of lalr1.cc  */
+#line 6282 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTStemOption( LOC((yyloc)), ft_stem_mode::stemming );
         }
     break;
 
-  case 751:
-
-/* Line 690 of lalr1.cc  */
-#line 5341 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 752:
+/* Line 661 of lalr1.cc  */
+#line 6286 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTStemOption( LOC((yyloc)), ft_stem_mode::no_stemming );
         }
     break;
 
-  case 752:
-
-/* Line 690 of lalr1.cc  */
-#line 5347 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 753:
+/* Line 661 of lalr1.cc  */
+#line 6294 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             FTThesaurusOption::thesaurus_id_list_t *til = NULL;
             if ( (yysemantic_stack_[(2) - (2)].node) ) {
@@ -10107,10 +9001,9 @@
         }
     break;
 
-  case 753:
-
-/* Line 690 of lalr1.cc  */
-#line 5357 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 754:
+/* Line 661 of lalr1.cc  */
+#line 6304 "/Users/zorba/Code/zorba/release/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) ) {
@@ -10123,75 +9016,67 @@
         }
     break;
 
-  case 754:
-
-/* Line 690 of lalr1.cc  */
-#line 5368 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 755:
+/* Line 661 of lalr1.cc  */
+#line 6315 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTThesaurusOption( LOC((yyloc)), NULL, false, true );
         }
     break;
 
-  case 755:
-
-/* Line 690 of lalr1.cc  */
-#line 5374 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
   case 756:
-
-/* Line 690 of lalr1.cc  */
-#line 5378 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 6322 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = NULL;
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
   case 757:
+/* Line 661 of lalr1.cc  */
+#line 6326 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.node) = NULL;
+        }
+    break;
 
-/* Line 690 of lalr1.cc  */
-#line 5383 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 758:
+/* Line 661 of lalr1.cc  */
+#line 6333 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.thesaurus_id_list) = NULL;
         }
     break;
 
-  case 758:
-
-/* Line 690 of lalr1.cc  */
-#line 5387 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 759:
+/* Line 661 of lalr1.cc  */
+#line 6337 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.thesaurus_id_list) = (yysemantic_stack_[(2) - (2)].thesaurus_id_list);
         }
     break;
 
-  case 759:
-
-/* Line 690 of lalr1.cc  */
-#line 5393 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 760:
+/* Line 661 of lalr1.cc  */
+#line 6344 "/Users/zorba/Code/zorba/release/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)) );
         }
     break;
 
-  case 760:
-
-/* Line 690 of lalr1.cc  */
-#line 5398 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 761:
+/* Line 661 of lalr1.cc  */
+#line 6349 "/Users/zorba/Code/zorba/release/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);
         }
     break;
 
-  case 761:
-
-/* Line 690 of lalr1.cc  */
-#line 5405 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 762:
+/* Line 661 of lalr1.cc  */
+#line 6358 "/Users/zorba/Code/zorba/release/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))
@@ -10199,46 +9084,41 @@
         }
     break;
 
-  case 762:
-
-/* Line 690 of lalr1.cc  */
-#line 5412 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 763:
+/* Line 661 of lalr1.cc  */
+#line 6367 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.sval) = 0;
         }
     break;
 
-  case 763:
-
-/* Line 690 of lalr1.cc  */
-#line 5416 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 764:
+/* Line 661 of lalr1.cc  */
+#line 6371 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.sval) = (yysemantic_stack_[(2) - (2)].sval);
         }
     break;
 
-  case 764:
-
-/* Line 690 of lalr1.cc  */
-#line 5422 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-    {
-            (yyval.node) = NULL;
-        }
-    break;
-
   case 765:
-
-/* Line 690 of lalr1.cc  */
-#line 5426 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+/* Line 661 of lalr1.cc  */
+#line 6378 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
+            (yyval.node) = NULL;
         }
     break;
 
   case 766:
+/* Line 661 of lalr1.cc  */
+#line 6382 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
+        }
+    break;
 
-/* Line 690 of lalr1.cc  */
-#line 5432 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 767:
+/* Line 661 of lalr1.cc  */
+#line 6390 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTStopWordOption(
                 LOC((yyloc)),
@@ -10249,10 +9129,9 @@
         }
     break;
 
-  case 767:
-
-/* Line 690 of lalr1.cc  */
-#line 5441 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 768:
+/* Line 661 of lalr1.cc  */
+#line 6399 "/Users/zorba/Code/zorba/release/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
@@ -10261,10 +9140,9 @@
         }
     break;
 
-  case 768:
-
-/* Line 690 of lalr1.cc  */
-#line 5448 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 769:
+/* Line 661 of lalr1.cc  */
+#line 6406 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTStopWordOption(
                 LOC((yyloc)), NULL, NULL, ft_stop_words_mode::without
@@ -10272,28 +9150,25 @@
         }
     break;
 
-  case 769:
-
-/* Line 690 of lalr1.cc  */
-#line 5456 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 770:
+/* Line 661 of lalr1.cc  */
+#line 6416 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTStopWords( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)), NULL );
         }
     break;
 
-  case 770:
-
-/* Line 690 of lalr1.cc  */
-#line 5460 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 771:
+/* Line 661 of lalr1.cc  */
+#line 6420 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTStopWords( LOC((yyloc)), "", (yysemantic_stack_[(3) - (2)].strlist) );
         }
     break;
 
-  case 771:
-
-/* Line 690 of lalr1.cc  */
-#line 5466 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 772:
+/* Line 661 of lalr1.cc  */
+#line 6427 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             string_list_t *sl = new string_list_t;
             sl->push_back( SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
@@ -10301,10 +9176,9 @@
         }
     break;
 
-  case 772:
-
-/* Line 690 of lalr1.cc  */
-#line 5472 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 773:
+/* Line 661 of lalr1.cc  */
+#line 6433 "/Users/zorba/Code/zorba/release/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)) );
@@ -10312,38 +9186,34 @@
         }
     break;
 
-  case 773:
-
-/* Line 690 of lalr1.cc  */
-#line 5479 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 774:
+/* Line 661 of lalr1.cc  */
+#line 6442 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.incl_excl_list) = NULL;
         }
     break;
 
-  case 774:
-
-/* Line 690 of lalr1.cc  */
-#line 5483 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 775:
+/* Line 661 of lalr1.cc  */
+#line 6446 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.incl_excl_list) = (yysemantic_stack_[(1) - (1)].incl_excl_list);
         }
     break;
 
-  case 775:
-
-/* Line 690 of lalr1.cc  */
-#line 5489 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 776:
+/* Line 661 of lalr1.cc  */
+#line 6453 "/Users/zorba/Code/zorba/release/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)) );
         }
     break;
 
-  case 776:
-
-/* Line 690 of lalr1.cc  */
-#line 5494 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 777:
+/* Line 661 of lalr1.cc  */
+#line 6458 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             FTStopWordOption::incl_excl_list_t *iel = (yysemantic_stack_[(2) - (1)].incl_excl_list);
             if ( !iel )
@@ -10353,10 +9223,9 @@
         }
     break;
 
-  case 777:
-
-/* Line 690 of lalr1.cc  */
-#line 5504 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 778:
+/* Line 661 of lalr1.cc  */
+#line 6470 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTStopWordsInclExcl(
                 LOC((yyloc)),
@@ -10366,10 +9235,9 @@
         }
     break;
 
-  case 778:
-
-/* Line 690 of lalr1.cc  */
-#line 5512 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 779:
+/* Line 661 of lalr1.cc  */
+#line 6478 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTStopWordsInclExcl(
                 LOC((yyloc)),
@@ -10379,109 +9247,97 @@
         }
     break;
 
-  case 779:
-
-/* Line 690 of lalr1.cc  */
-#line 5522 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 780:
+/* Line 661 of lalr1.cc  */
+#line 6490 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTLanguageOption( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)) );
         }
     break;
 
-  case 780:
-
-/* Line 690 of lalr1.cc  */
-#line 5528 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 781:
+/* Line 661 of lalr1.cc  */
+#line 6498 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTWildCardOption( LOC((yyloc)), ft_wild_card_mode::with );
         }
     break;
 
-  case 781:
-
-/* Line 690 of lalr1.cc  */
-#line 5532 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 782:
+/* Line 661 of lalr1.cc  */
+#line 6502 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTWildCardOption( LOC((yyloc)), ft_wild_card_mode::without );
         }
     break;
 
-  case 782:
-
-/* Line 690 of lalr1.cc  */
-#line 5538 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 783:
+/* Line 661 of lalr1.cc  */
+#line 6510 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTContent( LOC((yyloc)), ft_content_mode::at_start );
         }
     break;
 
-  case 783:
-
-/* Line 690 of lalr1.cc  */
-#line 5542 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 784:
+/* Line 661 of lalr1.cc  */
+#line 6514 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTContent( LOC((yyloc)), ft_content_mode::at_end );
         }
     break;
 
-  case 784:
-
-/* Line 690 of lalr1.cc  */
-#line 5546 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 785:
+/* Line 661 of lalr1.cc  */
+#line 6518 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTContent( LOC((yyloc)), ft_content_mode::entire );
         }
     break;
 
-  case 785:
-
-/* Line 690 of lalr1.cc  */
-#line 5552 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 786:
+/* Line 661 of lalr1.cc  */
+#line 6526 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTTimes( LOC((yyloc)), dynamic_cast<FTRange*>((yysemantic_stack_[(3) - (2)].node)) );
         }
     break;
 
-  case 786:
-
-/* Line 690 of lalr1.cc  */
-#line 5558 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 787:
+/* Line 661 of lalr1.cc  */
+#line 6534 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTRange( LOC((yyloc)), ft_range_mode::exactly, (yysemantic_stack_[(2) - (2)].expr) );
         }
     break;
 
-  case 787:
-
-/* Line 690 of lalr1.cc  */
-#line 5562 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 788:
+/* Line 661 of lalr1.cc  */
+#line 6538 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTRange( LOC((yyloc)), ft_range_mode::at_least, (yysemantic_stack_[(3) - (3)].expr) );
         }
     break;
 
-  case 788:
-
-/* Line 690 of lalr1.cc  */
-#line 5566 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 789:
+/* Line 661 of lalr1.cc  */
+#line 6542 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTRange( LOC((yyloc)), ft_range_mode::at_most, (yysemantic_stack_[(3) - (3)].expr) );
         }
     break;
 
-  case 789:
-
-/* Line 690 of lalr1.cc  */
-#line 5570 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 790:
+/* Line 661 of lalr1.cc  */
+#line 6546 "/Users/zorba/Code/zorba/release/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) );
         }
     break;
 
-  case 790:
-
-/* Line 690 of lalr1.cc  */
-#line 5576 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 791:
+/* Line 661 of lalr1.cc  */
+#line 6554 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTScope(
                 LOC((yyloc)),
@@ -10491,10 +9347,9 @@
         }
     break;
 
-  case 791:
-
-/* Line 690 of lalr1.cc  */
-#line 5584 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 792:
+/* Line 661 of lalr1.cc  */
+#line 6562 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTScope(
                 LOC((yyloc)),
@@ -10504,104 +9359,96 @@
         }
     break;
 
-  case 792:
-
-/* Line 690 of lalr1.cc  */
-#line 5594 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 793:
+/* Line 661 of lalr1.cc  */
+#line 6574 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTBigUnit( LOC((yyloc)), ft_big_unit::sentence );
         }
     break;
 
-  case 793:
-
-/* Line 690 of lalr1.cc  */
-#line 5598 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 794:
+/* Line 661 of lalr1.cc  */
+#line 6578 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTBigUnit( LOC((yyloc)), ft_big_unit::paragraph );
         }
     break;
 
-  case 794:
-
-/* Line 690 of lalr1.cc  */
-#line 5604 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 795:
+/* Line 661 of lalr1.cc  */
+#line 6586 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTIgnoreOption( LOC((yyloc)), static_cast<UnionExpr*>((yysemantic_stack_[(3) - (3)].expr)) );
         }
     break;
 
-  case 795:
-
-/* Line 690 of lalr1.cc  */
-#line 5610 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 796:
+/* Line 661 of lalr1.cc  */
+#line 6592 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new JSONArrayConstructor( LOC((yyloc)), NULL );
         }
     break;
 
-  case 796:
-
-/* Line 690 of lalr1.cc  */
-#line 5614 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 797:
+/* Line 661 of lalr1.cc  */
+#line 6596 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new JSONArrayConstructor( LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr) );
         }
     break;
 
-  case 797:
-
-/* Line 690 of lalr1.cc  */
-#line 5620 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 798:
+/* Line 661 of lalr1.cc  */
+#line 6603 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new JSONObjectConstructor(LOC((yyloc)), NULL, false);
         }
     break;
 
-  case 798:
-
-/* Line 690 of lalr1.cc  */
-#line 5624 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 799:
+/* Line 661 of lalr1.cc  */
+#line 6607 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new JSONObjectConstructor(LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr), false);
         }
     break;
 
-  case 799:
-
-/* Line 690 of lalr1.cc  */
-#line 5630 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 800:
+/* Line 661 of lalr1.cc  */
+#line 6614 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new JSONObjectConstructor(LOC((yyloc)), NULL, true);
         }
     break;
 
-  case 800:
-
-/* Line 690 of lalr1.cc  */
-#line 5634 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 801:
+/* Line 661 of lalr1.cc  */
+#line 6618 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new JSONObjectConstructor(LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr), true);
         }
     break;
 
-  case 801:
-
-/* Line 690 of lalr1.cc  */
-#line 5640 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 802:
+/* Line 661 of lalr1.cc  */
+#line 6626 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new JSONDirectObjectConstructor(LOC((yyloc)),
                                                dynamic_cast<JSONPairList*>((yysemantic_stack_[(3) - (2)].node)));
         }
     break;
 
-  case 802:
-
-/* Line 690 of lalr1.cc  */
-#line 5647 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 803:
+/* Line 661 of lalr1.cc  */
+#line 6636 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
           ERROR_IF_QNAME_NOT_NCNAME((yysemantic_stack_[(3) - (1)].expr), (yylocation_stack_[(3) - (1)]));
+
+
           driver.addCommonLanguageWarning((yylocation_stack_[(3) - (1)]), ZED(ZWST0009_OBJECT_KEY_NOT_QUOTED));
+
           StringLiteral* sl = new StringLiteral( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (1)].expr)) );
           JSONPairList* jpl = new JSONPairList(LOC((yyloc)));
           jpl->push_back(new JSONPairConstructor(LOC((yyloc)), sl, (yysemantic_stack_[(3) - (3)].expr)));
@@ -10609,10 +9456,9 @@
         }
     break;
 
-  case 803:
-
-/* Line 690 of lalr1.cc  */
-#line 5657 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 804:
+/* Line 661 of lalr1.cc  */
+#line 6650 "/Users/zorba/Code/zorba/release/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)));
@@ -10620,10 +9466,9 @@
         }
     break;
 
-  case 804:
-
-/* Line 690 of lalr1.cc  */
-#line 5663 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 805:
+/* Line 661 of lalr1.cc  */
+#line 6656 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
           JSONPairList* jpl = dynamic_cast<JSONPairList*>((yysemantic_stack_[(5) - (1)].node));
           assert(jpl);
@@ -10632,10 +9477,9 @@
         }
     break;
 
-  case 805:
-
-/* Line 690 of lalr1.cc  */
-#line 5670 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 806:
+/* Line 661 of lalr1.cc  */
+#line 6665 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
           ERROR_IF_QNAME_NOT_NCNAME((yysemantic_stack_[(5) - (3)].expr), (yylocation_stack_[(5) - (3)]));
           JSONPairList* jpl = dynamic_cast<JSONPairList*>((yysemantic_stack_[(5) - (1)].node));
@@ -10646,10 +9490,9 @@
         }
     break;
 
-  case 806:
-
-/* Line 690 of lalr1.cc  */
-#line 5681 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 807:
+/* Line 661 of lalr1.cc  */
+#line 6678 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new JSONObjectInsertExpr(LOC((yyloc)),
                                         (yysemantic_stack_[(5) - (3)].expr),
@@ -10657,10 +9500,9 @@
         }
     break;
 
-  case 807:
-
-/* Line 690 of lalr1.cc  */
-#line 5687 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 808:
+/* Line 661 of lalr1.cc  */
+#line 6684 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
           JSONPairList* jpl = dynamic_cast<JSONPairList*>((yysemantic_stack_[(5) - (3)].node));
           (yyval.expr) = new JSONObjectInsertExpr(
@@ -10672,28 +9514,25 @@
         }
     break;
 
-  case 808:
-
-/* Line 690 of lalr1.cc  */
-#line 5697 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 809:
+/* Line 661 of lalr1.cc  */
+#line 6694 "/Users/zorba/Code/zorba/release/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));
         }
     break;
 
-  case 809:
-
-/* Line 690 of lalr1.cc  */
-#line 5703 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 810:
+/* Line 661 of lalr1.cc  */
+#line 6701 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new JSONArrayAppendExpr(LOC((yyloc)), (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr));
         }
     break;
 
-  case 810:
-
-/* Line 690 of lalr1.cc  */
-#line 5709 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 811:
+/* Line 661 of lalr1.cc  */
+#line 6708 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
           rchandle<exprnode> lTargetExpr;
           rchandle<exprnode> lSelectorExpr;
@@ -10710,10 +9549,9 @@
         }
     break;
 
-  case 811:
-
-/* Line 690 of lalr1.cc  */
-#line 5726 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 812:
+/* Line 661 of lalr1.cc  */
+#line 6726 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
           rchandle<exprnode> lTargetExpr;
           rchandle<exprnode> lSelectorExpr;
@@ -10737,10 +9575,9 @@
         }
     break;
 
-  case 812:
-
-/* Line 690 of lalr1.cc  */
-#line 5750 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 813:
+/* Line 661 of lalr1.cc  */
+#line 6751 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
           rchandle<exprnode> lTargetExpr;
           rchandle<exprnode> lSelectorExpr;
@@ -10759,1633 +9596,1401 @@
         }
     break;
 
-  case 813:
-
-/* Line 690 of lalr1.cc  */
-#line 5769 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 814:
+/* Line 661 of lalr1.cc  */
+#line 6771 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonItem);
         }
     break;
 
-  case 814:
-
-/* Line 690 of lalr1.cc  */
-#line 5773 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 815:
+/* Line 661 of lalr1.cc  */
+#line 6775 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonArray);
         }
     break;
 
-  case 815:
-
-/* Line 690 of lalr1.cc  */
-#line 5777 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 816:
+/* Line 661 of lalr1.cc  */
+#line 6779 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonObject);
         }
     break;
 
-  case 818:
-
-/* Line 690 of lalr1.cc  */
-#line 5786 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval))); }
-    break;
-
   case 819:
+/* Line 661 of lalr1.cc  */
+#line 6797 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval))); }
+    break;
 
-/* Line 690 of lalr1.cc  */
-#line 5787 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 820:
+/* Line 661 of lalr1.cc  */
+#line 6798 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("attribute"))); }
     break;
 
-  case 820:
-
-/* Line 690 of lalr1.cc  */
-#line 5788 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 821:
+/* Line 661 of lalr1.cc  */
+#line 6799 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("comment"))); }
     break;
 
-  case 821:
-
-/* Line 690 of lalr1.cc  */
-#line 5789 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 822:
+/* Line 661 of lalr1.cc  */
+#line 6800 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("document-node"))); }
     break;
 
-  case 822:
-
-/* Line 690 of lalr1.cc  */
-#line 5790 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 823:
+/* Line 661 of lalr1.cc  */
+#line 6801 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("namespace-node"))); }
     break;
 
-  case 823:
-
-/* Line 690 of lalr1.cc  */
-#line 5791 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 824:
+/* Line 661 of lalr1.cc  */
+#line 6802 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("element"))); }
     break;
 
-  case 824:
-
-/* Line 690 of lalr1.cc  */
-#line 5792 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 825:
+/* Line 661 of lalr1.cc  */
+#line 6803 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("item"))); }
     break;
 
-  case 825:
-
-/* Line 690 of lalr1.cc  */
-#line 5793 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 826:
+/* Line 661 of lalr1.cc  */
+#line 6804 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("if"))); }
     break;
 
-  case 826:
-
-/* Line 690 of lalr1.cc  */
-#line 5794 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 827:
+/* Line 661 of lalr1.cc  */
+#line 6805 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("node"))); }
     break;
 
-  case 827:
-
-/* Line 690 of lalr1.cc  */
-#line 5795 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 828:
+/* Line 661 of lalr1.cc  */
+#line 6806 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("processing-instruction"))); }
     break;
 
-  case 828:
-
-/* Line 690 of lalr1.cc  */
-#line 5796 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 829:
+/* Line 661 of lalr1.cc  */
+#line 6807 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("schema-attribute"))); }
     break;
 
-  case 829:
-
-/* Line 690 of lalr1.cc  */
-#line 5797 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 830:
+/* Line 661 of lalr1.cc  */
+#line 6808 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("schema-element"))); }
     break;
 
-  case 830:
-
-/* Line 690 of lalr1.cc  */
-#line 5798 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 831:
+/* Line 661 of lalr1.cc  */
+#line 6809 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("text"))); }
     break;
 
-  case 831:
-
-/* Line 690 of lalr1.cc  */
-#line 5799 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 832:
+/* Line 661 of lalr1.cc  */
+#line 6810 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("typeswitch"))); }
     break;
 
-  case 832:
-
-/* Line 690 of lalr1.cc  */
-#line 5800 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 833:
+/* Line 661 of lalr1.cc  */
+#line 6811 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("switch"))); }
     break;
 
-  case 833:
-
-/* Line 690 of lalr1.cc  */
-#line 5801 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 834:
+/* Line 661 of lalr1.cc  */
+#line 6812 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("empty-sequence"))); }
     break;
 
-  case 834:
-
-/* Line 690 of lalr1.cc  */
-#line 5802 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 835:
+/* Line 661 of lalr1.cc  */
+#line 6813 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("while"))); }
     break;
 
-  case 835:
-
-/* Line 690 of lalr1.cc  */
-#line 5803 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 836:
+/* Line 661 of lalr1.cc  */
+#line 6814 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("json"))); }
     break;
 
-  case 836:
-
-/* Line 690 of lalr1.cc  */
-#line 5804 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 837:
+/* Line 661 of lalr1.cc  */
+#line 6815 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("array"))); }
     break;
 
-  case 837:
-
-/* Line 690 of lalr1.cc  */
-#line 5805 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 838:
+/* Line 661 of lalr1.cc  */
+#line 6816 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("object"))); }
     break;
 
-  case 838:
-
-/* Line 690 of lalr1.cc  */
-#line 5806 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 839:
+/* Line 661 of lalr1.cc  */
+#line 6817 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("json-item"))); }
     break;
 
-  case 839:
-
-/* Line 690 of lalr1.cc  */
-#line 5807 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 840:
+/* Line 661 of lalr1.cc  */
+#line 6818 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("structured-item"))); }
     break;
 
-  case 841:
-
-/* Line 690 of lalr1.cc  */
-#line 5811 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval))); }
-    break;
-
   case 842:
+/* Line 661 of lalr1.cc  */
+#line 6823 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval))); }
+    break;
 
-/* Line 690 of lalr1.cc  */
-#line 5812 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 843:
+/* Line 661 of lalr1.cc  */
+#line 6824 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("xquery"))); }
     break;
 
-  case 843:
-
-/* Line 690 of lalr1.cc  */
-#line 5813 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 844:
+/* Line 661 of lalr1.cc  */
+#line 6825 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("empty"))); }
     break;
 
-  case 844:
-
-/* Line 690 of lalr1.cc  */
-#line 5814 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 845:
+/* Line 661 of lalr1.cc  */
+#line 6826 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("boundary-space"))); }
     break;
 
-  case 845:
-
-/* Line 690 of lalr1.cc  */
-#line 5815 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 846:
+/* Line 661 of lalr1.cc  */
+#line 6827 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ft-option"))); }
     break;
 
-  case 846:
-
-/* Line 690 of lalr1.cc  */
-#line 5816 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 847:
+/* Line 661 of lalr1.cc  */
+#line 6828 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("base-uri"))); }
     break;
 
-  case 847:
-
-/* Line 690 of lalr1.cc  */
-#line 5817 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 848:
+/* Line 661 of lalr1.cc  */
+#line 6829 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("lax"))); }
     break;
 
-  case 848:
-
-/* Line 690 of lalr1.cc  */
-#line 5818 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 849:
+/* Line 661 of lalr1.cc  */
+#line 6830 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("strict"))); }
     break;
 
-  case 849:
-
-/* Line 690 of lalr1.cc  */
-#line 5819 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 850:
+/* Line 661 of lalr1.cc  */
+#line 6831 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("idiv"))); }
     break;
 
-  case 850:
-
-/* Line 690 of lalr1.cc  */
-#line 5820 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 851:
+/* Line 661 of lalr1.cc  */
+#line 6832 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("document"))); }
     break;
 
-  case 851:
-
-/* Line 690 of lalr1.cc  */
-#line 5821 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 852:
+/* Line 661 of lalr1.cc  */
+#line 6833 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ftnot"))); }
     break;
 
-  case 852:
-
-/* Line 690 of lalr1.cc  */
-#line 5822 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 853:
+/* Line 661 of lalr1.cc  */
+#line 6834 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("not"))); }
     break;
 
-  case 853:
-
-/* Line 690 of lalr1.cc  */
-#line 5823 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 854:
+/* Line 661 of lalr1.cc  */
+#line 6835 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("sensitive"))); }
     break;
 
-  case 854:
-
-/* Line 690 of lalr1.cc  */
-#line 5824 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 855:
+/* Line 661 of lalr1.cc  */
+#line 6836 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("insensitive"))); }
     break;
 
-  case 855:
-
-/* Line 690 of lalr1.cc  */
-#line 5825 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 856:
+/* Line 661 of lalr1.cc  */
+#line 6837 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("diacritics"))); }
     break;
 
-  case 856:
-
-/* Line 690 of lalr1.cc  */
-#line 5826 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 857:
+/* Line 661 of lalr1.cc  */
+#line 6838 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("without"))); }
     break;
 
-  case 857:
-
-/* Line 690 of lalr1.cc  */
-#line 5827 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 858:
+/* Line 661 of lalr1.cc  */
+#line 6839 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("stemming"))); }
     break;
 
-  case 858:
-
-/* Line 690 of lalr1.cc  */
-#line 5828 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 859:
+/* Line 661 of lalr1.cc  */
+#line 6840 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("thesaurus"))); }
     break;
 
-  case 859:
-
-/* Line 690 of lalr1.cc  */
-#line 5829 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 860:
+/* Line 661 of lalr1.cc  */
+#line 6841 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("stop"))); }
     break;
 
-  case 860:
-
-/* Line 690 of lalr1.cc  */
-#line 5830 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 861:
+/* Line 661 of lalr1.cc  */
+#line 6842 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("wildcards"))); }
     break;
 
-  case 861:
-
-/* Line 690 of lalr1.cc  */
-#line 5831 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 862:
+/* Line 661 of lalr1.cc  */
+#line 6843 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("entire"))); }
     break;
 
-  case 862:
-
-/* Line 690 of lalr1.cc  */
-#line 5832 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 863:
+/* Line 661 of lalr1.cc  */
+#line 6844 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("content"))); }
     break;
 
-  case 863:
-
-/* Line 690 of lalr1.cc  */
-#line 5833 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 864:
+/* Line 661 of lalr1.cc  */
+#line 6845 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("word"))); }
     break;
 
-  case 864:
-
-/* Line 690 of lalr1.cc  */
-#line 5834 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 865:
+/* Line 661 of lalr1.cc  */
+#line 6846 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("start"))); }
     break;
 
-  case 865:
-
-/* Line 690 of lalr1.cc  */
-#line 5835 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y"
+  case 866:
+/* Line 661 of lalr1.cc  */
+#line 6847 "/Users/zorba/