← Back to team overview

zorba-coders team mailing list archive

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

 

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

Commit message:
Parsers updates.

Requested reviews:
  Nicolae Brinza (nbrinza)
  Ghislain Fourny (gislenius)

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

Parsers updates.
-- 
The attached diff has been truncated due to its size.
https://code.launchpad.net/~zorba-coders/zorba/new-jsoniq/+merge/183640
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-08-21 15:13:06 +0000
+++ src/compiler/parser/jsoniq_parser.cpp	2013-09-03 12:18:46 +0000
@@ -36,12 +36,12 @@
 /* First part of user declarations.  */
 
 /* Line 293 of lalr1.cc  */
-#line 1 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 
 #define JSONIQ_PARSER
 
 /* Line 293 of lalr1.cc  */
-#line 58 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 58 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 
 
 #include "common/common.h"
@@ -79,7 +79,7 @@
 
 
 /* Line 293 of lalr1.cc  */
-#line 101 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 101 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 
 
 #ifdef XQUERY_PARSER
@@ -98,7 +98,7 @@
 
 
 /* Line 293 of lalr1.cc  */
-#line 102 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 102 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 
 
 #include "jsoniq_parser.hpp"
@@ -106,7 +106,7 @@
 /* User implementation prologue.  */
 
 /* Line 299 of lalr1.cc  */
-#line 793 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 791 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 
 template<typename T> inline void release_hack( T *ref ) {
     if ( ref ) {
@@ -117,7 +117,7 @@
 
 
 /* Line 299 of lalr1.cc  */
-#line 121 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 121 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 
 #ifndef YY_
 # if defined YYENABLE_NLS && YYENABLE_NLS
@@ -203,7 +203,7 @@
 namespace zorba {
 
 /* Line 382 of lalr1.cc  */
-#line 207 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 207 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 
   /* Return YYSTR after stripping away unnecessary quotes and
      backslashes, so that it's suitable for yyerror.  The heuristic is
@@ -304,2567 +304,2576 @@
         case 111: /* "\"'DECIMAL'\"" */
 
 /* Line 480 of lalr1.cc  */
-#line 792 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 790 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ delete (yyvaluep->decval); };
 
 /* Line 480 of lalr1.cc  */
-#line 312 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 312 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 126: /* "\"'DOUBLE'\"" */
 
 /* Line 480 of lalr1.cc  */
-#line 791 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 789 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ delete (yyvaluep->dval); };
 
 /* Line 480 of lalr1.cc  */
-#line 321 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 321 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 151: /* "\"'INTEGER'\"" */
 
 /* Line 480 of lalr1.cc  */
-#line 790 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 788 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ delete (yyvaluep->ival); };
 
 /* Line 480 of lalr1.cc  */
-#line 330 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 330 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 345: /* "VersionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 813 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 811 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 339 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 339 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 346: /* "MainModule" */
 
 /* Line 480 of lalr1.cc  */
-#line 806 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 804 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 348 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 348 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 347: /* "LibraryModule" */
 
 /* Line 480 of lalr1.cc  */
-#line 806 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 804 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 357 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 357 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 348: /* "ModuleDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 806 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 804 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 366 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 366 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 349: /* "SIND_DeclList" */
 
 /* Line 480 of lalr1.cc  */
-#line 809 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 807 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 375 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 375 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 350: /* "SIND_Decl" */
 
 /* Line 480 of lalr1.cc  */
-#line 809 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 807 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 384 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 384 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 351: /* "Setter" */
 
 /* Line 480 of lalr1.cc  */
-#line 810 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 808 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 393 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 393 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 352: /* "BoundarySpaceDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 803 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 801 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 402 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 402 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 353: /* "DefaultCollationDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 804 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 802 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 411 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 411 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 354: /* "BaseURIDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 803 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 801 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 420 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 420 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 355: /* "ConstructionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 803 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 801 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 429 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 429 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 356: /* "OrderingModeDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 808 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 806 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 438 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 438 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 357: /* "EmptyOrderDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 805 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 803 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 447 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 447 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 358: /* "CopyNamespacesDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 804 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 802 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 456 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 456 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 359: /* "Import" */
 
 /* Line 480 of lalr1.cc  */
-#line 805 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 803 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 465 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 465 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 360: /* "SchemaImport" */
 
 /* Line 480 of lalr1.cc  */
-#line 809 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 807 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 474 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 474 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 361: /* "URILiteralList" */
 
 /* Line 480 of lalr1.cc  */
-#line 811 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 809 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 483 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 483 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 362: /* "SchemaPrefix" */
 
 /* Line 480 of lalr1.cc  */
-#line 810 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 808 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 492 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 492 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 363: /* "ModuleImport" */
 
 /* Line 480 of lalr1.cc  */
-#line 806 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 804 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 501 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 501 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 364: /* "NamespaceDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 806 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 804 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 510 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 510 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 365: /* "DefaultNamespaceDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 804 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 802 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 519 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 519 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 366: /* "VFO_DeclList" */
 
 /* Line 480 of lalr1.cc  */
-#line 813 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 811 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 528 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 528 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 367: /* "VFO_Decl" */
 
 /* Line 480 of lalr1.cc  */
-#line 813 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 811 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 537 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 537 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 368: /* "DecimalFormatDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 813 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 811 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 546 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 546 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 369: /* "DecimalFormatParamList" */
 
 /* Line 480 of lalr1.cc  */
-#line 820 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 818 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ delete (yyvaluep->vstrpair); };
 
 /* Line 480 of lalr1.cc  */
-#line 555 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 555 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 370: /* "DecimalFormatParam" */
 
 /* Line 480 of lalr1.cc  */
-#line 820 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 818 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ delete (yyvaluep->strpair); };
 
 /* Line 480 of lalr1.cc  */
-#line 564 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 564 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 372: /* "OptionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 807 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 805 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 573 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 573 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 373: /* "FTOptionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 582 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 582 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 374: /* "CtxItemDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 811 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 809 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 591 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 591 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 375: /* "CtxItemDecl2" */
 
 /* Line 480 of lalr1.cc  */
-#line 811 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 809 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 600 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 600 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 376: /* "CtxItemDecl3" */
 
 /* Line 480 of lalr1.cc  */
-#line 811 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 809 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 609 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 609 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 377: /* "CtxItemDecl4" */
 
 /* Line 480 of lalr1.cc  */
-#line 812 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 810 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 618 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 618 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 378: /* "VarDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 812 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 810 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 627 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 627 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 379: /* "VarNameAndType" */
 
 /* Line 480 of lalr1.cc  */
-#line 820 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 818 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ delete (yyvaluep->varnametype); };
 
 /* Line 480 of lalr1.cc  */
-#line 636 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 636 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 380: /* "AnnotationList" */
 
 /* Line 480 of lalr1.cc  */
-#line 802 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 800 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 645 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 645 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 381: /* "Annotation" */
 
 /* Line 480 of lalr1.cc  */
-#line 802 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 800 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 654 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 654 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 382: /* "AnnotationLiteralList" */
 
 /* Line 480 of lalr1.cc  */
-#line 802 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 800 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 663 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 663 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 383: /* "FunctionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 805 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 803 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 672 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 672 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 384: /* "FunctionDecl2" */
 
 /* Line 480 of lalr1.cc  */
-#line 805 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 803 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 681 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 681 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 385: /* "FunctionDeclSimple" */
 
 /* Line 480 of lalr1.cc  */
-#line 805 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 803 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 690 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 690 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 386: /* "FunctionDeclUpdating" */
 
 /* Line 480 of lalr1.cc  */
-#line 805 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 803 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 699 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 699 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 387: /* "FunctionSig" */
 
 /* Line 480 of lalr1.cc  */
-#line 820 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 818 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ delete (yyvaluep->fnsig); };
 
 /* Line 480 of lalr1.cc  */
-#line 708 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 708 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 388: /* "ParamList" */
 
 /* Line 480 of lalr1.cc  */
-#line 808 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 806 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 717 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 717 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 389: /* "Param" */
 
 /* Line 480 of lalr1.cc  */
-#line 808 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 806 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 726 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 726 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 390: /* "CollectionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 811 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 809 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 735 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 735 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 392: /* "IndexDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 811 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 809 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 744 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 744 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 393: /* "IndexKeyList" */
 
 /* Line 480 of lalr1.cc  */
-#line 811 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 809 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 753 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 753 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 394: /* "IndexKeySpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 811 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 809 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 762 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 762 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 395: /* "IntegrityConstraintDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 811 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 809 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 771 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 771 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 396: /* "QueryBody" */
 
 /* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 780 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 780 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 397: /* "StatementsAndOptionalExprTop" */
 
 /* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 789 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 789 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 398: /* "StatementsAndOptionalExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 798 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 798 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 399: /* "StatementsAndExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 807 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 807 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 400: /* "Statements" */
 
 /* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 816 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 401: /* "Statement" */
 
 /* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 825 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 825 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 402: /* "BlockStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 834 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 834 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 403: /* "BlockExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 843 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 843 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 404: /* "EnclosedStatementsAndOptionalExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 852 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 852 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 405: /* "VarDeclStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 861 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 861 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 408: /* "AssignStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 870 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 870 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 409: /* "ApplyStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 879 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 879 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 410: /* "ExitStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 888 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 888 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 411: /* "WhileStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 897 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 897 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 412: /* "FlowCtlStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 906 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 906 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 413: /* "FLWORStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 915 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 915 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 414: /* "ReturnStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 924 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 924 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 415: /* "IfStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 933 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 933 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 416: /* "TryStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 942 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 942 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 417: /* "CatchListStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 951 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 951 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 418: /* "CatchStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 960 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 960 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 419: /* "VoidStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 815 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 812 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 969 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 969 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 420: /* "Expr" */
 
 /* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 978 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 978 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 421: /* "ExprSingle" */
 
 /* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 987 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 987 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 422: /* "ExprSimple" */
 
 /* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 996 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 996 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 423: /* "FLWORExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1005 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1005 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 424: /* "ReturnExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1014 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1014 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 427: /* "FLWORWinCond" */
 
 /* Line 480 of lalr1.cc  */
-#line 812 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 810 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1023 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1023 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 428: /* "WindowClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 805 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 803 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1032 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1032 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 429: /* "CountClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 813 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 811 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1041 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1041 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 430: /* "ForLetWinClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 805 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 803 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1050 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1050 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 432: /* "FLWORClauseList" */
 
 /* Line 480 of lalr1.cc  */
-#line 805 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 803 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1059 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1059 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 433: /* "ForClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 805 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 803 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1068 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1068 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 435: /* "VarInDeclList" */
 
 /* Line 480 of lalr1.cc  */
-#line 812 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 810 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1077 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1077 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 436: /* "VarInDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 812 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 810 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1086 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1086 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 437: /* "PositionalVar" */
 
 /* Line 480 of lalr1.cc  */
-#line 808 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 806 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1095 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1095 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 438: /* "FTScoreVar" */
 
 /* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1104 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1104 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 439: /* "LetClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 806 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 804 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1113 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1113 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 440: /* "VarGetsDeclList" */
 
 /* Line 480 of lalr1.cc  */
-#line 812 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 810 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1122 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1122 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 441: /* "VarGetsDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 812 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 810 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1131 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1131 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 442: /* "WindowVarDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 812 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 810 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1140 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1140 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 443: /* "WindowVars" */
 
 /* Line 480 of lalr1.cc  */
-#line 812 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 810 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1149 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1149 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 444: /* "WindowVars3" */
 
 /* Line 480 of lalr1.cc  */
-#line 812 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 810 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1158 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1158 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 445: /* "WindowVars2" */
 
 /* Line 480 of lalr1.cc  */
-#line 812 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 810 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1167 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1167 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 446: /* "WhereClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 813 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 811 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1176 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1176 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 447: /* "GroupByClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 807 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 805 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1185 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1185 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 448: /* "GroupSpecList" */
 
 /* Line 480 of lalr1.cc  */
-#line 807 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 805 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1194 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1194 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 449: /* "GroupSpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 807 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 805 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1203 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1203 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 450: /* "GroupCollationSpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 807 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 805 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1212 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1212 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 451: /* "OrderByClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 807 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 805 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1221 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1221 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 452: /* "OrderSpecList" */
 
 /* Line 480 of lalr1.cc  */
-#line 808 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 806 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1230 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1230 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 453: /* "OrderSpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 808 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 806 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1239 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1239 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 454: /* "OrderModifier" */
 
 /* Line 480 of lalr1.cc  */
-#line 807 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 805 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1248 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1248 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 455: /* "OrderDirSpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 807 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 805 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1257 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1257 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 456: /* "OrderEmptySpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 807 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 805 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1266 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1266 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 457: /* "OrderCollationSpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 807 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 805 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1275 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1275 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 458: /* "QuantifiedExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1284 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1284 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 459: /* "QVarInDeclList" */
 
 /* Line 480 of lalr1.cc  */
-#line 808 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 806 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1293 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1293 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 460: /* "QVarInDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 808 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 806 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1302 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1302 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 461: /* "SwitchExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1311 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1311 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 462: /* "SwitchCaseClauseList" */
 
 /* Line 480 of lalr1.cc  */
-#line 814 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 812 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1320 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1320 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 463: /* "SwitchCaseClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 814 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 812 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1329 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1329 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 464: /* "SwitchCaseOperandList" */
 
 /* Line 480 of lalr1.cc  */
-#line 814 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 812 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1338 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1338 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 465: /* "SwitchStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1347 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1347 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 468: /* "TypeswitchExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1356 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1356 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 469: /* "TypeswitchStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1365 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1365 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 470: /* "CaseClauseList" */
 
 /* Line 480 of lalr1.cc  */
-#line 803 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 801 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1374 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1374 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 471: /* "CaseClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 803 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 801 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1383 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1383 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 474: /* "SequenceTypeList" */
 
 /* Line 480 of lalr1.cc  */
-#line 810 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 808 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1392 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1392 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 475: /* "IfExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1401 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1401 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 476: /* "OrExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1410 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1410 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 477: /* "AndExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1419 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1419 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 478: /* "NotExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 815 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 813 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1428 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 1428 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
       case 479: /* "ComparisonExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1437 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 480: /* "FTContainsExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1446 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 481: /* "StringConcatExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1455 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 482: /* "opt_FTIgnoreOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1464 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 483: /* "RangeExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1473 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 484: /* "AdditiveExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1482 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 485: /* "MultiplicativeExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1491 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 486: /* "UnionExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1500 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 487: /* "IntersectExceptExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1509 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 488: /* "InstanceofExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1518 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 489: /* "TreatExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1527 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 490: /* "CastableExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1536 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 491: /* "CastExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1545 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 492: /* "SingleType" */
-
-/* Line 480 of lalr1.cc  */
-#line 810 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1554 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 493: /* "UnaryExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1563 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 494: /* "SignList" */
-
-/* Line 480 of lalr1.cc  */
-#line 810 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1572 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 495: /* "ValueExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1581 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 496: /* "SimpleMapExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1590 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 497: /* "ValueComp" */
-
-/* Line 480 of lalr1.cc  */
-#line 811 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1599 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 498: /* "ValidateExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1608 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 499: /* "ExtensionExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1617 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 500: /* "Pragma_list" */
-
-/* Line 480 of lalr1.cc  */
-#line 808 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1626 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 501: /* "Pragma" */
-
-/* Line 480 of lalr1.cc  */
-#line 808 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1635 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 502: /* "PathExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1644 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 504: /* "RelativePathExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1653 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 505: /* "StepExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1662 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 506: /* "AxisStep" */
-
-/* Line 480 of lalr1.cc  */
-#line 818 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1671 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 507: /* "ForwardStep" */
-
-/* Line 480 of lalr1.cc  */
-#line 801 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1680 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 508: /* "ForwardAxis" */
-
-/* Line 480 of lalr1.cc  */
-#line 801 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1689 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 509: /* "AbbrevForwardStep" */
-
-/* Line 480 of lalr1.cc  */
-#line 801 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1698 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 510: /* "ReverseStep" */
-
-/* Line 480 of lalr1.cc  */
-#line 801 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1707 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 511: /* "ReverseAxis" */
-
-/* Line 480 of lalr1.cc  */
-#line 801 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1716 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 512: /* "NodeTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 801 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1725 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 513: /* "NameTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 806 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1734 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 514: /* "Wildcard" */
-
-/* Line 480 of lalr1.cc  */
-#line 813 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1743 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 515: /* "PostfixExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1752 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 516: /* "PredicateList" */
-
-/* Line 480 of lalr1.cc  */
-#line 808 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1761 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 517: /* "Predicate" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1770 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 518: /* "PrimaryExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1779 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 519: /* "Literal" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1788 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 520: /* "NumericLiteral" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1797 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 522: /* "VarRef" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1806 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 523: /* "ParenthesizedExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1815 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 524: /* "ContextItemExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1824 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 525: /* "OrderedExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1833 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 526: /* "UnorderedExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1842 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 527: /* "FunctionCall" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1851 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 528: /* "ArgList" */
-
-/* Line 480 of lalr1.cc  */
-#line 802 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1860 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 532: /* "Constructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1869 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 533: /* "DirectConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1878 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 534: /* "DirElemConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1887 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 535: /* "DirElemContentList" */
-
-/* Line 480 of lalr1.cc  */
-#line 804 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1896 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 536: /* "DirAttributeList" */
-
-/* Line 480 of lalr1.cc  */
-#line 804 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1905 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 537: /* "DirAttr" */
-
-/* Line 480 of lalr1.cc  */
-#line 804 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1914 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 539: /* "DirAttributeValue" */
-
-/* Line 480 of lalr1.cc  */
-#line 804 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1923 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 540: /* "opt_QuoteAttrContentList" */
-
-/* Line 480 of lalr1.cc  */
-#line 809 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1932 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 541: /* "QuoteAttrContentList" */
-
-/* Line 480 of lalr1.cc  */
-#line 809 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1941 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 542: /* "opt_AposAttrContentList" */
-
-/* Line 480 of lalr1.cc  */
-#line 802 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1950 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 543: /* "AposAttrContentList" */
-
-/* Line 480 of lalr1.cc  */
-#line 802 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1959 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 544: /* "QuoteAttrValueContent" */
-
-/* Line 480 of lalr1.cc  */
-#line 809 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1968 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 545: /* "AposAttrValueContent" */
-
-/* Line 480 of lalr1.cc  */
-#line 802 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1977 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 546: /* "DirElemContent" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1986 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 547: /* "CommonContent" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1995 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 548: /* "DirCommentConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2004 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 549: /* "DirPIConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2013 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 550: /* "CDataSection" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2022 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 551: /* "ComputedConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2031 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 552: /* "CompDocConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2040 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 553: /* "CompElemConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2049 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 554: /* "CompAttrConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2058 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 555: /* "CompTextConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2067 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 556: /* "CompCommentConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2076 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 557: /* "CompPIConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2085 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 558: /* "CompNamespaceConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2094 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 559: /* "TypeDeclaration" */
-
-/* Line 480 of lalr1.cc  */
-#line 810 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2103 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 560: /* "SequenceType" */
-
-/* Line 480 of lalr1.cc  */
-#line 810 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2112 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 561: /* "OccurrenceIndicator" */
-
-/* Line 480 of lalr1.cc  */
-#line 806 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2121 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 562: /* "ItemType" */
-
-/* Line 480 of lalr1.cc  */
-#line 806 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2130 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 563: /* "TypeList" */
-
-/* Line 480 of lalr1.cc  */
-#line 813 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2139 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 564: /* "GeneralizedAtomicType" */
-
-/* Line 480 of lalr1.cc  */
-#line 803 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2148 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 565: /* "SimpleType" */
-
-/* Line 480 of lalr1.cc  */
-#line 803 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2157 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 566: /* "KindTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 806 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2166 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 567: /* "AnyKindTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 802 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2175 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 569: /* "DocumentTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 804 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2184 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 570: /* "NamespaceTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 810 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2193 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 571: /* "TextTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 810 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2202 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 572: /* "CommentTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 803 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2211 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 573: /* "PITest" */
-
-/* Line 480 of lalr1.cc  */
-#line 808 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2220 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 574: /* "AttributeTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 803 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2229 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 575: /* "SchemaAttributeTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 809 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2238 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 576: /* "ElementTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 804 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2247 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 577: /* "SchemaElementTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 809 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2256 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 578: /* "TypeName" */
-
-/* Line 480 of lalr1.cc  */
-#line 810 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2265 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 579: /* "TypeName_WITH_HOOK" */
-
-/* Line 480 of lalr1.cc  */
-#line 810 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2274 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 580: /* "StringLiteral" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2283 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 582: /* "AnyFunctionTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 813 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2292 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 583: /* "TypedFunctionTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 813 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2301 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 586: /* "InsertExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2310 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 587: /* "DeleteExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2319 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 588: /* "ReplaceExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2328 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 589: /* "RenameExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2337 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 590: /* "TransformExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2346 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 591: /* "VarNameList" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2355 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 592: /* "VarNameDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2364 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 593: /* "TryExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2373 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 594: /* "CatchListExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2382 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 595: /* "CatchExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2391 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 596: /* "BracedExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2400 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 597: /* "NameTestList" */
-
-/* Line 480 of lalr1.cc  */
-#line 820 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1437 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 481: /* "FTContainsExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1446 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 482: /* "StringConcatExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1455 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 483: /* "opt_FTIgnoreOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1464 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 484: /* "RangeExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1473 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 485: /* "AdditiveExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1482 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 486: /* "MultiplicativeExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1491 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 487: /* "UnionExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1500 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 488: /* "IntersectExceptExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1509 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 489: /* "InstanceofExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1518 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 490: /* "TreatExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1527 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 491: /* "CastableExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1536 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 492: /* "CastExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1545 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 493: /* "SingleType" */
+
+/* Line 480 of lalr1.cc  */
+#line 808 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1554 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 494: /* "UnaryExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1563 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 495: /* "SignList" */
+
+/* Line 480 of lalr1.cc  */
+#line 808 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1572 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 496: /* "ValueExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1581 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 497: /* "SimpleMapExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1590 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 498: /* "ValueComp" */
+
+/* Line 480 of lalr1.cc  */
+#line 809 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1599 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 499: /* "NodeComp" */
+
+/* Line 480 of lalr1.cc  */
+#line 812 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1608 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 500: /* "ValidateExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1617 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 501: /* "ExtensionExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1626 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 502: /* "Pragma_list" */
+
+/* Line 480 of lalr1.cc  */
+#line 806 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1635 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 503: /* "Pragma" */
+
+/* Line 480 of lalr1.cc  */
+#line 806 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1644 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 504: /* "PathExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1653 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 506: /* "RelativePathExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1662 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 507: /* "StepExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1671 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 508: /* "AxisStep" */
+
+/* Line 480 of lalr1.cc  */
+#line 816 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1680 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 509: /* "ForwardStep" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1689 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 510: /* "ForwardAxis" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1698 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 511: /* "AbbrevForwardStep" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1707 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 512: /* "ReverseStep" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1716 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 513: /* "ReverseAxis" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1725 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 514: /* "NodeTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 799 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1734 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 515: /* "NameTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 804 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1743 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 516: /* "Wildcard" */
+
+/* Line 480 of lalr1.cc  */
+#line 811 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1752 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 517: /* "PostfixExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1761 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 518: /* "PredicateList" */
+
+/* Line 480 of lalr1.cc  */
+#line 806 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1770 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 519: /* "Predicate" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1779 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 520: /* "PrimaryExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1788 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 521: /* "Literal" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1797 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 522: /* "NumericLiteral" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1806 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 524: /* "VarRef" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1815 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 525: /* "ParenthesizedExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1824 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 526: /* "ContextItemExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1833 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 527: /* "OrderedExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1842 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 528: /* "UnorderedExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1851 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 529: /* "FunctionCall" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1860 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 530: /* "ArgList" */
+
+/* Line 480 of lalr1.cc  */
+#line 800 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1869 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 534: /* "Constructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1878 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 535: /* "DirectConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1887 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 536: /* "DirElemConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1896 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 537: /* "DirElemContentList" */
+
+/* Line 480 of lalr1.cc  */
+#line 802 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1905 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 538: /* "DirAttributeList" */
+
+/* Line 480 of lalr1.cc  */
+#line 802 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1914 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 539: /* "DirAttr" */
+
+/* Line 480 of lalr1.cc  */
+#line 802 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1923 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 541: /* "DirAttributeValue" */
+
+/* Line 480 of lalr1.cc  */
+#line 802 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1932 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 542: /* "opt_QuoteAttrContentList" */
+
+/* Line 480 of lalr1.cc  */
+#line 807 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1941 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 543: /* "QuoteAttrContentList" */
+
+/* Line 480 of lalr1.cc  */
+#line 807 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1950 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 544: /* "opt_AposAttrContentList" */
+
+/* Line 480 of lalr1.cc  */
+#line 800 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1959 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 545: /* "AposAttrContentList" */
+
+/* Line 480 of lalr1.cc  */
+#line 800 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1968 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 546: /* "QuoteAttrValueContent" */
+
+/* Line 480 of lalr1.cc  */
+#line 807 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1977 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 547: /* "AposAttrValueContent" */
+
+/* Line 480 of lalr1.cc  */
+#line 800 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1986 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 548: /* "DirElemContent" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1995 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 549: /* "CommonContent" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2004 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 550: /* "DirCommentConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2013 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 551: /* "DirPIConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2022 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 552: /* "CDataSection" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2031 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 553: /* "ComputedConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2040 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 554: /* "CompDocConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2049 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 555: /* "CompElemConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2058 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 556: /* "CompAttrConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2067 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 557: /* "CompTextConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2076 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 558: /* "CompCommentConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2085 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 559: /* "CompPIConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2094 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 560: /* "CompNamespaceConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2103 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 561: /* "TypeDeclaration" */
+
+/* Line 480 of lalr1.cc  */
+#line 808 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2112 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 562: /* "SequenceType" */
+
+/* Line 480 of lalr1.cc  */
+#line 808 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2121 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 563: /* "OccurrenceIndicator" */
+
+/* Line 480 of lalr1.cc  */
+#line 804 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2130 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 564: /* "ItemType" */
+
+/* Line 480 of lalr1.cc  */
+#line 804 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2139 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 565: /* "TypeList" */
+
+/* Line 480 of lalr1.cc  */
+#line 811 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2148 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 566: /* "GeneralizedAtomicType" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2157 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 567: /* "SimpleType" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2166 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 568: /* "KindTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 804 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2175 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 569: /* "AnyKindTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 800 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2184 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 571: /* "DocumentTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 802 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2193 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 572: /* "NamespaceTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 808 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2202 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 573: /* "TextTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 808 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2211 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 574: /* "CommentTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2220 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 575: /* "PITest" */
+
+/* Line 480 of lalr1.cc  */
+#line 806 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2229 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 576: /* "AttributeTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 801 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2238 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 577: /* "SchemaAttributeTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 807 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2247 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 578: /* "ElementTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 802 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2256 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 579: /* "SchemaElementTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 807 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2265 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 580: /* "TypeName" */
+
+/* Line 480 of lalr1.cc  */
+#line 808 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2274 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 581: /* "TypeName_WITH_HOOK" */
+
+/* Line 480 of lalr1.cc  */
+#line 808 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2283 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 582: /* "StringLiteral" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2292 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 584: /* "AnyFunctionTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 811 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2301 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 585: /* "TypedFunctionTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 811 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2310 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 588: /* "InsertExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2319 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 589: /* "DeleteExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2328 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 590: /* "ReplaceExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2337 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 591: /* "RenameExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2346 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 592: /* "TransformExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2355 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 593: /* "VarNameList" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2364 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 594: /* "VarNameDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2373 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 595: /* "TryExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2382 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 596: /* "CatchListExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2391 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 597: /* "CatchExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2400 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 598: /* "BracedExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2409 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 599: /* "NameTestList" */
+
+/* Line 480 of lalr1.cc  */
+#line 818 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 	{ delete (yyvaluep->name_test_list); };
 
 /* Line 480 of lalr1.cc  */
-#line 2409 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 598: /* "FTSelection" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2418 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 601: /* "FTOr" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2427 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 602: /* "FTAnd" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2436 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 603: /* "FTMildNot" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2445 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 604: /* "FTUnaryNot" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2454 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 605: /* "FTPrimaryWithOptions" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2463 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 606: /* "opt_FTMatchOptions" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2472 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 608: /* "FTWeight" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2481 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 609: /* "FTPrimary" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2490 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 610: /* "opt_FTTimes" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2499 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 611: /* "FTExtensionSelection" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2508 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 613: /* "FTWords" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2517 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 614: /* "FTWordsValue" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2526 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 616: /* "FTAnyallOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2535 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 619: /* "FTPosFilter" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2544 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 620: /* "FTOrder" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2553 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 621: /* "FTWindow" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2562 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 622: /* "FTDistance" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2571 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 623: /* "FTUnit" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2580 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 624: /* "FTMatchOptions" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2589 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 625: /* "FTMatchOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2598 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 626: /* "FTCaseOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2607 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 627: /* "FTDiacriticsOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2616 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 628: /* "FTExtensionOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2625 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 629: /* "FTStemOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2634 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 630: /* "FTThesaurusOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2643 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 634: /* "FTThesaurusID" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2652 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 637: /* "FTStopWordOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2661 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 638: /* "FTStopWords" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2670 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 642: /* "FTStopWordsInclExcl" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2679 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 643: /* "FTLanguageOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2688 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 644: /* "FTWildCardOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2697 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 645: /* "FTContent" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2706 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 646: /* "FTTimes" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2715 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 647: /* "FTRange" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2724 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 648: /* "FTScope" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2733 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 649: /* "FTBigUnit" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2742 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 650: /* "FTIgnoreOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2751 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 651: /* "JSONArrayConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 817 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2760 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 652: /* "JSONSimpleObjectUnion" */
-
-/* Line 480 of lalr1.cc  */
-#line 817 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2769 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 653: /* "JSONAccumulatorObjectUnion" */
-
-/* Line 480 of lalr1.cc  */
-#line 817 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2778 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 654: /* "JSONObjectConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 817 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2787 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 655: /* "JSONPairList" */
-
-/* Line 480 of lalr1.cc  */
-#line 817 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2796 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 656: /* "JSONInsertExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 817 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2805 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 657: /* "JSONAppendExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 817 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2814 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 658: /* "JSONDeleteExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 817 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2823 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 659: /* "JSONRenameExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 817 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2832 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 660: /* "JSONReplaceExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 817 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2841 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 666: /* "QNAME" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2850 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 667: /* "FUNCTION_NAME" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2859 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
-	break;
-      case 668: /* "EQNAME" */
-
-/* Line 480 of lalr1.cc  */
-#line 819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2868 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 2418 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 600: /* "FTSelection" */
+
+/* Line 480 of lalr1.cc  */
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2427 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 603: /* "FTOr" */
+
+/* Line 480 of lalr1.cc  */
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2436 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 604: /* "FTAnd" */
+
+/* Line 480 of lalr1.cc  */
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2445 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 605: /* "FTMildNot" */
+
+/* Line 480 of lalr1.cc  */
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2454 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 606: /* "FTUnaryNot" */
+
+/* Line 480 of lalr1.cc  */
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2463 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 607: /* "FTPrimaryWithOptions" */
+
+/* Line 480 of lalr1.cc  */
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2472 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 608: /* "opt_FTMatchOptions" */
+
+/* Line 480 of lalr1.cc  */
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2481 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 610: /* "FTWeight" */
+
+/* Line 480 of lalr1.cc  */
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2490 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 611: /* "FTPrimary" */
+
+/* Line 480 of lalr1.cc  */
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2499 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 612: /* "opt_FTTimes" */
+
+/* Line 480 of lalr1.cc  */
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2508 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 613: /* "FTExtensionSelection" */
+
+/* Line 480 of lalr1.cc  */
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2517 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 615: /* "FTWords" */
+
+/* Line 480 of lalr1.cc  */
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2526 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 616: /* "FTWordsValue" */
+
+/* Line 480 of lalr1.cc  */
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2535 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 618: /* "FTAnyallOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2544 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 621: /* "FTPosFilter" */
+
+/* Line 480 of lalr1.cc  */
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2553 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 622: /* "FTOrder" */
+
+/* Line 480 of lalr1.cc  */
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2562 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 623: /* "FTWindow" */
+
+/* Line 480 of lalr1.cc  */
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2571 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 624: /* "FTDistance" */
+
+/* Line 480 of lalr1.cc  */
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2580 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 625: /* "FTUnit" */
+
+/* Line 480 of lalr1.cc  */
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2589 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 626: /* "FTMatchOptions" */
+
+/* Line 480 of lalr1.cc  */
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2598 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 627: /* "FTMatchOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2607 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 628: /* "FTCaseOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2616 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 629: /* "FTDiacriticsOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2625 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 630: /* "FTExtensionOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2634 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 631: /* "FTStemOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2643 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 632: /* "FTThesaurusOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2652 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 636: /* "FTThesaurusID" */
+
+/* Line 480 of lalr1.cc  */
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2661 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 639: /* "FTStopWordOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2670 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 640: /* "FTStopWords" */
+
+/* Line 480 of lalr1.cc  */
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2679 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 644: /* "FTStopWordsInclExcl" */
+
+/* Line 480 of lalr1.cc  */
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2688 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 645: /* "FTLanguageOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2697 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 646: /* "FTWildCardOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2706 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 647: /* "FTContent" */
+
+/* Line 480 of lalr1.cc  */
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2715 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 648: /* "FTTimes" */
+
+/* Line 480 of lalr1.cc  */
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2724 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 649: /* "FTRange" */
+
+/* Line 480 of lalr1.cc  */
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2733 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 650: /* "FTScope" */
+
+/* Line 480 of lalr1.cc  */
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2742 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 651: /* "FTBigUnit" */
+
+/* Line 480 of lalr1.cc  */
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2751 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 652: /* "FTIgnoreOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2760 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 653: /* "JSONArrayConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 815 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2769 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 654: /* "JSONSimpleObjectUnion" */
+
+/* Line 480 of lalr1.cc  */
+#line 815 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2778 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 655: /* "JSONAccumulatorObjectUnion" */
+
+/* Line 480 of lalr1.cc  */
+#line 815 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2787 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 656: /* "JSONObjectConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 815 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2796 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 657: /* "JSONPairList" */
+
+/* Line 480 of lalr1.cc  */
+#line 815 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2805 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 658: /* "JSONInsertExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 815 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2814 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 659: /* "JSONAppendExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 815 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2823 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 660: /* "JSONDeleteExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 815 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2832 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 661: /* "JSONRenameExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 815 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2841 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 662: /* "JSONReplaceExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 815 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2850 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 665: /* "QNAME" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2859 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 666: /* "FUNCTION_NAME" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2868 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
+	break;
+      case 667: /* "EQNAME" */
+
+/* Line 480 of lalr1.cc  */
+#line 817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2877 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
 
 	default:
@@ -2955,13 +2964,13 @@
     /* User initialization code.  */
     
 /* Line 565 of lalr1.cc  */
-#line 128 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 128 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
 {
     yylloc.begin.filename = yylloc.end.filename = &(driver.theFilename2);
 }
 
 /* Line 565 of lalr1.cc  */
-#line 2965 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 2974 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.cpp"
 
     /* Initialize the stacks.  The initial state will be pushed in
        yynewstate, since the latter expects the semantical and the
@@ -3080,7 +3089,7 @@
 	  case 3:
 
 /* Line 690 of lalr1.cc  */
-#line 856 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 854 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
         (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
       }
@@ -3089,7 +3098,7 @@
   case 4:
 
 /* Line 690 of lalr1.cc  */
-#line 860 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 858 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
         (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
       }
@@ -3098,7 +3107,7 @@
   case 5:
 
 /* Line 690 of lalr1.cc  */
-#line 864 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 862 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
         (yyval.node) = (yysemantic_stack_[(3) - (3)].node);
       }
@@ -3107,7 +3116,7 @@
   case 6:
 
 /* Line 690 of lalr1.cc  */
-#line 870 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 868 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
         (yyval.node) = NULL;
       }
@@ -3116,7 +3125,7 @@
   case 7:
 
 /* Line 690 of lalr1.cc  */
-#line 874 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 872 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
         (yyval.node) = NULL; YYABORT;
       }
@@ -3125,7 +3134,7 @@
   case 8:
 
 /* Line 690 of lalr1.cc  */
-#line 878 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 876 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
         (yyval.node) = NULL; YYABORT;
       }
@@ -3134,7 +3143,7 @@
   case 9:
 
 /* Line 690 of lalr1.cc  */
-#line 884 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 882 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
       driver.set_expr( (yyval.node) );
@@ -3144,7 +3153,7 @@
   case 10:
 
 /* Line 690 of lalr1.cc  */
-#line 890 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 888 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       MainModule* mm = dynamic_cast<MainModule*>((yysemantic_stack_[(2) - (2)].node));
       mm->set_version_decl( static_cast<VersionDecl*>((yysemantic_stack_[(2) - (1)].node)) );
@@ -3156,7 +3165,7 @@
   case 11:
 
 /* Line 690 of lalr1.cc  */
-#line 898 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 896 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
       driver.set_expr( (yyval.node) );
@@ -3166,7 +3175,7 @@
   case 12:
 
 /* Line 690 of lalr1.cc  */
-#line 904 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 902 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       LibraryModule* lm = dynamic_cast<LibraryModule*>((yysemantic_stack_[(2) - (2)].node));
       lm->set_version_decl( static_cast<VersionDecl*>((yysemantic_stack_[(2) - (1)].node)) );
@@ -3178,7 +3187,7 @@
   case 13:
 
 /* Line 690 of lalr1.cc  */
-#line 913 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 911 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VersionDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (3)].sval)), "utf-8" );
     }
@@ -3187,7 +3196,7 @@
   case 14:
 
 /* Line 690 of lalr1.cc  */
-#line 918 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 916 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VersionDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(6) - (3)].sval)), SYMTAB((yysemantic_stack_[(6) - (5)].sval)) );
     }
@@ -3196,7 +3205,7 @@
   case 15:
 
 /* Line 690 of lalr1.cc  */
-#line 923 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 921 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VersionDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (3)].sval)), "utf-8", VersionDecl::jsoniq );
     }
@@ -3205,7 +3214,7 @@
   case 16:
 
 /* Line 690 of lalr1.cc  */
-#line 928 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 926 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VersionDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(6) - (3)].sval)), SYMTAB((yysemantic_stack_[(6) - (5)].sval)), VersionDecl::jsoniq );
     }
@@ -3214,7 +3223,7 @@
   case 17:
 
 /* Line 690 of lalr1.cc  */
-#line 934 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)), static_cast<SIND_DeclList*>((yysemantic_stack_[(3) - (1)].node)), NULL);
       (yyval.node) = new MainModule(LOC((yyloc)), static_cast<QueryBody*>((yysemantic_stack_[(3) - (3)].expr)), prolog);
@@ -3224,7 +3233,7 @@
   case 18:
 
 /* Line 690 of lalr1.cc  */
-#line 940 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 938 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)), NULL, static_cast<VFO_DeclList*>((yysemantic_stack_[(3) - (1)].node)));
       (yyval.node) = new MainModule(LOC((yyloc)), static_cast<QueryBody*>((yysemantic_stack_[(3) - (3)].expr)), prolog);
@@ -3234,7 +3243,7 @@
   case 19:
 
 /* Line 690 of lalr1.cc  */
-#line 946 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)),
                                   static_cast<SIND_DeclList*>((yysemantic_stack_[(5) - (1)].node)),
@@ -3246,7 +3255,7 @@
   case 20:
 
 /* Line 690 of lalr1.cc  */
-#line 954 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 952 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new MainModule( LOC((yyloc)), static_cast<QueryBody*>((yysemantic_stack_[(1) - (1)].expr)), NULL );
     }
@@ -3255,7 +3264,7 @@
   case 21:
 
 /* Line 690 of lalr1.cc  */
-#line 959 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 957 "/home/colea/work/new-jsoniq/build/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();
@@ -3267,7 +3276,7 @@
   case 22:
 
 /* Line 690 of lalr1.cc  */
-#line 967 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 965 "/home/colea/work/new-jsoniq/build/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();
@@ -3279,7 +3288,7 @@
   case 23:
 
 /* Line 690 of lalr1.cc  */
-#line 975 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 973 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(5) - (1)].node); (yyval.node) = (yysemantic_stack_[(5) - (3)].node); (yyval.node) = (yysemantic_stack_[(5) - (5)].expr);
       (yylocation_stack_[(5) - (3)]).step();
@@ -3291,7 +3300,7 @@
   case 24:
 
 /* Line 690 of lalr1.cc  */
-#line 983 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 981 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(5) - (1)].node); (yyval.node) = (yysemantic_stack_[(5) - (3)].node); (yyval.node) = (yysemantic_stack_[(5) - (5)].expr);
       (yylocation_stack_[(5) - (1)]).step();
@@ -3303,7 +3312,7 @@
   case 25:
 
 /* Line 690 of lalr1.cc  */
-#line 992 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 990 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new LibraryModule(LOC((yyloc)), static_cast<ModuleDecl*>((yysemantic_stack_[(1) - (1)].node)), NULL);
     }
@@ -3312,7 +3321,7 @@
   case 26:
 
 /* Line 690 of lalr1.cc  */
-#line 997 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 995 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)), static_cast<SIND_DeclList*>((yysemantic_stack_[(3) - (2)].node)), NULL);
       (yyval.node) = new LibraryModule(LOC((yyloc)), static_cast<ModuleDecl*>((yysemantic_stack_[(3) - (1)].node)), prolog);
@@ -3322,7 +3331,7 @@
   case 27:
 
 /* Line 690 of lalr1.cc  */
-#line 1003 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1001 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)), NULL, static_cast<VFO_DeclList*>((yysemantic_stack_[(3) - (2)].node)));
       (yyval.node) = new LibraryModule(LOC((yyloc)), static_cast<ModuleDecl*>((yysemantic_stack_[(3) - (1)].node)), prolog);
@@ -3332,7 +3341,7 @@
   case 28:
 
 /* Line 690 of lalr1.cc  */
-#line 1009 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1007 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)),
                                   static_cast<SIND_DeclList*>((yysemantic_stack_[(5) - (2)].node)),
@@ -3344,7 +3353,7 @@
   case 29:
 
 /* Line 690 of lalr1.cc  */
-#line 1018 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1016 "/home/colea/work/new-jsoniq/build/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)) );
@@ -3355,7 +3364,7 @@
   case 30:
 
 /* Line 690 of lalr1.cc  */
-#line 1026 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1024 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       SIND_DeclList *sdl = new SIND_DeclList( LOC((yyloc)) );
       sdl->push_back( (yysemantic_stack_[(1) - (1)].node) );
@@ -3366,7 +3375,7 @@
   case 31:
 
 /* Line 690 of lalr1.cc  */
-#line 1033 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1031 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       ((SIND_DeclList*)(yysemantic_stack_[(3) - (1)].node))->push_back( (yysemantic_stack_[(3) - (3)].node) );
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node);
@@ -3376,7 +3385,7 @@
   case 32:
 
 /* Line 690 of lalr1.cc  */
-#line 1039 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1037 "/home/colea/work/new-jsoniq/build/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();
@@ -3388,7 +3397,7 @@
   case 46:
 
 /* Line 690 of lalr1.cc  */
-#line 1065 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1063 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new BoundarySpaceDecl(LOC((yyloc)), StaticContextConsts::preserve_space);
     }
@@ -3397,7 +3406,7 @@
   case 47:
 
 /* Line 690 of lalr1.cc  */
-#line 1070 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1068 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new BoundarySpaceDecl(LOC((yyloc)), StaticContextConsts::strip_space);
     }
@@ -3406,7 +3415,7 @@
   case 48:
 
 /* Line 690 of lalr1.cc  */
-#line 1076 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1074 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new DefaultCollationDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (4)].sval)) );
     }
@@ -3415,7 +3424,7 @@
   case 49:
 
 /* Line 690 of lalr1.cc  */
-#line 1082 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1080 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new BaseURIDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (3)].sval)) );
     }
@@ -3424,7 +3433,7 @@
   case 50:
 
 /* Line 690 of lalr1.cc  */
-#line 1088 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1086 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new ConstructionDecl(LOC((yyloc)), StaticContextConsts::cons_preserve);
     }
@@ -3433,7 +3442,7 @@
   case 51:
 
 /* Line 690 of lalr1.cc  */
-#line 1093 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1091 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new ConstructionDecl(LOC((yyloc)), StaticContextConsts::cons_strip);
     }
@@ -3442,7 +3451,7 @@
   case 52:
 
 /* Line 690 of lalr1.cc  */
-#line 1099 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1097 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new OrderingModeDecl(LOC((yyloc)), StaticContextConsts::ordered);
     }
@@ -3451,7 +3460,7 @@
   case 53:
 
 /* Line 690 of lalr1.cc  */
-#line 1104 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1102 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new OrderingModeDecl(LOC((yyloc)), StaticContextConsts::unordered);
     }
@@ -3460,7 +3469,7 @@
   case 54:
 
 /* Line 690 of lalr1.cc  */
-#line 1110 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1108 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new EmptyOrderDecl(LOC((yyloc)), StaticContextConsts::empty_greatest);
     }
@@ -3469,7 +3478,7 @@
   case 55:
 
 /* Line 690 of lalr1.cc  */
-#line 1115 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1113 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new EmptyOrderDecl(LOC((yyloc)), StaticContextConsts::empty_least);
     }
@@ -3478,7 +3487,7 @@
   case 56:
 
 /* Line 690 of lalr1.cc  */
-#line 1121 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1119 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CopyNamespacesDecl(LOC((yyloc)), true, true);
     }
@@ -3487,7 +3496,7 @@
   case 57:
 
 /* Line 690 of lalr1.cc  */
-#line 1126 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1124 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CopyNamespacesDecl(LOC((yyloc)), true, false);
     }
@@ -3496,7 +3505,7 @@
   case 58:
 
 /* Line 690 of lalr1.cc  */
-#line 1131 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1129 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CopyNamespacesDecl(LOC((yyloc)), false, true);
     }
@@ -3505,7 +3514,7 @@
   case 59:
 
 /* Line 690 of lalr1.cc  */
-#line 1136 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1134 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CopyNamespacesDecl(LOC((yyloc)), false, false);
     }
@@ -3514,7 +3523,7 @@
   case 62:
 
 /* Line 690 of lalr1.cc  */
-#line 1146 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1144 "/home/colea/work/new-jsoniq/build/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\"");
@@ -3525,7 +3534,7 @@
   case 63:
 
 /* Line 690 of lalr1.cc  */
-#line 1154 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1152 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new SchemaImport( LOC((yyloc)), NULL, SYMTAB((yysemantic_stack_[(3) - (3)].sval)), NULL );
     }
@@ -3534,7 +3543,7 @@
   case 64:
 
 /* Line 690 of lalr1.cc  */
-#line 1159 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1157 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new SchemaImport(LOC((yyloc)),
                             dynamic_cast<SchemaPrefix*>((yysemantic_stack_[(4) - (3)].node)),
@@ -3546,7 +3555,7 @@
   case 65:
 
 /* Line 690 of lalr1.cc  */
-#line 1167 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1165 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new SchemaImport(LOC((yyloc)),
                             NULL,
@@ -3558,7 +3567,7 @@
   case 66:
 
 /* Line 690 of lalr1.cc  */
-#line 1175 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1173 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new SchemaImport(LOC((yyloc)),
                             dynamic_cast<SchemaPrefix*>((yysemantic_stack_[(6) - (3)].node)),
@@ -3570,7 +3579,7 @@
   case 67:
 
 /* Line 690 of lalr1.cc  */
-#line 1184 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1182 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       URILiteralList *ull = new URILiteralList( LOC((yyloc)));
       ull->push_back( SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
@@ -3581,7 +3590,7 @@
   case 68:
 
 /* Line 690 of lalr1.cc  */
-#line 1191 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1189 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       if ( URILiteralList *ull = dynamic_cast<URILiteralList*>((yysemantic_stack_[(3) - (1)].node)) )
         ull->push_back( SYMTAB((yysemantic_stack_[(3) - (3)].sval)) );
@@ -3592,7 +3601,7 @@
   case 69:
 
 /* Line 690 of lalr1.cc  */
-#line 1199 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1197 "/home/colea/work/new-jsoniq/build/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)));
@@ -3602,7 +3611,7 @@
   case 70:
 
 /* Line 690 of lalr1.cc  */
-#line 1205 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1203 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new SchemaPrefix( LOC((yyloc)), true );
     }
@@ -3611,7 +3620,7 @@
   case 71:
 
 /* Line 690 of lalr1.cc  */
-#line 1211 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1209 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new ModuleImport(LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (3)].sval)), NULL);
       dynamic_cast<ModuleImport *>((yyval.node))->setComment(SYMTAB((yysemantic_stack_[(3) - (2)].sval)));
@@ -3621,7 +3630,7 @@
   case 72:
 
 /* Line 690 of lalr1.cc  */
-#line 1217 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1215 "/home/colea/work/new-jsoniq/build/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);
@@ -3632,7 +3641,7 @@
   case 73:
 
 /* Line 690 of lalr1.cc  */
-#line 1224 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1222 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new ModuleImport(LOC((yyloc)),
                             SYMTAB((yysemantic_stack_[(5) - (3)].sval)),
@@ -3644,7 +3653,7 @@
   case 74:
 
 /* Line 690 of lalr1.cc  */
-#line 1232 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1230 "/home/colea/work/new-jsoniq/build/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)),
@@ -3658,7 +3667,7 @@
   case 75:
 
 /* Line 690 of lalr1.cc  */
-#line 1243 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1241 "/home/colea/work/new-jsoniq/build/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)) );
@@ -3668,7 +3677,7 @@
   case 76:
 
 /* Line 690 of lalr1.cc  */
-#line 1250 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1248 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new DefaultNamespaceDecl(LOC((yyloc)),
                                     ParseConstants::ns_element_default,
@@ -3679,7 +3688,7 @@
   case 77:
 
 /* Line 690 of lalr1.cc  */
-#line 1257 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1255 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new DefaultNamespaceDecl(LOC((yyloc)),
                                     ParseConstants::ns_function_default,
@@ -3690,7 +3699,7 @@
   case 78:
 
 /* Line 690 of lalr1.cc  */
-#line 1265 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1263 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       VFO_DeclList *vdl = new VFO_DeclList( LOC((yyloc)));
       vdl->push_back( (yysemantic_stack_[(1) - (1)].node) );
@@ -3701,7 +3710,7 @@
   case 79:
 
 /* Line 690 of lalr1.cc  */
-#line 1272 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1270 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       ((VFO_DeclList*)(yysemantic_stack_[(3) - (1)].node))->push_back( (yysemantic_stack_[(3) - (3)].node) );
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node);
@@ -3711,7 +3720,7 @@
   case 80:
 
 /* Line 690 of lalr1.cc  */
-#line 1278 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1276 "/home/colea/work/new-jsoniq/build/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();
@@ -3723,7 +3732,7 @@
   case 89:
 
 /* Line 690 of lalr1.cc  */
-#line 1297 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1295 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new DecimalFormatNode(LOC((yyloc)), (yysemantic_stack_[(4) - (4)].vstrpair));
       delete (yysemantic_stack_[(4) - (4)].vstrpair);
@@ -3733,7 +3742,7 @@
   case 90:
 
 /* Line 690 of lalr1.cc  */
-#line 1303 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1301 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new DecimalFormatNode(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)), (yysemantic_stack_[(4) - (4)].vstrpair));
       delete (yysemantic_stack_[(4) - (4)].vstrpair);
@@ -3743,7 +3752,7 @@
   case 91:
 
 /* Line 690 of lalr1.cc  */
-#line 1310 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1308 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.vstrpair) = new vector<string_pair_t>();
       (yyval.vstrpair)->push_back( *(yysemantic_stack_[(1) - (1)].strpair) );
@@ -3754,7 +3763,7 @@
   case 92:
 
 /* Line 690 of lalr1.cc  */
-#line 1317 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1315 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yysemantic_stack_[(2) - (1)].vstrpair)->push_back( *(yysemantic_stack_[(2) - (2)].strpair) );
       delete (yysemantic_stack_[(2) - (2)].strpair);
@@ -3765,7 +3774,7 @@
   case 93:
 
 /* Line 690 of lalr1.cc  */
-#line 1325 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1323 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       StringLiteral *sl = static_cast<StringLiteral*>((yysemantic_stack_[(3) - (3)].expr));
       (yyval.strpair) = new string_pair_t( (yysemantic_stack_[(3) - (1)].strval), sl->get_strval().str() );
@@ -3776,77 +3785,77 @@
   case 94:
 
 /* Line 690 of lalr1.cc  */
-#line 1332 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1330 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.strval) = "decimal-separator"; }
     break;
 
   case 95:
 
 /* Line 690 of lalr1.cc  */
-#line 1333 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1331 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.strval) = "digit"; }
     break;
 
   case 96:
 
 /* Line 690 of lalr1.cc  */
-#line 1334 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1332 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.strval) = "grouping-separator"; }
     break;
 
   case 97:
 
 /* Line 690 of lalr1.cc  */
-#line 1335 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1333 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.strval) = "infinity"; }
     break;
 
   case 98:
 
 /* Line 690 of lalr1.cc  */
-#line 1336 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1334 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.strval) = "minus-sign"; }
     break;
 
   case 99:
 
 /* Line 690 of lalr1.cc  */
-#line 1337 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1335 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.strval) = "NaN"; }
     break;
 
   case 100:
 
 /* Line 690 of lalr1.cc  */
-#line 1338 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1336 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.strval) = "pattern-separator"; }
     break;
 
   case 101:
 
 /* Line 690 of lalr1.cc  */
-#line 1339 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1337 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.strval) = "percent"; }
     break;
 
   case 102:
 
 /* Line 690 of lalr1.cc  */
-#line 1340 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1338 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.strval) = "per-mille"; }
     break;
 
   case 103:
 
 /* Line 690 of lalr1.cc  */
-#line 1341 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1339 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.strval) = "zero-digit"; }
     break;
 
   case 104:
 
 /* Line 690 of lalr1.cc  */
-#line 1345 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1343 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new OptionDecl(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)), SYMTAB((yysemantic_stack_[(4) - (4)].sval)));
       if (static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr))->get_localname() == "enable")
@@ -3863,7 +3872,7 @@
   case 105:
 
 /* Line 690 of lalr1.cc  */
-#line 1359 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1357 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new FTOptionDecl( LOC((yyloc)), dynamic_cast<FTMatchOptions*>((yysemantic_stack_[(3) - (3)].node)) );
     }
@@ -3872,7 +3881,7 @@
   case 106:
 
 /* Line 690 of lalr1.cc  */
-#line 1365 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1363 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(4) - (4)].node);
     }
@@ -3881,7 +3890,7 @@
   case 107:
 
 /* Line 690 of lalr1.cc  */
-#line 1371 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1369 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       CtxItemDecl* d = dynamic_cast<CtxItemDecl*>((yysemantic_stack_[(3) - (3)].node));
       d->theType = (yysemantic_stack_[(3) - (2)].node);
@@ -3892,7 +3901,7 @@
   case 108:
 
 /* Line 690 of lalr1.cc  */
-#line 1378 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1376 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -3901,7 +3910,7 @@
   case 109:
 
 /* Line 690 of lalr1.cc  */
-#line 1384 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1382 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       CtxItemDecl* d = dynamic_cast<CtxItemDecl*>((yysemantic_stack_[(1) - (1)].node));
       d->theIsExternal = false;
@@ -3912,7 +3921,7 @@
   case 110:
 
 /* Line 690 of lalr1.cc  */
-#line 1391 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1389 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CtxItemDecl(LOC((yyloc)), NULL);
     }
@@ -3921,7 +3930,7 @@
   case 111:
 
 /* Line 690 of lalr1.cc  */
-#line 1396 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1394 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
     }
@@ -3930,7 +3939,7 @@
   case 112:
 
 /* Line 690 of lalr1.cc  */
-#line 1402 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1400 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CtxItemDecl(LOC((yyloc)), (yysemantic_stack_[(2) - (2)].expr));
     }
@@ -3939,7 +3948,7 @@
   case 113:
 
 /* Line 690 of lalr1.cc  */
-#line 1408 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1406 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       std::auto_ptr<VarNameAndType> nt(dynamic_cast<VarNameAndType *>((yysemantic_stack_[(4) - (2)].varnametype)));
       (yyval.node) = new GlobalVarDecl(LOC((yyloc)),
@@ -3955,7 +3964,7 @@
   case 114:
 
 /* Line 690 of lalr1.cc  */
-#line 1420 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1418 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       std::auto_ptr<VarNameAndType> nt(dynamic_cast<VarNameAndType *>((yysemantic_stack_[(3) - (2)].varnametype)));
       (yyval.node) = new GlobalVarDecl(LOC((yyloc)),
@@ -3971,7 +3980,7 @@
   case 115:
 
 /* Line 690 of lalr1.cc  */
-#line 1432 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1430 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       std::auto_ptr<VarNameAndType> nt(dynamic_cast<VarNameAndType *>((yysemantic_stack_[(5) - (2)].varnametype)));
       (yyval.node) = new GlobalVarDecl(LOC((yyloc)),
@@ -3987,7 +3996,7 @@
   case 116:
 
 /* Line 690 of lalr1.cc  */
-#line 1445 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1443 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.varnametype) = new VarNameAndType(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)), NULL, NULL);
     }
@@ -3996,7 +4005,7 @@
   case 117:
 
 /* Line 690 of lalr1.cc  */
-#line 1450 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1448 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.varnametype) = new VarNameAndType(LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)),
@@ -4008,7 +4017,7 @@
   case 118:
 
 /* Line 690 of lalr1.cc  */
-#line 1458 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1456 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.varnametype) = new VarNameAndType(LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(4) - (4)].expr)),
@@ -4020,7 +4029,7 @@
   case 119:
 
 /* Line 690 of lalr1.cc  */
-#line 1466 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1464 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.varnametype) = new VarNameAndType(LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(5) - (4)].expr)),
@@ -4032,7 +4041,7 @@
   case 120:
 
 /* Line 690 of lalr1.cc  */
-#line 1475 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1473 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AnnotationListParsenode(LOC((yyloc)), static_cast<AnnotationParsenode*>((yysemantic_stack_[(1) - (1)].node)));
     }
@@ -4041,7 +4050,7 @@
   case 121:
 
 /* Line 690 of lalr1.cc  */
-#line 1480 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1478 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       static_cast<AnnotationListParsenode*>((yysemantic_stack_[(2) - (1)].node))->push_back(static_cast<AnnotationParsenode*>((yysemantic_stack_[(2) - (2)].node)));
       (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
@@ -4051,7 +4060,7 @@
   case 122:
 
 /* Line 690 of lalr1.cc  */
-#line 1487 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1485 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AnnotationParsenode(LOC((yyloc)), new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval))), NULL);
     }
@@ -4060,7 +4069,7 @@
   case 123:
 
 /* Line 690 of lalr1.cc  */
-#line 1492 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1490 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AnnotationParsenode(LOC((yyloc)),
                                    new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (1)].sval))),
@@ -4071,7 +4080,7 @@
   case 124:
 
 /* Line 690 of lalr1.cc  */
-#line 1499 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1497 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AnnotationParsenode(LOC((yyloc)), new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)), true), NULL);
     }
@@ -4080,7 +4089,7 @@
   case 125:
 
 /* Line 690 of lalr1.cc  */
-#line 1504 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1502 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AnnotationParsenode(LOC((yyloc)),
                                    new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (1)].sval)), true),
@@ -4091,7 +4100,7 @@
   case 126:
 
 /* Line 690 of lalr1.cc  */
-#line 1512 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1510 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AnnotationLiteralListParsenode(LOC((yyloc)), (yysemantic_stack_[(1) - (1)].expr));
     }
@@ -4100,7 +4109,7 @@
   case 127:
 
 /* Line 690 of lalr1.cc  */
-#line 1517 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1515 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       static_cast<AnnotationLiteralListParsenode*>((yysemantic_stack_[(3) - (1)].node))->push_back((yysemantic_stack_[(3) - (3)].expr));
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node);
@@ -4110,7 +4119,7 @@
   case 128:
 
 /* Line 690 of lalr1.cc  */
-#line 1524 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1522 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       static_cast<FunctionDecl*>((yysemantic_stack_[(2) - (2)].node))->setComment( SYMTAB((yysemantic_stack_[(2) - (1)].sval)) );
       (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
@@ -4120,7 +4129,7 @@
   case 129:
 
 /* Line 690 of lalr1.cc  */
-#line 1530 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1528 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       FunctionDecl* fdecl = static_cast<FunctionDecl*>((yysemantic_stack_[(3) - (3)].node));
       fdecl->setComment( SYMTAB((yysemantic_stack_[(3) - (1)].sval)) );
@@ -4132,13 +4141,16 @@
   case 132:
 
 /* Line 690 of lalr1.cc  */
-#line 1543 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1541 "/home/colea/work/new-jsoniq/build/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,
                             &* (yysemantic_stack_[(4) - (3)].fnsig)->theReturnType,
-                            (yysemantic_stack_[(4) - (4)].expr),
+                            body,
                             false,
                             false);
       delete (yysemantic_stack_[(4) - (3)].fnsig);
@@ -4148,7 +4160,7 @@
   case 133:
 
 /* Line 690 of lalr1.cc  */
-#line 1554 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1555 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new FunctionDecl(LOC ((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -4164,8 +4176,11 @@
   case 134:
 
 /* Line 690 of lalr1.cc  */
-#line 1567 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1568 "/home/colea/work/new-jsoniq/build/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(),
@@ -4180,7 +4195,7 @@
   case 135:
 
 /* Line 690 of lalr1.cc  */
-#line 1579 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1583 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new FunctionDecl(LOC((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(5) - (3)].expr)),
@@ -4196,7 +4211,7 @@
   case 136:
 
 /* Line 690 of lalr1.cc  */
-#line 1592 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1596 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.fnsig) = new FunctionSig(NULL);
     }
@@ -4205,7 +4220,7 @@
   case 137:
 
 /* Line 690 of lalr1.cc  */
-#line 1597 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1601 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.fnsig) = new FunctionSig(dynamic_cast<ParamList*>((yysemantic_stack_[(3) - (2)].node)));
     }
@@ -4214,7 +4229,7 @@
   case 138:
 
 /* Line 690 of lalr1.cc  */
-#line 1602 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1606 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.fnsig) = new FunctionSig(NULL, dynamic_cast<SequenceType*>((yysemantic_stack_[(4) - (4)].node)));
     }
@@ -4223,7 +4238,7 @@
   case 139:
 
 /* Line 690 of lalr1.cc  */
-#line 1607 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1611 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.fnsig) = new FunctionSig(dynamic_cast<ParamList*>((yysemantic_stack_[(5) - (2)].node)), dynamic_cast<SequenceType*>((yysemantic_stack_[(5) - (5)].node)));
     }
@@ -4232,7 +4247,7 @@
   case 140:
 
 /* Line 690 of lalr1.cc  */
-#line 1613 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1617 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       ParamList *pl = new ParamList( LOC((yyloc)) );
       pl->push_back( dynamic_cast<Param*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -4243,7 +4258,7 @@
   case 141:
 
 /* Line 690 of lalr1.cc  */
-#line 1620 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1624 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       if ( ParamList *pl = dynamic_cast<ParamList*>((yysemantic_stack_[(3) - (1)].node)) )
         pl->push_back( dynamic_cast<Param*>((yysemantic_stack_[(3) - (3)].node)) );
@@ -4254,7 +4269,7 @@
   case 142:
 
 /* Line 690 of lalr1.cc  */
-#line 1628 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1632 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new Param(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)), NULL);
     }
@@ -4263,7 +4278,7 @@
   case 143:
 
 /* Line 690 of lalr1.cc  */
-#line 1633 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1637 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new Param(LOC((yyloc)),
                      static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)),
@@ -4274,7 +4289,7 @@
   case 144:
 
 /* Line 690 of lalr1.cc  */
-#line 1641 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1645 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CollectionDecl( LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)),
@@ -4287,7 +4302,7 @@
   case 145:
 
 /* Line 690 of lalr1.cc  */
-#line 1649 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1653 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CollectionDecl( LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(5) - (3)].expr)),
@@ -4300,7 +4315,7 @@
   case 146:
 
 /* Line 690 of lalr1.cc  */
-#line 1657 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1661 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CollectionDecl( LOC((yyloc)),
                                static_cast<QName*>((yysemantic_stack_[(4) - (4)].expr)),
@@ -4313,7 +4328,7 @@
   case 147:
 
 /* Line 690 of lalr1.cc  */
-#line 1665 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1669 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CollectionDecl( LOC((yyloc)),
                                static_cast<QName*>((yysemantic_stack_[(6) - (4)].expr)),
@@ -4326,7 +4341,7 @@
   case 148:
 
 /* Line 690 of lalr1.cc  */
-#line 1675 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1679 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = static_cast<parsenode*>(new SequenceType(LOC((yyloc)), (yysemantic_stack_[(1) - (1)].node), NULL));
     }
@@ -4335,7 +4350,7 @@
   case 149:
 
 /* Line 690 of lalr1.cc  */
-#line 1679 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1683 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = static_cast<parsenode*>(new SequenceType(LOC((yyloc)),
                                                     (yysemantic_stack_[(2) - (1)].node),
@@ -4346,7 +4361,7 @@
   case 150:
 
 /* Line 690 of lalr1.cc  */
-#line 1685 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1689 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = static_cast<parsenode*>(new SequenceType(LOC((yyloc)), (yysemantic_stack_[(1) - (1)].node), NULL));
     }
@@ -4355,7 +4370,7 @@
   case 151:
 
 /* Line 690 of lalr1.cc  */
-#line 1689 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1693 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = static_cast<parsenode*>(new SequenceType(LOC((yyloc)),
                                                     (yysemantic_stack_[(2) - (1)].node),
@@ -4366,7 +4381,7 @@
   case 152:
 
 /* Line 690 of lalr1.cc  */
-#line 1696 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1700 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AST_IndexDecl(LOC((yyloc)),
                              static_cast<QName*>((yysemantic_stack_[(8) - (3)].expr)),
@@ -4380,7 +4395,7 @@
   case 153:
 
 /* Line 690 of lalr1.cc  */
-#line 1705 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1709 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AST_IndexDecl(LOC((yyloc)),
                              static_cast<QName*>((yysemantic_stack_[(9) - (4)].expr)),
@@ -4394,7 +4409,7 @@
   case 154:
 
 /* Line 690 of lalr1.cc  */
-#line 1716 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1720 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       IndexKeyList* keyList = new IndexKeyList(LOC((yyloc)));
       keyList->addKeySpec(dynamic_cast<IndexKeySpec*>((yysemantic_stack_[(1) - (1)].node)));
@@ -4405,7 +4420,7 @@
   case 155:
 
 /* Line 690 of lalr1.cc  */
-#line 1722 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1726 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       dynamic_cast<IndexKeyList*>((yysemantic_stack_[(3) - (1)].node))->addKeySpec(dynamic_cast<IndexKeySpec*>((yysemantic_stack_[(3) - (3)].node)));
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node);
@@ -4415,7 +4430,7 @@
   case 156:
 
 /* Line 690 of lalr1.cc  */
-#line 1729 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1733 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new IndexKeySpec(LOC((yyloc)), (yysemantic_stack_[(1) - (1)].expr), NULL, NULL);
     }
@@ -4424,7 +4439,7 @@
   case 157:
 
 /* Line 690 of lalr1.cc  */
-#line 1734 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1738 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new IndexKeySpec(LOC((yyloc)),
                             (yysemantic_stack_[(2) - (1)].expr),
@@ -4436,7 +4451,7 @@
   case 158:
 
 /* Line 690 of lalr1.cc  */
-#line 1741 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1745 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new IndexKeySpec(LOC((yyloc)),
                             (yysemantic_stack_[(2) - (1)].expr),
@@ -4448,7 +4463,7 @@
   case 159:
 
 /* Line 690 of lalr1.cc  */
-#line 1748 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1752 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new IndexKeySpec(LOC((yyloc)),
                             (yysemantic_stack_[(3) - (1)].expr),
@@ -4460,7 +4475,7 @@
   case 160:
 
 /* Line 690 of lalr1.cc  */
-#line 1758 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1762 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new ICCollSimpleCheck(LOC((yyloc)),
                                  static_cast<QName*>((yysemantic_stack_[(11) - (4)].expr)),
@@ -4473,7 +4488,7 @@
   case 161:
 
 /* Line 690 of lalr1.cc  */
-#line 1768 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1772 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new ICCollUniqueKeyCheck(LOC((yyloc)),
                                     static_cast<QName*>((yysemantic_stack_[(14) - (4)].expr)),
@@ -4486,7 +4501,7 @@
   case 162:
 
 /* Line 690 of lalr1.cc  */
-#line 1778 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1782 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new ICCollForeachNode(LOC((yyloc)),
                                  static_cast<QName*>((yysemantic_stack_[(13) - (4)].expr)),
@@ -4499,7 +4514,7 @@
   case 163:
 
 /* Line 690 of lalr1.cc  */
-#line 1789 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1793 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new ICForeignKey( LOC((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(22) - (4)].expr)),
@@ -4515,7 +4530,7 @@
   case 164:
 
 /* Line 690 of lalr1.cc  */
-#line 1802 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1806 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       if ((yysemantic_stack_[(1) - (1)].expr) == NULL)
       {
@@ -4534,7 +4549,7 @@
   case 165:
 
 /* Line 690 of lalr1.cc  */
-#line 1818 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1822 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4543,7 +4558,7 @@
   case 166:
 
 /* Line 690 of lalr1.cc  */
-#line 1822 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1826 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4552,7 +4567,7 @@
   case 167:
 
 /* Line 690 of lalr1.cc  */
-#line 1826 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1830 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = NULL;
     }
@@ -4561,7 +4576,7 @@
   case 168:
 
 /* Line 690 of lalr1.cc  */
-#line 1832 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1836 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4570,7 +4585,7 @@
   case 169:
 
 /* Line 690 of lalr1.cc  */
-#line 1836 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1840 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4579,16 +4594,16 @@
   case 170:
 
 /* Line 690 of lalr1.cc  */
-#line 1840 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1844 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.expr) = new BlockBody(LOC((yyloc)));
+      (yyval.expr) = NULL;
     }
     break;
 
   case 171:
 
 /* Line 690 of lalr1.cc  */
-#line 1846 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1850 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4597,7 +4612,7 @@
   case 172:
 
 /* Line 690 of lalr1.cc  */
-#line 1851 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1855 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       BlockBody* blk = static_cast<BlockBody*>((yysemantic_stack_[(2) - (1)].expr));
       blk->add((yysemantic_stack_[(2) - (2)].expr));
@@ -4608,7 +4623,7 @@
   case 173:
 
 /* Line 690 of lalr1.cc  */
-#line 1859 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1863 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       BlockBody* blk = new BlockBody(LOC((yyloc)));
       blk->add((yysemantic_stack_[(1) - (1)].expr));
@@ -4619,7 +4634,7 @@
   case 174:
 
 /* Line 690 of lalr1.cc  */
-#line 1866 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1870 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       BlockBody* blk = static_cast<BlockBody*>((yysemantic_stack_[(2) - (1)].expr));
       blk->add((yysemantic_stack_[(2) - (2)].expr));
@@ -4630,7 +4645,7 @@
   case 175:
 
 /* Line 690 of lalr1.cc  */
-#line 1873 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1877 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(4) - (1)].expr);
       (yyval.expr) = (yysemantic_stack_[(4) - (2)].expr);
@@ -4646,7 +4661,7 @@
   case 189:
 
 /* Line 690 of lalr1.cc  */
-#line 1901 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1905 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
     }
@@ -4655,7 +4670,7 @@
   case 190:
 
 /* Line 690 of lalr1.cc  */
-#line 1907 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1911 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       BlockBody* block = dynamic_cast<BlockBody*>((yysemantic_stack_[(3) - (2)].expr));
       if ((yysemantic_stack_[(3) - (2)].expr) == NULL || (block != NULL && block->isEmpty()))
@@ -4664,7 +4679,7 @@
         (yyval.expr) = new JSONDirectObjectConstructor(LOC((yyloc)));
       }
       else
-      if (block == NULL)
+      if (block == NULL && (yysemantic_stack_[(3) - (2)].expr) != NULL)
       {
         BlockBody* blk = new BlockBody(LOC((yyloc)));
         blk->add((yysemantic_stack_[(3) - (2)].expr));
@@ -4680,7 +4695,7 @@
   case 191:
 
 /* Line 690 of lalr1.cc  */
-#line 1929 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1933 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
     }
@@ -4689,7 +4704,7 @@
   case 192:
 
 /* Line 690 of lalr1.cc  */
-#line 1935 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1939 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(2) - (1)].expr);
     }
@@ -4698,7 +4713,7 @@
   case 193:
 
 /* Line 690 of lalr1.cc  */
-#line 1941 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1945 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       VarDeclStmt* vdecl = static_cast<VarDeclStmt*>((yysemantic_stack_[(3) - (1)].expr));
       vdecl->add((yysemantic_stack_[(3) - (3)].node));
@@ -4709,7 +4724,7 @@
   case 194:
 
 /* Line 690 of lalr1.cc  */
-#line 1948 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1952 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       VarDeclStmt* vdecl = new VarDeclStmt(LOC((yyloc)), NULL);
       vdecl->add((yysemantic_stack_[(2) - (2)].node));
@@ -4720,7 +4735,7 @@
   case 195:
 
 /* Line 690 of lalr1.cc  */
-#line 1955 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1959 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       VarDeclStmt* vdecl = new VarDeclStmt(LOC((yyloc)),
                                            static_cast<AnnotationListParsenode*>((yysemantic_stack_[(3) - (1)].node)));
@@ -4732,7 +4747,7 @@
   case 196:
 
 /* Line 690 of lalr1.cc  */
-#line 1964 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1968 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       LocalVarDecl* vd = new LocalVarDecl(LOC((yyloc)),
                                           static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)),
@@ -4746,7 +4761,7 @@
   case 197:
 
 /* Line 690 of lalr1.cc  */
-#line 1973 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1977 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       LocalVarDecl* vd = new LocalVarDecl(LOC((yyloc)),
                                           static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)),
@@ -4760,7 +4775,7 @@
   case 198:
 
 /* Line 690 of lalr1.cc  */
-#line 1982 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1986 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       LocalVarDecl* vd = new LocalVarDecl(LOC((yyloc)),
                                           static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -4774,7 +4789,7 @@
   case 199:
 
 /* Line 690 of lalr1.cc  */
-#line 1991 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 1995 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       LocalVarDecl* vd = new LocalVarDecl(LOC((yyloc)),
                                           static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -4788,7 +4803,7 @@
   case 200:
 
 /* Line 690 of lalr1.cc  */
-#line 2002 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2006 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new AssignExpr(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)), (yysemantic_stack_[(5) - (4)].expr));
     }
@@ -4797,7 +4812,7 @@
   case 201:
 
 /* Line 690 of lalr1.cc  */
-#line 2008 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2012 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new ApplyExpr(LOC((yyloc)), (yysemantic_stack_[(2) - (1)].expr));
     }
@@ -4806,7 +4821,7 @@
   case 202:
 
 /* Line 690 of lalr1.cc  */
-#line 2014 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2018 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new ExitExpr(LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr));
     }
@@ -4815,7 +4830,7 @@
   case 203:
 
 /* Line 690 of lalr1.cc  */
-#line 2020 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2024 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       BlockBody* bb = dynamic_cast<BlockBody *>((yysemantic_stack_[(5) - (5)].expr));
       if (bb == NULL)
@@ -4830,7 +4845,7 @@
   case 204:
 
 /* Line 690 of lalr1.cc  */
-#line 2032 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2036 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new FlowCtlStatement(LOC((yyloc)), FlowCtlStatement::BREAK);
     }
@@ -4839,7 +4854,7 @@
   case 205:
 
 /* Line 690 of lalr1.cc  */
-#line 2037 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2041 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new FlowCtlStatement( LOC((yyloc)), FlowCtlStatement::CONTINUE );
     }
@@ -4848,7 +4863,7 @@
   case 206:
 
 /* Line 690 of lalr1.cc  */
-#line 2043 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2047 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       ReturnExpr* re = dynamic_cast<ReturnExpr*>((yysemantic_stack_[(2) - (2)].expr));
       (yyval.expr) = new FLWORExpr(LOC((yyloc)),
@@ -4863,7 +4878,7 @@
   case 207:
 
 /* Line 690 of lalr1.cc  */
-#line 2055 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2059 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       exprnode* retExpr = (yysemantic_stack_[(2) - (2)].expr);
       if (dynamic_cast<VarDeclStmt*>(retExpr) != NULL)
@@ -4879,7 +4894,7 @@
   case 208:
 
 /* Line 690 of lalr1.cc  */
-#line 2068 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2072 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       exprnode* thenExpr = (yysemantic_stack_[(8) - (6)].expr);
       exprnode* elseExpr = (yysemantic_stack_[(8) - (8)].expr);
@@ -4902,7 +4917,7 @@
   case 209:
 
 /* Line 690 of lalr1.cc  */
-#line 2088 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2092 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new TryExpr(LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr), (yysemantic_stack_[(3) - (3)].expr));
     }
@@ -4911,7 +4926,7 @@
   case 210:
 
 /* Line 690 of lalr1.cc  */
-#line 2094 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2098 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       CatchListExpr* cle = new CatchListExpr( LOC((yyloc)) );
       cle->push_back( static_cast<CatchExpr*>((yysemantic_stack_[(1) - (1)].expr)) );
@@ -4922,7 +4937,7 @@
   case 211:
 
 /* Line 690 of lalr1.cc  */
-#line 2101 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2105 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       CatchListExpr *cle = dynamic_cast<CatchListExpr*>((yysemantic_stack_[(2) - (1)].expr));
       if ( cle )
@@ -4934,7 +4949,7 @@
   case 212:
 
 /* Line 690 of lalr1.cc  */
-#line 2110 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2114 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
        (yyval.expr) = new CatchExpr(LOC((yyloc)), *(yysemantic_stack_[(3) - (2)].name_test_list), (yysemantic_stack_[(3) - (3)].expr));
        delete (yysemantic_stack_[(3) - (2)].name_test_list);
@@ -4944,7 +4959,7 @@
   case 213:
 
 /* Line 690 of lalr1.cc  */
-#line 2117 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2121 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new BlockBody(LOC((yyloc)));
     }
@@ -4953,7 +4968,7 @@
   case 214:
 
 /* Line 690 of lalr1.cc  */
-#line 2123 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2127 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4962,7 +4977,7 @@
   case 215:
 
 /* Line 690 of lalr1.cc  */
-#line 2128 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2132 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       Expr* expr = dynamic_cast<Expr*>((yysemantic_stack_[(3) - (1)].expr));
       if ( !expr )
@@ -4978,7 +4993,7 @@
   case 216:
 
 /* Line 690 of lalr1.cc  */
-#line 2140 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2144 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(3) - (1)].expr);
       (yyval.expr) = (yysemantic_stack_[(3) - (3)].expr);
@@ -4993,7 +5008,7 @@
   case 235:
 
 /* Line 690 of lalr1.cc  */
-#line 2174 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2178 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       ReturnExpr *re = dynamic_cast<ReturnExpr*>((yysemantic_stack_[(2) - (2)].expr));
       (yyval.expr) = new FLWORExpr(LOC((yyloc)),
@@ -5008,7 +5023,7 @@
   case 236:
 
 /* Line 690 of lalr1.cc  */
-#line 2186 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2190 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new ReturnExpr( LOC((yyloc)), (yysemantic_stack_[(2) - (2)].expr) );
     }
@@ -5017,7 +5032,7 @@
   case 237:
 
 /* Line 690 of lalr1.cc  */
-#line 2192 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2196 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.strval) = parser::the_sliding;
     }
@@ -5026,7 +5041,7 @@
   case 238:
 
 /* Line 690 of lalr1.cc  */
-#line 2197 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2201 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.strval) = parser::the_tumbling;
     }
@@ -5035,7 +5050,7 @@
   case 239:
 
 /* Line 690 of lalr1.cc  */
-#line 2203 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2207 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.strval) = parser::the_start;
     }
@@ -5044,7 +5059,7 @@
   case 240:
 
 /* Line 690 of lalr1.cc  */
-#line 2208 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2212 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.strval) = parser::the_end;
     }
@@ -5053,7 +5068,7 @@
   case 241:
 
 /* Line 690 of lalr1.cc  */
-#line 2213 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2217 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
     (yyval.strval) = parser::the_only_end;
   }
@@ -5062,7 +5077,7 @@
   case 242:
 
 /* Line 690 of lalr1.cc  */
-#line 2219 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2223 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new FLWORWinCond(LOC((yyloc)),
                             dynamic_cast<WindowVars*>((yysemantic_stack_[(4) - (2)].node)),
@@ -5075,7 +5090,7 @@
   case 243:
 
 /* Line 690 of lalr1.cc  */
-#line 2228 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2232 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new FLWORWinCond(LOC((yyloc)),
                             NULL,
@@ -5088,7 +5103,7 @@
   case 244:
 
 /* Line 690 of lalr1.cc  */
-#line 2239 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2243 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new WindowClause (LOC ((yyloc)),
                              ((yysemantic_stack_[(5) - (2)].strval) == parser::the_tumbling ?
@@ -5103,7 +5118,7 @@
   case 245:
 
 /* Line 690 of lalr1.cc  */
-#line 2251 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2255 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new WindowClause (LOC ((yyloc)),
                              ((yysemantic_stack_[(4) - (2)].strval) == parser::the_tumbling ?
@@ -5117,7 +5132,7 @@
   case 246:
 
 /* Line 690 of lalr1.cc  */
-#line 2262 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2266 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CountClause(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)));
     }
@@ -5126,7 +5141,7 @@
   case 255:
 
 /* Line 690 of lalr1.cc  */
-#line 2280 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2284 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       FLWORClauseList *fcl = new FLWORClauseList( LOC((yyloc)) );
       fcl->push_back( dynamic_cast<FLWORClause*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5137,7 +5152,7 @@
   case 256:
 
 /* Line 690 of lalr1.cc  */
-#line 2287 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2291 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       FLWORClauseList *fcl = dynamic_cast<FLWORClauseList*>((yysemantic_stack_[(2) - (1)].node));
       fcl->push_back( dynamic_cast<FLWORClause*>((yysemantic_stack_[(2) - (2)].node)) );
@@ -5148,7 +5163,7 @@
   case 257:
 
 /* Line 690 of lalr1.cc  */
-#line 2296 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2300 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new ForClause(LOC((yyloc)), dynamic_cast<VarInDeclList*>((yysemantic_stack_[(3) - (3)].node)));
     }
@@ -5157,7 +5172,7 @@
   case 258:
 
 /* Line 690 of lalr1.cc  */
-#line 2300 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2304 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(3) - (3)].node);
       error((yylocation_stack_[(3) - (2)]), "syntax error, unexpected qualified name \""
@@ -5170,7 +5185,7 @@
   case 259:
 
 /* Line 690 of lalr1.cc  */
-#line 2308 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2312 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(3) - (3)].node);
       error((yylocation_stack_[(3) - (2)]), "syntax error, unexpected qualified name \""
@@ -5183,7 +5198,7 @@
   case 260:
 
 /* Line 690 of lalr1.cc  */
-#line 2318 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2322 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = NULL;
       error((yylocation_stack_[(2) - (2)]), "");
@@ -5194,7 +5209,7 @@
   case 262:
 
 /* Line 690 of lalr1.cc  */
-#line 2327 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2331 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
     }
     break;
@@ -5202,7 +5217,7 @@
   case 263:
 
 /* Line 690 of lalr1.cc  */
-#line 2332 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2336 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       VarInDeclList* vdl = new VarInDeclList( LOC((yyloc)) );
       vdl->push_back( dynamic_cast<VarInDecl*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5213,7 +5228,7 @@
   case 264:
 
 /* Line 690 of lalr1.cc  */
-#line 2339 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2343 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       if ( VarInDeclList* vdl = dynamic_cast<VarInDeclList*>((yysemantic_stack_[(4) - (1)].node)) )
         vdl->push_back( dynamic_cast<VarInDecl*>((yysemantic_stack_[(4) - (4)].node)) );
@@ -5224,7 +5239,7 @@
   case 265:
 
 /* Line 690 of lalr1.cc  */
-#line 2346 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2350 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node);
       error((yylocation_stack_[(3) - (3)]), "syntax error, unexpected QName \""
@@ -5237,7 +5252,7 @@
   case 266:
 
 /* Line 690 of lalr1.cc  */
-#line 2356 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2360 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(3) - (1)].expr)),
@@ -5252,7 +5267,7 @@
   case 267:
 
 /* Line 690 of lalr1.cc  */
-#line 2366 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2370 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (1)].expr)),
@@ -5267,7 +5282,7 @@
   case 268:
 
 /* Line 690 of lalr1.cc  */
-#line 2376 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2380 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
@@ -5282,7 +5297,7 @@
   case 269:
 
 /* Line 690 of lalr1.cc  */
-#line 2386 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2390 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(6) - (1)].expr)),
@@ -5297,7 +5312,7 @@
   case 270:
 
 /* Line 690 of lalr1.cc  */
-#line 2396 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2400 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
@@ -5312,7 +5327,7 @@
   case 271:
 
 /* Line 690 of lalr1.cc  */
-#line 2406 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2410 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(6) - (1)].expr)),
@@ -5327,7 +5342,7 @@
   case 272:
 
 /* Line 690 of lalr1.cc  */
-#line 2416 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2420 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (1)].expr)),
@@ -5342,7 +5357,7 @@
   case 273:
 
 /* Line 690 of lalr1.cc  */
-#line 2426 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2430 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(7) - (1)].expr)),
@@ -5357,7 +5372,7 @@
   case 274:
 
 /* Line 690 of lalr1.cc  */
-#line 2436 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2440 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
@@ -5371,7 +5386,7 @@
   case 275:
 
 /* Line 690 of lalr1.cc  */
-#line 2445 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2449 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (1)].expr)),
@@ -5386,7 +5401,7 @@
   case 276:
 
 /* Line 690 of lalr1.cc  */
-#line 2455 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2459 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC ((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (1)].expr)),
@@ -5401,7 +5416,7 @@
   case 277:
 
 /* Line 690 of lalr1.cc  */
-#line 2465 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2469 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC ((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(6) - (1)].expr)),
@@ -5416,7 +5431,7 @@
   case 278:
 
 /* Line 690 of lalr1.cc  */
-#line 2477 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2481 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new PositionalVar(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)));
     }
@@ -5425,7 +5440,7 @@
   case 279:
 
 /* Line 690 of lalr1.cc  */
-#line 2483 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2487 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new FTScoreVar(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)));
     }
@@ -5434,7 +5449,7 @@
   case 280:
 
 /* Line 690 of lalr1.cc  */
-#line 2489 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2493 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new LetClause( LOC((yyloc)), dynamic_cast<VarGetsDeclList*>((yysemantic_stack_[(2) - (2)].node)) );
         }
@@ -5443,7 +5458,7 @@
   case 281:
 
 /* Line 690 of lalr1.cc  */
-#line 2495 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2499 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             VarGetsDeclList *vgdl = new VarGetsDeclList( LOC((yyloc)) );
             vgdl->push_back( dynamic_cast<VarGetsDecl*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5454,7 +5469,7 @@
   case 282:
 
 /* Line 690 of lalr1.cc  */
-#line 2501 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2505 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             if( VarGetsDeclList *vgdl = dynamic_cast<VarGetsDeclList*>((yysemantic_stack_[(3) - (1)].node)) )
                 vgdl->push_back( dynamic_cast<VarGetsDecl*>((yysemantic_stack_[(3) - (3)].node)) );
@@ -5465,7 +5480,7 @@
   case 283:
 
 /* Line 690 of lalr1.cc  */
-#line 2509 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2513 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarGetsDecl(LOC ((yyloc)),
                            static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -5478,7 +5493,7 @@
   case 284:
 
 /* Line 690 of lalr1.cc  */
-#line 2517 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2521 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarGetsDecl(LOC ((yyloc)),
                            static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -5491,7 +5506,7 @@
   case 285:
 
 /* Line 690 of lalr1.cc  */
-#line 2525 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2529 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarGetsDecl(LOC ((yyloc)),
                            dynamic_cast<FTScoreVar*>((yysemantic_stack_[(3) - (1)].node))->get_var_name(),
@@ -5504,7 +5519,7 @@
   case 286:
 
 /* Line 690 of lalr1.cc  */
-#line 2533 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2537 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarGetsDecl(LOC ((yyloc)),
                            static_cast<QName*>((yysemantic_stack_[(6) - (2)].expr)),
@@ -5517,7 +5532,7 @@
   case 287:
 
 /* Line 690 of lalr1.cc  */
-#line 2543 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2547 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new WindowVarDecl(LOC ((yyloc)),
                              static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -5528,7 +5543,7 @@
   case 288:
 
 /* Line 690 of lalr1.cc  */
-#line 2549 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2553 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new WindowVarDecl(LOC ((yyloc)),
                              static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -5540,7 +5555,7 @@
   case 290:
 
 /* Line 690 of lalr1.cc  */
-#line 2559 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2563 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), NULL, static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)), NULL, NULL);
     }
@@ -5549,7 +5564,7 @@
   case 291:
 
 /* Line 690 of lalr1.cc  */
-#line 2563 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2567 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(3) - (3)].node);
       dynamic_cast<WindowVars *>((yyval.node))->set_curr(static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)));
@@ -5559,7 +5574,7 @@
   case 292:
 
 /* Line 690 of lalr1.cc  */
-#line 2570 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2574 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), dynamic_cast<PositionalVar*>((yysemantic_stack_[(1) - (1)].node)), NULL, NULL, NULL);
     }
@@ -5568,7 +5583,7 @@
   case 293:
 
 /* Line 690 of lalr1.cc  */
-#line 2574 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2578 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
       dynamic_cast<WindowVars *>((yyval.node))->set_posvar(dynamic_cast<PositionalVar*>((yysemantic_stack_[(2) - (1)].node)));
@@ -5578,7 +5593,7 @@
   case 295:
 
 /* Line 690 of lalr1.cc  */
-#line 2582 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2586 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), NULL, NULL, static_cast<QName*>((yysemantic_stack_[(6) - (3)].expr)), static_cast<QName*>((yysemantic_stack_[(6) - (6)].expr)));
     }
@@ -5587,7 +5602,7 @@
   case 296:
 
 /* Line 690 of lalr1.cc  */
-#line 2586 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2590 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), NULL, NULL, NULL, static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)));
     }
@@ -5596,7 +5611,7 @@
   case 297:
 
 /* Line 690 of lalr1.cc  */
-#line 2590 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2594 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), NULL, NULL, static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)), NULL);
     }
@@ -5605,7 +5620,7 @@
   case 298:
 
 /* Line 690 of lalr1.cc  */
-#line 2596 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2600 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new WhereClause(LOC ((yyloc)), (yysemantic_stack_[(2) - (2)].expr));
     }
@@ -5614,7 +5629,7 @@
   case 299:
 
 /* Line 690 of lalr1.cc  */
-#line 2602 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2606 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new GroupByClause(LOC((yyloc)), dynamic_cast<GroupSpecList*>((yysemantic_stack_[(3) - (3)].node)));
     }
@@ -5623,7 +5638,7 @@
   case 300:
 
 /* Line 690 of lalr1.cc  */
-#line 2608 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2612 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       GroupSpecList* gsl = new GroupSpecList(LOC((yyloc)));
       gsl->push_back(static_cast<GroupSpec*>((yysemantic_stack_[(1) - (1)].node)));
@@ -5634,7 +5649,7 @@
   case 301:
 
 /* Line 690 of lalr1.cc  */
-#line 2614 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2618 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       GroupSpecList* gsl = static_cast<GroupSpecList*>((yysemantic_stack_[(3) - (1)].node));
       gsl->push_back(static_cast<GroupSpec*>((yysemantic_stack_[(3) - (3)].node)));
@@ -5645,7 +5660,7 @@
   case 302:
 
 /* Line 690 of lalr1.cc  */
-#line 2622 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2626 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)), NULL, (yysemantic_stack_[(4) - (4)].expr), NULL);
     }
@@ -5654,7 +5669,7 @@
   case 303:
 
 /* Line 690 of lalr1.cc  */
-#line 2626 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2630 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -5667,7 +5682,7 @@
   case 304:
 
 /* Line 690 of lalr1.cc  */
-#line 2634 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2638 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(6) - (2)].expr)),
@@ -5680,7 +5695,7 @@
   case 305:
 
 /* Line 690 of lalr1.cc  */
-#line 2642 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2646 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -5693,7 +5708,7 @@
   case 306:
 
 /* Line 690 of lalr1.cc  */
-#line 2650 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2654 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       VarRef* varRef = dynamic_cast<VarRef*>((yysemantic_stack_[(1) - (1)].expr));
       if (varRef != NULL)
@@ -5706,7 +5721,7 @@
   case 307:
 
 /* Line 690 of lalr1.cc  */
-#line 2658 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2662 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       VarRef* varRef = dynamic_cast<VarRef*>((yysemantic_stack_[(2) - (1)].expr));
       if (varRef != NULL)
@@ -5719,7 +5734,7 @@
   case 308:
 
 /* Line 690 of lalr1.cc  */
-#line 2668 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2672 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new GroupCollationSpec( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)) );
     }
@@ -5728,7 +5743,7 @@
   case 309:
 
 /* Line 690 of lalr1.cc  */
-#line 2674 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2678 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderByClause(
                 LOC((yyloc)), dynamic_cast<OrderSpecList*>((yysemantic_stack_[(3) - (3)].node))
@@ -5739,7 +5754,7 @@
   case 310:
 
 /* Line 690 of lalr1.cc  */
-#line 2680 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2684 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderByClause(
                 LOC((yyloc)), dynamic_cast<OrderSpecList*>((yysemantic_stack_[(4) - (4)].node)), true
@@ -5750,7 +5765,7 @@
   case 311:
 
 /* Line 690 of lalr1.cc  */
-#line 2688 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2692 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             OrderSpecList *osl = new OrderSpecList( LOC((yyloc)) );
             osl->push_back( dynamic_cast<OrderSpec*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5761,7 +5776,7 @@
   case 312:
 
 /* Line 690 of lalr1.cc  */
-#line 2694 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2698 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             if ( OrderSpecList* osl = dynamic_cast<OrderSpecList*>((yysemantic_stack_[(3) - (1)].node)) )
                 osl->push_back( dynamic_cast<OrderSpec*>((yysemantic_stack_[(3) - (3)].node)) );
@@ -5772,7 +5787,7 @@
   case 313:
 
 /* Line 690 of lalr1.cc  */
-#line 2702 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2706 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderSpec( LOC((yyloc)), (yysemantic_stack_[(1) - (1)].expr), NULL );
         }
@@ -5781,7 +5796,7 @@
   case 314:
 
 /* Line 690 of lalr1.cc  */
-#line 2706 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2710 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderSpec(
                 LOC((yyloc)), (yysemantic_stack_[(2) - (1)].expr), dynamic_cast<OrderModifierPN*>((yysemantic_stack_[(2) - (2)].node))
@@ -5792,7 +5807,7 @@
   case 315:
 
 /* Line 690 of lalr1.cc  */
-#line 2714 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2718 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)), dynamic_cast<OrderDirSpec*>((yysemantic_stack_[(1) - (1)].node)), NULL, NULL
@@ -5803,7 +5818,7 @@
   case 316:
 
 /* Line 690 of lalr1.cc  */
-#line 2720 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2724 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)), NULL, dynamic_cast<OrderEmptySpec*>((yysemantic_stack_[(1) - (1)].node)), NULL
@@ -5814,7 +5829,7 @@
   case 317:
 
 /* Line 690 of lalr1.cc  */
-#line 2726 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2730 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)), NULL, NULL, dynamic_cast<OrderCollationSpec*>((yysemantic_stack_[(1) - (1)].node))
@@ -5825,7 +5840,7 @@
   case 318:
 
 /* Line 690 of lalr1.cc  */
-#line 2732 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2736 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)),
@@ -5839,7 +5854,7 @@
   case 319:
 
 /* Line 690 of lalr1.cc  */
-#line 2741 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2745 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)),
@@ -5853,7 +5868,7 @@
   case 320:
 
 /* Line 690 of lalr1.cc  */
-#line 2750 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2754 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)),
@@ -5867,7 +5882,7 @@
   case 321:
 
 /* Line 690 of lalr1.cc  */
-#line 2759 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2763 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)),
@@ -5881,7 +5896,7 @@
   case 322:
 
 /* Line 690 of lalr1.cc  */
-#line 2770 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2774 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderDirSpec( LOC((yyloc)), ParseConstants::dir_ascending );
         }
@@ -5890,7 +5905,7 @@
   case 323:
 
 /* Line 690 of lalr1.cc  */
-#line 2774 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2778 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderDirSpec( LOC((yyloc)), ParseConstants::dir_descending );
         }
@@ -5899,7 +5914,7 @@
   case 324:
 
 /* Line 690 of lalr1.cc  */
-#line 2780 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2784 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderEmptySpec(
                 LOC((yyloc)), StaticContextConsts::empty_greatest
@@ -5910,7 +5925,7 @@
   case 325:
 
 /* Line 690 of lalr1.cc  */
-#line 2786 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2790 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderEmptySpec(
                 LOC((yyloc)), StaticContextConsts::empty_least
@@ -5921,7 +5936,7 @@
   case 326:
 
 /* Line 690 of lalr1.cc  */
-#line 2794 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2798 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderCollationSpec( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)) );
         }
@@ -5930,7 +5945,7 @@
   case 327:
 
 /* Line 690 of lalr1.cc  */
-#line 2800 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2804 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new QuantifiedExpr(
                 LOC((yyloc)),
@@ -5944,7 +5959,7 @@
   case 328:
 
 /* Line 690 of lalr1.cc  */
-#line 2809 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2813 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new QuantifiedExpr(
                 LOC((yyloc)),
@@ -5958,7 +5973,7 @@
   case 329:
 
 /* Line 690 of lalr1.cc  */
-#line 2820 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2824 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       QVarInDeclList *qvidl = new QVarInDeclList( LOC((yyloc)) );
       qvidl->push_back( dynamic_cast<QVarInDecl*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5969,7 +5984,7 @@
   case 330:
 
 /* Line 690 of lalr1.cc  */
-#line 2826 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2830 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       QVarInDeclList *qvidl = dynamic_cast<QVarInDeclList*>((yysemantic_stack_[(4) - (1)].node));
       qvidl->push_back( dynamic_cast<QVarInDecl*>((yysemantic_stack_[(4) - (4)].node)) );
@@ -5980,7 +5995,7 @@
   case 331:
 
 /* Line 690 of lalr1.cc  */
-#line 2834 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2838 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new QVarInDecl(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (1)].expr)), (yysemantic_stack_[(3) - (3)].expr));
     }
@@ -5989,7 +6004,7 @@
   case 332:
 
 /* Line 690 of lalr1.cc  */
-#line 2838 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2842 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new QVarInDecl(LOC((yyloc)),
                           static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
@@ -6001,7 +6016,7 @@
   case 333:
 
 /* Line 690 of lalr1.cc  */
-#line 2847 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2851 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new SwitchExpr(LOC((yyloc)), (yysemantic_stack_[(8) - (3)].expr), static_cast<SwitchCaseClauseList*>((yysemantic_stack_[(8) - (5)].node)), (yysemantic_stack_[(8) - (8)].expr));
     }
@@ -6010,7 +6025,7 @@
   case 334:
 
 /* Line 690 of lalr1.cc  */
-#line 2853 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2857 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       SwitchCaseClauseList* scc_list_p = new SwitchCaseClauseList(LOC((yyloc)));
       scc_list_p->push_back(static_cast<SwitchCaseClause*>((yysemantic_stack_[(1) - (1)].node)));
@@ -6021,7 +6036,7 @@
   case 335:
 
 /* Line 690 of lalr1.cc  */
-#line 2859 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2863 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       SwitchCaseClauseList* scc_list_p = static_cast<SwitchCaseClauseList*>((yysemantic_stack_[(2) - (1)].node));
       scc_list_p->push_back(static_cast<SwitchCaseClause*>((yysemantic_stack_[(2) - (2)].node)));
@@ -6032,7 +6047,7 @@
   case 336:
 
 /* Line 690 of lalr1.cc  */
-#line 2867 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2871 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new SwitchCaseClause(LOC((yyloc)), dynamic_cast<SwitchCaseOperandList*>((yysemantic_stack_[(3) - (1)].node)), (yysemantic_stack_[(3) - (3)].expr));
     }
@@ -6041,7 +6056,7 @@
   case 337:
 
 /* Line 690 of lalr1.cc  */
-#line 2873 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2877 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       SwitchCaseOperandList* sco_list_p = new SwitchCaseOperandList(LOC((yyloc)));
       sco_list_p->push_back((yysemantic_stack_[(2) - (2)].expr));
@@ -6052,7 +6067,7 @@
   case 338:
 
 /* Line 690 of lalr1.cc  */
-#line 2879 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2883 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       SwitchCaseOperandList* sco_list_p = static_cast<SwitchCaseOperandList*>((yysemantic_stack_[(3) - (1)].node));
       sco_list_p->push_back((yysemantic_stack_[(3) - (3)].expr));
@@ -6063,7 +6078,7 @@
   case 339:
 
 /* Line 690 of lalr1.cc  */
-#line 2887 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2891 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new SwitchExpr(LOC((yyloc)), (yysemantic_stack_[(8) - (3)].expr), static_cast<SwitchCaseClauseList*>((yysemantic_stack_[(8) - (5)].node)), (yysemantic_stack_[(8) - (8)].expr));
     }
@@ -6072,7 +6087,7 @@
   case 340:
 
 /* Line 690 of lalr1.cc  */
-#line 2893 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2897 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       SwitchCaseClauseList* scc_list_p = new SwitchCaseClauseList(LOC((yyloc)));
       scc_list_p->push_back(static_cast<SwitchCaseClause*>((yysemantic_stack_[(1) - (1)].node)));
@@ -6083,7 +6098,7 @@
   case 341:
 
 /* Line 690 of lalr1.cc  */
-#line 2899 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2903 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       SwitchCaseClauseList* scc_list_p = static_cast<SwitchCaseClauseList*>((yysemantic_stack_[(2) - (1)].node));
       scc_list_p->push_back(static_cast<SwitchCaseClause*>((yysemantic_stack_[(2) - (2)].node)));
@@ -6094,7 +6109,7 @@
   case 342:
 
 /* Line 690 of lalr1.cc  */
-#line 2907 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2911 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new SwitchCaseClause(LOC((yyloc)), dynamic_cast<SwitchCaseOperandList*>((yysemantic_stack_[(3) - (1)].node)), (yysemantic_stack_[(3) - (3)].expr));
     }
@@ -6103,7 +6118,7 @@
   case 343:
 
 /* Line 690 of lalr1.cc  */
-#line 2913 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2917 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new TypeswitchExpr(LOC((yyloc)),
                               (yysemantic_stack_[(8) - (3)].expr),
@@ -6115,7 +6130,7 @@
   case 344:
 
 /* Line 690 of lalr1.cc  */
-#line 2920 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2924 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new TypeswitchExpr(LOC ((yyloc)),
                               (yysemantic_stack_[(10) - (3)].expr),
@@ -6128,7 +6143,7 @@
   case 345:
 
 /* Line 690 of lalr1.cc  */
-#line 2930 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2934 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new TypeswitchExpr(LOC((yyloc)),
                               (yysemantic_stack_[(8) - (3)].expr),
@@ -6140,7 +6155,7 @@
   case 346:
 
 /* Line 690 of lalr1.cc  */
-#line 2937 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2941 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new TypeswitchExpr(LOC ((yyloc)),
                               (yysemantic_stack_[(10) - (3)].expr),
@@ -6153,7 +6168,7 @@
   case 347:
 
 /* Line 690 of lalr1.cc  */
-#line 2947 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2951 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       CaseClauseList* cc_list_p = new CaseClauseList(LOC ((yyloc)));
       cc_list_p->push_back(static_cast<CaseClause*>((yysemantic_stack_[(1) - (1)].node)));
@@ -6164,7 +6179,7 @@
   case 348:
 
 /* Line 690 of lalr1.cc  */
-#line 2953 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2957 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       CaseClauseList* cc_list_p = dynamic_cast<CaseClauseList*>((yysemantic_stack_[(2) - (1)].node));
       cc_list_p->push_back(static_cast<CaseClause*>((yysemantic_stack_[(2) - (2)].node)));
@@ -6175,7 +6190,7 @@
   case 349:
 
 /* Line 690 of lalr1.cc  */
-#line 2961 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2965 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CaseClause(LOC ((yyloc)),
                           static_cast<SequenceTypeList*>((yysemantic_stack_[(4) - (2)].node)),
@@ -6186,7 +6201,7 @@
   case 350:
 
 /* Line 690 of lalr1.cc  */
-#line 2967 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2971 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CaseClause(LOC ((yyloc)),
                           static_cast<QName*>((yysemantic_stack_[(7) - (3)].expr)),
@@ -6198,7 +6213,7 @@
   case 351:
 
 /* Line 690 of lalr1.cc  */
-#line 2976 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2980 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       CaseClauseList* cc_list_p = new CaseClauseList(LOC ((yyloc)));
       cc_list_p->push_back(static_cast<CaseClause*>((yysemantic_stack_[(1) - (1)].node)));
@@ -6209,7 +6224,7 @@
   case 352:
 
 /* Line 690 of lalr1.cc  */
-#line 2982 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2986 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       CaseClauseList* cc_list_p = static_cast<CaseClauseList*>((yysemantic_stack_[(2) - (1)].node));
       cc_list_p->push_back(static_cast<CaseClause*>((yysemantic_stack_[(2) - (2)].node)));
@@ -6220,7 +6235,7 @@
   case 353:
 
 /* Line 690 of lalr1.cc  */
-#line 2990 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 2994 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CaseClause(LOC ((yyloc)),
                           static_cast<SequenceTypeList*>((yysemantic_stack_[(4) - (2)].node)),
@@ -6231,7 +6246,7 @@
   case 354:
 
 /* Line 690 of lalr1.cc  */
-#line 2996 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3000 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CaseClause(LOC ((yyloc)),
                           static_cast<QName*>((yysemantic_stack_[(7) - (3)].expr)),
@@ -6243,7 +6258,7 @@
   case 355:
 
 /* Line 690 of lalr1.cc  */
-#line 3005 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3009 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       SequenceTypeList* seqList = new SequenceTypeList(LOC((yyloc)));
       seqList->push_back(static_cast<SequenceType*>((yysemantic_stack_[(1) - (1)].node)));
@@ -6254,7 +6269,7 @@
   case 356:
 
 /* Line 690 of lalr1.cc  */
-#line 3011 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3015 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       SequenceTypeList* seqList = static_cast<SequenceTypeList*>((yysemantic_stack_[(3) - (1)].node));
       seqList->push_back(static_cast<SequenceType*>((yysemantic_stack_[(3) - (3)].node)));
@@ -6265,7 +6280,7 @@
   case 357:
 
 /* Line 690 of lalr1.cc  */
-#line 3019 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3023 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new IfExpr(LOC ((yyloc)), (yysemantic_stack_[(8) - (3)].expr), (yysemantic_stack_[(8) - (6)].expr), (yysemantic_stack_[(8) - (8)].expr));
     }
@@ -6274,7 +6289,7 @@
   case 358:
 
 /* Line 690 of lalr1.cc  */
-#line 3025 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3029 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -6283,7 +6298,7 @@
   case 359:
 
 /* Line 690 of lalr1.cc  */
-#line 3029 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3033 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new OrExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
     }
@@ -6292,7 +6307,7 @@
   case 360:
 
 /* Line 690 of lalr1.cc  */
-#line 3035 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3039 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6301,7 +6316,7 @@
   case 361:
 
 /* Line 690 of lalr1.cc  */
-#line 3040 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3044 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new AndExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
         }
@@ -6310,7 +6325,7 @@
   case 362:
 
 /* Line 690 of lalr1.cc  */
-#line 3046 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3050 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6319,7 +6334,7 @@
   case 363:
 
 /* Line 690 of lalr1.cc  */
-#line 3050 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3054 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new ComparisonExpr(
               LOC((yyloc)),
@@ -6333,7 +6348,7 @@
   case 364:
 
 /* Line 690 of lalr1.cc  */
-#line 3061 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3065 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6342,7 +6357,7 @@
   case 365:
 
 /* Line 690 of lalr1.cc  */
-#line 3065 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3069 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6356,22 +6371,24 @@
   case 366:
 
 /* Line 690 of lalr1.cc  */
-#line 3076 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3078 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+            (yyval.expr) = new ComparisonExpr(
+                LOC((yyloc)), dynamic_cast<NodeComp*>((yysemantic_stack_[(3) - (2)].node)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
+            );
         }
     break;
 
   case 367:
 
 /* Line 690 of lalr1.cc  */
-#line 3080 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3084 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = new FTContainsExpr(
+            (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
-                (yysemantic_stack_[(5) - (1)].expr),
-                dynamic_cast<FTSelection*>((yysemantic_stack_[(5) - (4)].node)),
-                dynamic_cast<FTIgnoreOption*>((yysemantic_stack_[(5) - (5)].node))
+                new GeneralComp( LOC((yyloc)), ParseConstants::op_eq ),
+                (yysemantic_stack_[(3) - (1)].expr),
+                (yysemantic_stack_[(3) - (3)].expr)
             );
         }
     break;
@@ -6379,61 +6396,86 @@
   case 368:
 
 /* Line 690 of lalr1.cc  */
-#line 3091 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3093 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-          (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+            (yyval.expr) = new ComparisonExpr(
+                LOC((yyloc)),
+                new GeneralComp( LOC((yyloc)), ParseConstants::op_ne ),
+                (yysemantic_stack_[(3) - (1)].expr),
+                (yysemantic_stack_[(3) - (3)].expr)
+            );
         }
     break;
 
   case 369:
 
 /* Line 690 of lalr1.cc  */
-#line 3095 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3102 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-          (yyval.expr) = new StringConcatExpr(LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr));
+            driver.getJsoniqLexer()->interpretAsLessThan();
         }
     break;
 
   case 370:
 
 /* Line 690 of lalr1.cc  */
-#line 3100 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3106 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = NULL;
+            (yyval.expr) = new ComparisonExpr(
+                LOC((yyloc)),
+                new GeneralComp( LOC((yyloc)), ParseConstants::op_lt ),
+                (yysemantic_stack_[(4) - (1)].expr),
+                (yysemantic_stack_[(4) - (4)].expr)
+            );
         }
     break;
 
   case 371:
 
 /* Line 690 of lalr1.cc  */
-#line 3104 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3115 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            (yyval.expr) = new ComparisonExpr(
+                LOC((yyloc)),
+                new GeneralComp( LOC((yyloc)), ParseConstants::op_le ),
+                (yysemantic_stack_[(3) - (1)].expr),
+                (yysemantic_stack_[(3) - (3)].expr)
+            );
         }
     break;
 
   case 372:
 
 /* Line 690 of lalr1.cc  */
-#line 3110 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3124 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+            (yyval.expr) = new ComparisonExpr(
+                LOC((yyloc)),
+                new GeneralComp( LOC((yyloc)), ParseConstants::op_gt ),
+                (yysemantic_stack_[(3) - (1)].expr),
+                (yysemantic_stack_[(3) - (3)].expr)
+            );
         }
     break;
 
   case 373:
 
 /* Line 690 of lalr1.cc  */
-#line 3114 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3133 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = new RangeExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
+            (yyval.expr) = new ComparisonExpr(
+                LOC((yyloc)),
+                new GeneralComp( LOC((yyloc)), ParseConstants::op_ge ),
+                (yysemantic_stack_[(3) - (1)].expr),
+                (yysemantic_stack_[(3) - (3)].expr)
+            );
         }
     break;
 
   case 374:
 
 /* Line 690 of lalr1.cc  */
-#line 3120 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3144 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6442,78 +6484,75 @@
   case 375:
 
 /* Line 690 of lalr1.cc  */
-#line 3124 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3148 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = new AdditiveExpr( LOC((yyloc)), ParseConstants::op_plus, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
+            (yyval.expr) = new FTContainsExpr(
+                LOC((yyloc)),
+                (yysemantic_stack_[(5) - (1)].expr),
+                dynamic_cast<FTSelection*>((yysemantic_stack_[(5) - (4)].node)),
+                dynamic_cast<FTIgnoreOption*>((yysemantic_stack_[(5) - (5)].node))
+            );
         }
     break;
 
   case 376:
 
 /* Line 690 of lalr1.cc  */
-#line 3128 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3159 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = new AdditiveExpr( LOC((yyloc)), ParseConstants::op_minus, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
+          (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 377:
 
 /* Line 690 of lalr1.cc  */
-#line 3134 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3163 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+          (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 3138 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3168 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = new MultiplicativeExpr(
-                LOC((yyloc)), ParseConstants::op_mul, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
-            );
+            (yyval.node) = NULL;
         }
     break;
 
   case 379:
 
 /* Line 690 of lalr1.cc  */
-#line 3144 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3172 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = new MultiplicativeExpr(
-                LOC((yyloc)), ParseConstants::op_div, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
-            );
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
   case 380:
 
 /* Line 690 of lalr1.cc  */
-#line 3150 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3178 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = new MultiplicativeExpr(
-                LOC((yyloc)), ParseConstants::op_idiv, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
-            );
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 381:
 
 /* Line 690 of lalr1.cc  */
-#line 3156 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3182 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = new MultiplicativeExpr(
-                LOC((yyloc)), ParseConstants::op_mod, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
-            );
+            (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 3164 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3188 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6522,25 +6561,25 @@
   case 383:
 
 /* Line 690 of lalr1.cc  */
-#line 3168 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3192 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = new UnionExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
+            (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 3172 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3196 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = new UnionExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
+            (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 3178 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3202 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6549,10 +6588,10 @@
   case 386:
 
 /* Line 690 of lalr1.cc  */
-#line 3182 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3206 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = new IntersectExceptExpr(
-                LOC((yyloc)), ParseConstants::op_intersect, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
+            (yyval.expr) = new MultiplicativeExpr(
+                LOC((yyloc)), ParseConstants::op_mul, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
             );
         }
     break;
@@ -6560,10 +6599,10 @@
   case 387:
 
 /* Line 690 of lalr1.cc  */
-#line 3188 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3212 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = new IntersectExceptExpr(
-                LOC((yyloc)), ParseConstants::op_except, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
+            (yyval.expr) = new MultiplicativeExpr(
+                LOC((yyloc)), ParseConstants::op_div, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
             );
         }
     break;
@@ -6571,19 +6610,21 @@
   case 388:
 
 /* Line 690 of lalr1.cc  */
-#line 3196 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3218 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+            (yyval.expr) = new MultiplicativeExpr(
+                LOC((yyloc)), ParseConstants::op_idiv, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
+            );
         }
     break;
 
   case 389:
 
 /* Line 690 of lalr1.cc  */
-#line 3200 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3224 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = new InstanceofExpr(
-                LOC((yyloc)), (yysemantic_stack_[(4) - (1)].expr), dynamic_cast<SequenceType*>((yysemantic_stack_[(4) - (4)].node))
+            (yyval.expr) = new MultiplicativeExpr(
+                LOC((yyloc)), ParseConstants::op_mod, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
             );
         }
     break;
@@ -6591,7 +6632,7 @@
   case 390:
 
 /* Line 690 of lalr1.cc  */
-#line 3208 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3232 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6600,50 +6641,48 @@
   case 391:
 
 /* Line 690 of lalr1.cc  */
-#line 3212 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3236 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = new TreatExpr(
-                LOC((yyloc)), (yysemantic_stack_[(4) - (1)].expr), dynamic_cast<SequenceType*>((yysemantic_stack_[(4) - (4)].node))
-            );
+            (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 3220 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3240 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+            (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 3224 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3246 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = new CastableExpr(
-                LOC((yyloc)), (yysemantic_stack_[(4) - (1)].expr), dynamic_cast<SingleType*>((yysemantic_stack_[(4) - (4)].node))
-            );
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 394:
 
 /* Line 690 of lalr1.cc  */
-#line 3232 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3250 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+            (yyval.expr) = new IntersectExceptExpr(
+                LOC((yyloc)), ParseConstants::op_intersect, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
+            );
         }
     break;
 
   case 395:
 
 /* Line 690 of lalr1.cc  */
-#line 3236 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3256 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = new CastExpr(
-                LOC((yyloc)), (yysemantic_stack_[(4) - (1)].expr), dynamic_cast<SingleType*>((yysemantic_stack_[(4) - (4)].node))
+            (yyval.expr) = new IntersectExceptExpr(
+                LOC((yyloc)), ParseConstants::op_except, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
             );
         }
     break;
@@ -6651,25 +6690,27 @@
   case 396:
 
 /* Line 690 of lalr1.cc  */
-#line 3244 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3264 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.node) = new SingleType(LOC((yyloc)), dynamic_cast<SimpleType*>((yysemantic_stack_[(1) - (1)].node)), false);
-    }
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
     break;
 
   case 397:
 
 /* Line 690 of lalr1.cc  */
-#line 3248 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3268 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.node) = new SingleType(LOC((yyloc)), dynamic_cast<SimpleType*>((yysemantic_stack_[(2) - (1)].node)), true);
-    }
+            (yyval.expr) = new InstanceofExpr(
+                LOC((yyloc)), (yysemantic_stack_[(4) - (1)].expr), dynamic_cast<SequenceType*>((yysemantic_stack_[(4) - (4)].node))
+            );
+        }
     break;
 
   case 398:
 
 /* Line 690 of lalr1.cc  */
-#line 3254 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3276 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6678,43 +6719,121 @@
   case 399:
 
 /* Line 690 of lalr1.cc  */
-#line 3258 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3280 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = new UnaryExpr( LOC((yyloc)), dynamic_cast<SignList*>((yysemantic_stack_[(2) - (1)].node)), (yysemantic_stack_[(2) - (2)].expr) );
+            (yyval.expr) = new TreatExpr(
+                LOC((yyloc)), (yysemantic_stack_[(4) - (1)].expr), dynamic_cast<SequenceType*>((yysemantic_stack_[(4) - (4)].node))
+            );
         }
     break;
 
   case 400:
 
 /* Line 690 of lalr1.cc  */
-#line 3264 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3288 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = new SignList( LOC((yyloc)), true );
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 401:
 
 /* Line 690 of lalr1.cc  */
-#line 3268 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3292 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = new SignList( LOC((yyloc)), false );
+            (yyval.expr) = new CastableExpr(
+                LOC((yyloc)), (yysemantic_stack_[(4) - (1)].expr), dynamic_cast<SingleType*>((yysemantic_stack_[(4) - (4)].node))
+            );
         }
     break;
 
   case 402:
 
 /* Line 690 of lalr1.cc  */
-#line 3272 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3300 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 403:
 
 /* Line 690 of lalr1.cc  */
-#line 3276 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3304 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.expr) = new CastExpr(
+                LOC((yyloc)), (yysemantic_stack_[(4) - (1)].expr), dynamic_cast<SingleType*>((yysemantic_stack_[(4) - (4)].node))
+            );
+        }
+    break;
+
+  case 404:
+
+/* Line 690 of lalr1.cc  */
+#line 3312 "/home/colea/work/new-jsoniq/build/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 3316 "/home/colea/work/new-jsoniq/build/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 3322 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 407:
+
+/* Line 690 of lalr1.cc  */
+#line 3326 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.expr) = new UnaryExpr( LOC((yyloc)), dynamic_cast<SignList*>((yysemantic_stack_[(2) - (1)].node)), (yysemantic_stack_[(2) - (2)].expr) );
+        }
+    break;
+
+  case 408:
+
+/* Line 690 of lalr1.cc  */
+#line 3332 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.node) = new SignList( LOC((yyloc)), true );
+        }
+    break;
+
+  case 409:
+
+/* Line 690 of lalr1.cc  */
+#line 3336 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.node) = new SignList( LOC((yyloc)), false );
+        }
+    break;
+
+  case 410:
+
+/* Line 690 of lalr1.cc  */
+#line 3340 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
+        }
+    break;
+
+  case 411:
+
+/* Line 690 of lalr1.cc  */
+#line 3344 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             if ( SignList *sl = dynamic_cast<SignList*>((yysemantic_stack_[(2) - (1)].node)) )
                 sl->negate();
@@ -6722,109 +6841,136 @@
         }
     break;
 
-  case 407:
+  case 415:
 
 /* Line 690 of lalr1.cc  */
-#line 3289 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3357 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
         (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
       }
     break;
 
-  case 408:
+  case 416:
 
 /* Line 690 of lalr1.cc  */
-#line 3294 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3362 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
         (yyval.expr) = new SimpleMapExpr(LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr));
       }
     break;
 
-  case 409:
+  case 417:
 
 /* Line 690 of lalr1.cc  */
-#line 3300 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3368 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_eq );
         }
     break;
 
-  case 410:
+  case 418:
 
 /* Line 690 of lalr1.cc  */
-#line 3304 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3372 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_ne );
         }
     break;
 
-  case 411:
+  case 419:
 
 /* Line 690 of lalr1.cc  */
-#line 3308 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3376 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_lt );
         }
     break;
 
-  case 412:
+  case 420:
 
 /* Line 690 of lalr1.cc  */
-#line 3312 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3380 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_le );
         }
     break;
 
-  case 413:
+  case 421:
 
 /* Line 690 of lalr1.cc  */
-#line 3316 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3384 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_gt );
         }
     break;
 
-  case 414:
+  case 422:
 
 /* Line 690 of lalr1.cc  */
-#line 3320 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3388 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_ge );
         }
     break;
 
-  case 415:
-
-/* Line 690 of lalr1.cc  */
-#line 3326 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+  case 423:
+
+/* Line 690 of lalr1.cc  */
+#line 3394 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.node) = new NodeComp( LOC((yyloc)), ParseConstants::op_is );
+        }
+    break;
+
+  case 424:
+
+/* Line 690 of lalr1.cc  */
+#line 3398 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.node) = new NodeComp( LOC((yyloc)), ParseConstants::op_precedes );
+        }
+    break;
+
+  case 425:
+
+/* Line 690 of lalr1.cc  */
+#line 3402 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.node) = new NodeComp( LOC((yyloc)), ParseConstants::op_follows );
+        }
+    break;
+
+  case 426:
+
+/* Line 690 of lalr1.cc  */
+#line 3408 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new ValidateExpr( LOC((yyloc)), "strict", (yysemantic_stack_[(4) - (3)].expr) );
         }
     break;
 
-  case 416:
+  case 427:
 
 /* Line 690 of lalr1.cc  */
-#line 3330 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3412 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new ValidateExpr( LOC((yyloc)), "lax", (yysemantic_stack_[(5) - (4)].expr) );
         }
     break;
 
-  case 417:
+  case 428:
 
 /* Line 690 of lalr1.cc  */
-#line 3334 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3416 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new ValidateExpr( LOC((yyloc)), "strict", (yysemantic_stack_[(5) - (4)].expr) );
         }
     break;
 
-  case 418:
+  case 429:
 
 /* Line 690 of lalr1.cc  */
-#line 3338 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3420 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new ValidateExpr(
                 LOC((yyloc)), dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (3)].node))->get_name(), (yysemantic_stack_[(6) - (5)].expr)
@@ -6833,21 +6979,10 @@
         }
     break;
 
-  case 419:
-
-/* Line 690 of lalr1.cc  */
-#line 3347 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-            (yyval.expr) = new ExtensionExpr(
-                LOC((yyloc)), dynamic_cast<PragmaList*>((yysemantic_stack_[(3) - (1)].node)), NULL
-            );
-        }
-    break;
-
-  case 420:
-
-/* Line 690 of lalr1.cc  */
-#line 3353 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+  case 430:
+
+/* Line 690 of lalr1.cc  */
+#line 3429 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new ExtensionExpr(
                 LOC((yyloc)), dynamic_cast<PragmaList*>((yysemantic_stack_[(4) - (1)].node)), (yysemantic_stack_[(4) - (3)].expr)
@@ -6855,10 +6990,10 @@
         }
     break;
 
-  case 421:
+  case 431:
 
 /* Line 690 of lalr1.cc  */
-#line 3361 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3437 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             PragmaList *pl = new PragmaList( LOC((yyloc)) );
             pl->push_back( dynamic_cast<Pragma*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -6866,10 +7001,10 @@
         }
     break;
 
-  case 422:
+  case 432:
 
 /* Line 690 of lalr1.cc  */
-#line 3367 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3443 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             if ( PragmaList *pl = dynamic_cast<PragmaList*>((yysemantic_stack_[(2) - (1)].node)) )
                 pl->push_back( dynamic_cast<Pragma*>((yysemantic_stack_[(2) - (2)].node)) );
@@ -6877,46 +7012,46 @@
         }
     break;
 
-  case 423:
+  case 433:
 
 /* Line 690 of lalr1.cc  */
-#line 3375 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3451 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new Pragma( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)), SYMTAB((yysemantic_stack_[(3) - (3)].sval)) );
         }
     break;
 
-  case 424:
+  case 434:
 
 /* Line 690 of lalr1.cc  */
-#line 3379 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3455 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new Pragma( LOC((yyloc)), new QName( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)) ), "" );
         }
     break;
 
-  case 425:
+  case 435:
 
 /* Line 690 of lalr1.cc  */
-#line 3383 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3459 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new Pragma( LOC((yyloc)), new QName( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)), true ), "" );
         }
     break;
 
-  case 426:
+  case 436:
 
 /* Line 690 of lalr1.cc  */
-#line 3389 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3465 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new PathExpr(LOC((yyloc)), ParseConstants::path_leading_lone_slash, NULL);
     }
     break;
 
-  case 427:
+  case 437:
 
 /* Line 690 of lalr1.cc  */
-#line 3393 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3469 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       RelativePathExpr* rpe;
       rpe = new RelativePathExpr(LOC((yyloc)), ParseConstants::st_slash, NULL, (yysemantic_stack_[(2) - (2)].expr), false);
@@ -6926,10 +7061,10 @@
     }
     break;
 
-  case 428:
+  case 438:
 
 /* Line 690 of lalr1.cc  */
-#line 3401 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3477 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       RelativePathExpr* rpe;
       rpe = new RelativePathExpr(LOC((yyloc)), ParseConstants::st_slashslash, NULL, (yysemantic_stack_[(2) - (2)].expr), false);
@@ -6939,10 +7074,10 @@
     }
     break;
 
-  case 429:
+  case 439:
 
 /* Line 690 of lalr1.cc  */
-#line 3409 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3485 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       RelativePathExpr* rpe = dynamic_cast<RelativePathExpr*>((yysemantic_stack_[(1) - (1)].expr));
       if (rpe != NULL &&
@@ -6961,19 +7096,19 @@
     }
     break;
 
-  case 430:
+  case 440:
 
 /* Line 690 of lalr1.cc  */
-#line 3428 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3504 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = NULL;
     }
     break;
 
-  case 431:
+  case 441:
 
 /* Line 690 of lalr1.cc  */
-#line 3434 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3510 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       AxisStep* as = dynamic_cast<AxisStep*>((yysemantic_stack_[(1) - (1)].expr));
       (yyval.expr) = (as ?
@@ -6985,28 +7120,28 @@
     }
     break;
 
-  case 432:
+  case 442:
 
 /* Line 690 of lalr1.cc  */
-#line 3444 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3520 "/home/colea/work/new-jsoniq/build/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 433:
+  case 443:
 
 /* Line 690 of lalr1.cc  */
-#line 3448 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3524 "/home/colea/work/new-jsoniq/build/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 436:
+  case 446:
 
 /* Line 690 of lalr1.cc  */
-#line 3458 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3534 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new AxisStep(
                 LOC((yyloc)), dynamic_cast<ForwardStep*>((yysemantic_stack_[(1) - (1)].node)), NULL
@@ -7014,10 +7149,10 @@
         }
     break;
 
-  case 437:
+  case 447:
 
 /* Line 690 of lalr1.cc  */
-#line 3464 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3540 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new AxisStep(
                 LOC((yyloc)),
@@ -7027,10 +7162,10 @@
         }
     break;
 
-  case 438:
+  case 448:
 
 /* Line 690 of lalr1.cc  */
-#line 3472 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3548 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new AxisStep(
                 LOC((yyloc)), dynamic_cast<ReverseStep*>((yysemantic_stack_[(1) - (1)].node)), NULL
@@ -7038,10 +7173,10 @@
         }
     break;
 
-  case 439:
+  case 449:
 
 /* Line 690 of lalr1.cc  */
-#line 3478 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3554 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new AxisStep(
                 LOC((yyloc)),
@@ -7051,10 +7186,10 @@
         }
     break;
 
-  case 440:
+  case 450:
 
 /* Line 690 of lalr1.cc  */
-#line 3488 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3564 "/home/colea/work/new-jsoniq/build/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)
@@ -7062,10 +7197,10 @@
         }
     break;
 
-  case 441:
+  case 451:
 
 /* Line 690 of lalr1.cc  */
-#line 3494 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3570 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ForwardStep(
                 LOC((yyloc)), dynamic_cast<AbbrevForwardStep*>((yysemantic_stack_[(1) - (1)].node))
@@ -7073,46 +7208,46 @@
         }
     break;
 
-  case 442:
+  case 452:
 
 /* Line 690 of lalr1.cc  */
-#line 3502 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3578 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ForwardAxis( LOC((yyloc)), ParseConstants::axis_child );
         }
     break;
 
-  case 443:
+  case 453:
 
 /* Line 690 of lalr1.cc  */
-#line 3506 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3582 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ForwardAxis( LOC((yyloc)), ParseConstants::axis_descendant);
         }
     break;
 
-  case 444:
+  case 454:
 
 /* Line 690 of lalr1.cc  */
-#line 3510 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3586 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ForwardAxis( LOC((yyloc)), ParseConstants::axis_attribute );
         }
     break;
 
-  case 445:
+  case 455:
 
 /* Line 690 of lalr1.cc  */
-#line 3514 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3590 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ForwardAxis( LOC((yyloc)), ParseConstants::axis_self );
         }
     break;
 
-  case 446:
+  case 456:
 
 /* Line 690 of lalr1.cc  */
-#line 3518 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3594 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ForwardAxis(
                 LOC((yyloc)), ParseConstants::axis_descendant_or_self
@@ -7120,10 +7255,10 @@
         }
     break;
 
-  case 447:
+  case 457:
 
 /* Line 690 of lalr1.cc  */
-#line 3524 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3600 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ForwardAxis(
                 LOC((yyloc)), ParseConstants::axis_following_sibling
@@ -7131,46 +7266,46 @@
         }
     break;
 
-  case 448:
+  case 458:
 
 /* Line 690 of lalr1.cc  */
-#line 3530 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3606 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ForwardAxis( LOC((yyloc)), ParseConstants::axis_following );
         }
     break;
 
-  case 449:
+  case 459:
 
 /* Line 690 of lalr1.cc  */
-#line 3536 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3612 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new AbbrevForwardStep( LOC((yyloc)), (yysemantic_stack_[(1) - (1)].node), false );
         }
     break;
 
-  case 450:
+  case 460:
 
 /* Line 690 of lalr1.cc  */
-#line 3540 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3616 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new AbbrevForwardStep( LOC((yyloc)), (yysemantic_stack_[(2) - (2)].node), true );
         }
     break;
 
-  case 451:
+  case 461:
 
 /* Line 690 of lalr1.cc  */
-#line 3546 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3622 "/home/colea/work/new-jsoniq/build/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 452:
+  case 462:
 
 /* Line 690 of lalr1.cc  */
-#line 3550 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3626 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             ReverseAxis *ra = new ReverseAxis(
                 LOC((yyloc)), ParseConstants::axis_parent
@@ -7179,28 +7314,28 @@
         }
     break;
 
-  case 453:
+  case 463:
 
 /* Line 690 of lalr1.cc  */
-#line 3559 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3635 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ReverseAxis( LOC((yyloc)), ParseConstants::axis_parent );
         }
     break;
 
-  case 454:
+  case 464:
 
 /* Line 690 of lalr1.cc  */
-#line 3563 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3639 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ReverseAxis( LOC((yyloc)), ParseConstants::axis_ancestor );
         }
     break;
 
-  case 455:
+  case 465:
 
 /* Line 690 of lalr1.cc  */
-#line 3567 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3643 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ReverseAxis(
                 LOC((yyloc)), ParseConstants::axis_preceding_sibling
@@ -7208,19 +7343,19 @@
         }
     break;
 
-  case 456:
+  case 466:
 
 /* Line 690 of lalr1.cc  */
-#line 3573 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3649 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ReverseAxis( LOC((yyloc)), ParseConstants::axis_preceding );
         }
     break;
 
-  case 457:
+  case 467:
 
 /* Line 690 of lalr1.cc  */
-#line 3577 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3653 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ReverseAxis(
                 LOC((yyloc)), ParseConstants::axis_ancestor_or_self
@@ -7228,109 +7363,109 @@
         }
     break;
 
-  case 460:
+  case 470:
 
 /* Line 690 of lalr1.cc  */
-#line 3589 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3665 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new NameTest( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
         }
     break;
 
-  case 461:
+  case 471:
 
 /* Line 690 of lalr1.cc  */
-#line 3593 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3669 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new NameTest( LOC((yyloc)), dynamic_cast<Wildcard*>((yysemantic_stack_[(1) - (1)].node)) );
         }
     break;
 
-  case 462:
+  case 472:
 
 /* Line 690 of lalr1.cc  */
-#line 3599 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3675 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new Wildcard(LOC((yyloc)), "", "", ParseConstants::wild_all, false);
     }
     break;
 
-  case 463:
+  case 473:
 
 /* Line 690 of lalr1.cc  */
-#line 3603 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3679 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new Wildcard(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)), "", ParseConstants::wild_elem, false);
     }
     break;
 
-  case 464:
+  case 474:
 
 /* Line 690 of lalr1.cc  */
-#line 3607 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3683 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new Wildcard(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)), "", ParseConstants::wild_elem, true);
     }
     break;
 
-  case 465:
+  case 475:
 
 /* Line 690 of lalr1.cc  */
-#line 3611 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3687 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new Wildcard(LOC((yyloc)), "", SYMTAB((yysemantic_stack_[(1) - (1)].sval)), ParseConstants::wild_prefix, false);
     }
     break;
 
-  case 466:
+  case 476:
 
 /* Line 690 of lalr1.cc  */
-#line 3617 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3693 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
        (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
      }
     break;
 
-  case 467:
+  case 477:
 
 /* Line 690 of lalr1.cc  */
-#line 3621 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3697 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
        (yyval.expr) = new FilterExpr(LOC((yyloc)), (yysemantic_stack_[(2) - (1)].expr), dynamic_cast<PredicateList*>((yysemantic_stack_[(2) - (2)].node)));
      }
     break;
 
-  case 468:
+  case 478:
 
 /* Line 690 of lalr1.cc  */
-#line 3625 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3701 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
        (yyval.expr) = new DynamicFunctionInvocation(LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), false);
      }
     break;
 
-  case 469:
+  case 479:
 
 /* Line 690 of lalr1.cc  */
-#line 3629 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3705 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
        (yyval.expr) = new DynamicFunctionInvocation(LOC((yyloc)), (yysemantic_stack_[(4) - (1)].expr), dynamic_cast<ArgList*>((yysemantic_stack_[(4) - (3)].node)), false);
      }
     break;
 
-  case 470:
+  case 480:
 
 /* Line 690 of lalr1.cc  */
-#line 3633 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3709 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new JSONArrayUnboxing(LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr));
     }
     break;
 
-  case 471:
+  case 481:
 
 /* Line 690 of lalr1.cc  */
-#line 3637 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3713 "/home/colea/work/new-jsoniq/build/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)));
@@ -7338,10 +7473,10 @@
      }
     break;
 
-  case 472:
+  case 482:
 
 /* Line 690 of lalr1.cc  */
-#line 3643 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3719 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
        (yyval.expr) = new JSONObjectLookup(LOC((yyloc)), LOC((yylocation_stack_[(4) - (2)])),
                                  (yysemantic_stack_[(4) - (1)].expr),
@@ -7349,10 +7484,10 @@
      }
     break;
 
-  case 473:
+  case 483:
 
 /* Line 690 of lalr1.cc  */
-#line 3649 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3725 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
        (yyval.expr) = new JSONObjectLookup(LOC((yyloc)), LOC((yylocation_stack_[(5) - (2)])),
                                  (yysemantic_stack_[(5) - (1)].expr),
@@ -7360,28 +7495,28 @@
      }
     break;
 
-  case 474:
+  case 484:
 
 /* Line 690 of lalr1.cc  */
-#line 3655 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3731 "/home/colea/work/new-jsoniq/build/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 475:
+  case 485:
 
 /* Line 690 of lalr1.cc  */
-#line 3659 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3735 "/home/colea/work/new-jsoniq/build/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 476:
+  case 486:
 
 /* Line 690 of lalr1.cc  */
-#line 3665 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3741 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       PredicateList* pl = new PredicateList( LOC((yyloc)) );
       pl->push_back(dynamic_cast<exprnode*>((yysemantic_stack_[(1) - (1)].expr)));
@@ -7389,10 +7524,10 @@
     }
     break;
 
-  case 477:
+  case 487:
 
 /* Line 690 of lalr1.cc  */
-#line 3671 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3747 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       if (PredicateList* pl = dynamic_cast<PredicateList*>((yysemantic_stack_[(2) - (1)].node)))
         pl->push_back(dynamic_cast<exprnode*>((yysemantic_stack_[(2) - (2)].expr)));
@@ -7400,57 +7535,57 @@
     }
     break;
 
-  case 478:
+  case 488:
 
 /* Line 690 of lalr1.cc  */
-#line 3679 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3755 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
     }
     break;
 
-  case 493:
-
-/* Line 690 of lalr1.cc  */
-#line 3701 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
-  case 494:
-
-/* Line 690 of lalr1.cc  */
-#line 3705 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
-  case 495:
-
-/* Line 690 of lalr1.cc  */
-#line 3709 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+  case 503:
+
+/* Line 690 of lalr1.cc  */
+#line 3777 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 504:
+
+/* Line 690 of lalr1.cc  */
+#line 3781 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 505:
+
+/* Line 690 of lalr1.cc  */
+#line 3785 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             driver.addCommonLanguageWarning((yylocation_stack_[(1) - (1)]), ZED(ZWST0009_TRUE_FALSE_NULL_KEYWORDS));
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
-  case 496:
+  case 506:
 
 /* Line 690 of lalr1.cc  */
-#line 3714 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3790 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             driver.addCommonLanguageWarning((yylocation_stack_[(1) - (1)]), ZED(ZWST0009_TRUE_FALSE_NULL_KEYWORDS));
             (yyval.expr) = new NullLiteral(LOC((yyloc)));
         }
     break;
 
-  case 497:
+  case 507:
 
 /* Line 690 of lalr1.cc  */
-#line 3721 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3797 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = NumericLiteral::new_literal(
                 LOC((yyloc)), ParseConstants::num_decimal, *(yysemantic_stack_[(1) - (1)].decval)
@@ -7459,10 +7594,10 @@
         }
     break;
 
-  case 498:
+  case 508:
 
 /* Line 690 of lalr1.cc  */
-#line 3728 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3804 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = NumericLiteral::new_literal(
                 LOC((yyloc)), ParseConstants::num_integer, *(yysemantic_stack_[(1) - (1)].ival)
@@ -7471,10 +7606,10 @@
         }
     break;
 
-  case 499:
+  case 509:
 
 /* Line 690 of lalr1.cc  */
-#line 3735 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3811 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = NumericLiteral::new_literal(
                 LOC((yyloc)), ParseConstants::num_double, *(yysemantic_stack_[(1) - (1)].dval)
@@ -7483,92 +7618,92 @@
         }
     break;
 
-  case 500:
+  case 510:
 
 /* Line 690 of lalr1.cc  */
-#line 3744 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3820 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new BooleanLiteral(LOC((yyloc)), true);
         }
     break;
 
-  case 501:
+  case 511:
 
 /* Line 690 of lalr1.cc  */
-#line 3748 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3824 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new BooleanLiteral(LOC((yyloc)), false);
         }
     break;
 
-  case 502:
+  case 512:
 
 /* Line 690 of lalr1.cc  */
-#line 3754 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3830 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new VarRef(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)));
         }
     break;
 
-  case 503:
+  case 513:
 
 /* Line 690 of lalr1.cc  */
-#line 3760 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3836 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new ParenthesizedExpr( LOC((yyloc)), NULL);
         }
     break;
 
-  case 504:
+  case 514:
 
 /* Line 690 of lalr1.cc  */
-#line 3764 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3840 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new ParenthesizedExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr) );
         }
     break;
 
-  case 505:
+  case 515:
 
 /* Line 690 of lalr1.cc  */
-#line 3770 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3846 "/home/colea/work/new-jsoniq/build/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 506:
+  case 516:
 
 /* Line 690 of lalr1.cc  */
-#line 3777 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3853 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new OrderedExpr( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
         }
     break;
 
-  case 507:
+  case 517:
 
 /* Line 690 of lalr1.cc  */
-#line 3783 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3859 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new UnorderedExpr( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
         }
     break;
 
-  case 508:
+  case 518:
 
 /* Line 690 of lalr1.cc  */
-#line 3789 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3865 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new FunctionCall(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (1)].expr)), NULL);
     }
     break;
 
-  case 509:
+  case 519:
 
 /* Line 690 of lalr1.cc  */
-#line 3793 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3869 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       ArgList* argList = dynamic_cast<ArgList*>((yysemantic_stack_[(4) - (3)].node));
       if (argList->has_placeholder())
@@ -7586,10 +7721,10 @@
     }
     break;
 
-  case 510:
+  case 520:
 
 /* Line 690 of lalr1.cc  */
-#line 3811 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3887 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       ArgList* al = new ArgList(LOC((yyloc)));
       al->push_back(new ArgumentPlaceholder(LOC((yyloc))));
@@ -7597,10 +7732,10 @@
     }
     break;
 
-  case 511:
+  case 521:
 
 /* Line 690 of lalr1.cc  */
-#line 3817 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3893 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       if (ArgList* al = dynamic_cast<ArgList*>((yysemantic_stack_[(3) - (1)].node)))
         al->push_back(new ArgumentPlaceholder(LOC((yyloc))));
@@ -7608,10 +7743,10 @@
     }
     break;
 
-  case 512:
+  case 522:
 
 /* Line 690 of lalr1.cc  */
-#line 3823 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3899 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       ArgList *al = new ArgList( LOC((yyloc)) );
       al->push_back( (yysemantic_stack_[(1) - (1)].expr) );
@@ -7619,10 +7754,10 @@
     }
     break;
 
-  case 513:
+  case 523:
 
 /* Line 690 of lalr1.cc  */
-#line 3829 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3905 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       if ( ArgList *al = dynamic_cast<ArgList*>((yysemantic_stack_[(3) - (1)].node)) )
         al->push_back( (yysemantic_stack_[(3) - (3)].expr) );
@@ -7630,37 +7765,37 @@
     }
     break;
 
-  case 514:
-
-/* Line 690 of lalr1.cc  */
-#line 3837 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
-    break;
-
-  case 515:
-
-/* Line 690 of lalr1.cc  */
-#line 3841 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
-    break;
-
-  case 516:
-
-/* Line 690 of lalr1.cc  */
-#line 3847 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+  case 524:
+
+/* Line 690 of lalr1.cc  */
+#line 3913 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+    }
+    break;
+
+  case 525:
+
+/* Line 690 of lalr1.cc  */
+#line 3917 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+    }
+    break;
+
+  case 526:
+
+/* Line 690 of lalr1.cc  */
+#line 3923 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new LiteralFunctionItem(LOC ((yyloc)), dynamic_cast<QName*>((yysemantic_stack_[(3) - (1)].expr)), (yysemantic_stack_[(3) - (3)].ival));
     }
     break;
 
-  case 517:
+  case 527:
 
 /* Line 690 of lalr1.cc  */
-#line 3853 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3929 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new InlineFunction(LOC((yyloc)),
                               &*(yysemantic_stack_[(3) - (2)].fnsig)->theParams,
@@ -7670,10 +7805,10 @@
     }
     break;
 
-  case 523:
+  case 533:
 
 /* Line 690 of lalr1.cc  */
-#line 3872 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3948 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new DirElemConstructor(LOC((yyloc)),
                                   static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -7683,10 +7818,10 @@
     }
     break;
 
-  case 524:
+  case 534:
 
 /* Line 690 of lalr1.cc  */
-#line 3880 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3956 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       if (static_cast<QName*>((yysemantic_stack_[(8) - (2)].expr))->get_qname() != static_cast<QName*>((yysemantic_stack_[(8) - (6)].expr))->get_qname())
       {
@@ -7704,10 +7839,10 @@
     }
     break;
 
-  case 525:
+  case 535:
 
 /* Line 690 of lalr1.cc  */
-#line 3896 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3972 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new DirElemConstructor(LOC((yyloc)),
                                   static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -7717,10 +7852,10 @@
     }
     break;
 
-  case 526:
+  case 536:
 
 /* Line 690 of lalr1.cc  */
-#line 3904 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3980 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       if (static_cast<QName*>((yysemantic_stack_[(9) - (2)].expr))->get_qname() != static_cast<QName*>((yysemantic_stack_[(9) - (7)].expr))->get_qname())
       {
@@ -7738,10 +7873,10 @@
     }
     break;
 
-  case 527:
+  case 537:
 
 /* Line 690 of lalr1.cc  */
-#line 3922 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 3998 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       if (static_cast<QName*>((yysemantic_stack_[(9) - (2)].expr))->get_qname() != static_cast<QName*>((yysemantic_stack_[(9) - (7)].expr))->get_qname())
       {
@@ -7759,10 +7894,10 @@
     }
     break;
 
-  case 528:
+  case 538:
 
 /* Line 690 of lalr1.cc  */
-#line 3940 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4016 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       if (static_cast<QName*>((yysemantic_stack_[(10) - (2)].expr))->get_qname() != static_cast<QName*>((yysemantic_stack_[(10) - (8)].expr))->get_qname())
       {
@@ -7780,10 +7915,10 @@
     }
     break;
 
-  case 529:
+  case 539:
 
 /* Line 690 of lalr1.cc  */
-#line 3958 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4034 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       DirElemContentList *decl = new DirElemContentList( LOC((yyloc)) );
       decl->push_back( dynamic_cast<DirElemContent*>((yysemantic_stack_[(1) - (1)].expr)) );
@@ -7791,10 +7926,10 @@
     }
     break;
 
-  case 530:
+  case 540:
 
 /* Line 690 of lalr1.cc  */
-#line 3964 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4040 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       DirElemContentList *decl = dynamic_cast<DirElemContentList*>((yysemantic_stack_[(2) - (1)].node));
       if ( decl )
@@ -7803,10 +7938,10 @@
     }
     break;
 
-  case 531:
+  case 541:
 
 /* Line 690 of lalr1.cc  */
-#line 3973 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4049 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       DirAttributeList *dal = new DirAttributeList( LOC((yyloc)) );
       dal->push_back( dynamic_cast<DirAttr*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -7814,10 +7949,10 @@
     }
     break;
 
-  case 532:
+  case 542:
 
 /* Line 690 of lalr1.cc  */
-#line 3979 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4055 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       DirAttributeList *dal = dynamic_cast<DirAttributeList*>((yysemantic_stack_[(2) - (1)].node));
       if ( dal )
@@ -7826,10 +7961,10 @@
     }
     break;
 
-  case 533:
+  case 543:
 
 /* Line 690 of lalr1.cc  */
-#line 3988 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4064 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new DirAttr(LOC((yyloc)),
                        static_cast<QName*>((yysemantic_stack_[(6) - (2)].expr)),
@@ -7837,48 +7972,48 @@
     }
     break;
 
-  case 536:
+  case 546:
 
 /* Line 690 of lalr1.cc  */
-#line 3998 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4074 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new DirAttributeValue(LOC((yyloc)),
                                  dynamic_cast<QuoteAttrContentList*>((yysemantic_stack_[(3) - (2)].node)));
     }
     break;
 
-  case 537:
+  case 547:
 
 /* Line 690 of lalr1.cc  */
-#line 4003 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4079 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new DirAttributeValue( LOC((yyloc)),
                                   dynamic_cast<AposAttrContentList*>((yysemantic_stack_[(3) - (2)].node)));
     }
     break;
 
-  case 538:
+  case 548:
 
 /* Line 690 of lalr1.cc  */
-#line 4009 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4085 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new QuoteAttrContentList( LOC((yyloc)) );
     }
     break;
 
-  case 539:
+  case 549:
 
 /* Line 690 of lalr1.cc  */
-#line 4013 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4089 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
     break;
 
-  case 540:
+  case 550:
 
 /* Line 690 of lalr1.cc  */
-#line 4019 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4095 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       QuoteAttrContentList *qacl = new QuoteAttrContentList( LOC((yyloc)) );
       qacl->push_back( new QuoteAttrValueContent( LOC((yyloc)), "\"" ) );
@@ -7886,10 +8021,10 @@
     }
     break;
 
-  case 541:
+  case 551:
 
 /* Line 690 of lalr1.cc  */
-#line 4025 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4101 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       QuoteAttrContentList *qacl = new QuoteAttrContentList( LOC((yyloc)) );
       qacl->push_back( dynamic_cast<QuoteAttrValueContent*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -7897,10 +8032,10 @@
     }
     break;
 
-  case 542:
+  case 552:
 
 /* Line 690 of lalr1.cc  */
-#line 4031 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4107 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       QuoteAttrContentList* qacl = dynamic_cast<QuoteAttrContentList*>((yysemantic_stack_[(2) - (1)].node));
       if ( qacl )
@@ -7909,10 +8044,10 @@
     }
     break;
 
-  case 543:
+  case 553:
 
 /* Line 690 of lalr1.cc  */
-#line 4038 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4114 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       QuoteAttrContentList *qacl = dynamic_cast<QuoteAttrContentList*>((yysemantic_stack_[(2) - (1)].node));
       if ( qacl )
@@ -7921,28 +8056,28 @@
     }
     break;
 
-  case 544:
+  case 554:
 
 /* Line 690 of lalr1.cc  */
-#line 4046 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4122 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AposAttrContentList( LOC((yyloc)) );
     }
     break;
 
-  case 545:
+  case 555:
 
 /* Line 690 of lalr1.cc  */
-#line 4050 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4126 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
     break;
 
-  case 546:
+  case 556:
 
 /* Line 690 of lalr1.cc  */
-#line 4056 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4132 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       AposAttrContentList *aacl = new AposAttrContentList( LOC((yyloc)) );
       aacl->push_back( new AposAttrValueContent( LOC((yyloc)),"'") );
@@ -7950,10 +8085,10 @@
     }
     break;
 
-  case 547:
+  case 557:
 
 /* Line 690 of lalr1.cc  */
-#line 4062 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4138 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       AposAttrContentList *aacl = new AposAttrContentList( LOC((yyloc)) );
       aacl->push_back( dynamic_cast<AposAttrValueContent*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -7961,10 +8096,10 @@
     }
     break;
 
-  case 548:
+  case 558:
 
 /* Line 690 of lalr1.cc  */
-#line 4068 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4144 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       AposAttrContentList *aacl = dynamic_cast<AposAttrContentList*>((yysemantic_stack_[(2) - (1)].node));
       if (aacl)
@@ -7973,10 +8108,10 @@
     }
     break;
 
-  case 549:
+  case 559:
 
 /* Line 690 of lalr1.cc  */
-#line 4075 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4151 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       AposAttrContentList *aacl = dynamic_cast<AposAttrContentList*>((yysemantic_stack_[(2) - (1)].node));
       if ( aacl )
@@ -7985,603 +8120,535 @@
     }
     break;
 
-  case 550:
+  case 560:
 
 /* Line 690 of lalr1.cc  */
-#line 4084 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4160 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new QuoteAttrValueContent( LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
     }
     break;
 
-  case 551:
+  case 561:
 
 /* Line 690 of lalr1.cc  */
-#line 4088 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4164 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new QuoteAttrValueContent(LOC((yyloc)), dynamic_cast<CommonContent*>((yysemantic_stack_[(1) - (1)].expr)));
     }
     break;
 
-  case 552:
+  case 562:
 
 /* Line 690 of lalr1.cc  */
-#line 4094 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4170 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AposAttrValueContent( LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
     }
     break;
 
-  case 553:
+  case 563:
 
 /* Line 690 of lalr1.cc  */
-#line 4098 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4174 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AposAttrValueContent(LOC((yyloc)), dynamic_cast<CommonContent*>((yysemantic_stack_[(1) - (1)].expr)));
     }
     break;
 
-  case 554:
+  case 564:
 
 /* Line 690 of lalr1.cc  */
-#line 4104 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4180 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new DirElemContent( LOC((yyloc)), (yysemantic_stack_[(1) - (1)].expr) );
     }
     break;
 
-  case 555:
+  case 565:
 
 /* Line 690 of lalr1.cc  */
-#line 4108 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4184 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new DirElemContent( LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
     }
     break;
 
-  case 556:
+  case 566:
 
 /* Line 690 of lalr1.cc  */
-#line 4112 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4188 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       rchandle<CDataSection> cdata_h = dynamic_cast<CDataSection*>((yysemantic_stack_[(1) - (1)].expr));
       (yyval.expr) = new DirElemContent( LOC((yyloc)), cdata_h );
     }
     break;
 
-  case 557:
+  case 567:
 
 /* Line 690 of lalr1.cc  */
-#line 4117 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4193 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       rchandle<CommonContent> cont_h = dynamic_cast<CommonContent*>((yysemantic_stack_[(1) - (1)].expr));
       (yyval.expr) = new DirElemContent( LOC((yyloc)), cont_h );
     }
     break;
 
-  case 558:
+  case 568:
 
 /* Line 690 of lalr1.cc  */
-#line 4124 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4200 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new CommonContent(LOC((yyloc)), ParseConstants::cont_charref, SYMTAB((yysemantic_stack_[(1) - (1)].sval)));
     }
     break;
 
-  case 559:
+  case 569:
 
 /* Line 690 of lalr1.cc  */
-#line 4128 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4204 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new CommonContent(LOC((yyloc)), ParseConstants::cont_escape_lbrace);
     }
     break;
 
-  case 560:
+  case 570:
 
 /* Line 690 of lalr1.cc  */
-#line 4132 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4208 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new CommonContent(LOC((yyloc)), ParseConstants::cont_escape_rbrace);
     }
     break;
 
-  case 561:
+  case 571:
 
 /* Line 690 of lalr1.cc  */
-#line 4136 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4212 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new CommonContent(LOC((yyloc)), new EnclosedExpr(LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr)));
     }
     break;
 
-  case 562:
+  case 572:
 
 /* Line 690 of lalr1.cc  */
-#line 4142 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4218 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new DirCommentConstructor( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (2)].sval)) );
     }
     break;
 
-  case 563:
+  case 573:
 
 /* Line 690 of lalr1.cc  */
-#line 4147 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4223 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new DirCommentConstructor( LOC((yyloc)), "" );
     }
     break;
 
-  case 564:
+  case 574:
 
 /* Line 690 of lalr1.cc  */
-#line 4153 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4229 "/home/colea/work/new-jsoniq/build/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 565:
+  case 575:
 
 /* Line 690 of lalr1.cc  */
-#line 4159 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4235 "/home/colea/work/new-jsoniq/build/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 566:
+  case 576:
 
 /* Line 690 of lalr1.cc  */
-#line 4166 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4242 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new CDataSection( LOC((yyloc)),SYMTAB((yysemantic_stack_[(2) - (2)].sval)) );
     }
     break;
 
-  case 567:
-
-/* Line 690 of lalr1.cc  */
-#line 4172 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
-    break;
-
-  case 568:
-
-/* Line 690 of lalr1.cc  */
-#line 4177 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
-    break;
-
-  case 569:
-
-/* Line 690 of lalr1.cc  */
-#line 4182 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
-    break;
-
-  case 570:
-
-/* Line 690 of lalr1.cc  */
-#line 4187 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
-    break;
-
-  case 571:
-
-/* Line 690 of lalr1.cc  */
-#line 4192 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
-    break;
-
-  case 572:
-
-/* Line 690 of lalr1.cc  */
-#line 4197 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
-    break;
-
-  case 574:
-
-/* Line 690 of lalr1.cc  */
-#line 4205 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-      (yyval.expr) = new CompDocConstructor( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
-    }
-    break;
-
-  case 575:
-
-/* Line 690 of lalr1.cc  */
-#line 4211 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-      (yyval.expr) = new CompElemConstructor(LOC((yyloc)), new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (1)].sval))), (yysemantic_stack_[(3) - (2)].expr));
-    }
-    break;
-
-  case 576:
-
-/* Line 690 of lalr1.cc  */
-#line 4215 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-      (yyval.expr) = new CompElemConstructor( LOC((yyloc)), (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (6)].expr) );
-    }
-    break;
-
   case 577:
 
 /* Line 690 of lalr1.cc  */
-#line 4221 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4248 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.expr) = new CompAttrConstructor( LOC((yyloc)), new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (1)].sval))), (yysemantic_stack_[(3) - (2)].expr) );
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
     break;
 
   case 578:
 
 /* Line 690 of lalr1.cc  */
-#line 4225 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4253 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.expr) = new CompAttrConstructor( LOC((yyloc)), (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (6)].expr) );
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
     break;
 
   case 579:
 
 /* Line 690 of lalr1.cc  */
-#line 4231 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4258 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.expr) = new CompTextConstructor( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
     break;
 
   case 580:
 
 /* Line 690 of lalr1.cc  */
-#line 4237 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4263 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.expr) = new CompCommentConstructor( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
     break;
 
   case 581:
 
 /* Line 690 of lalr1.cc  */
-#line 4243 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4268 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.expr) = new CompPIConstructor(LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (1)].sval)), (yysemantic_stack_[(3) - (2)].expr));
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
     break;
 
   case 582:
 
 /* Line 690 of lalr1.cc  */
-#line 4247 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-      (yyval.expr) = new CompPIConstructor(LOC((yyloc)), (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (6)].expr));
-    }
-    break;
-
-  case 583:
-
-/* Line 690 of lalr1.cc  */
-#line 4253 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-      (yyval.expr) = new CompNamespaceConstructor(LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (1)].sval)), (yysemantic_stack_[(3) - (2)].expr));
+#line 4273 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
     break;
 
   case 584:
 
 /* Line 690 of lalr1.cc  */
-#line 4257 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4281 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.expr) = new CompNamespaceConstructor(LOC((yyloc)), (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (6)].expr));
+      (yyval.expr) = new CompDocConstructor( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
     }
     break;
 
   case 585:
 
 /* Line 690 of lalr1.cc  */
-#line 4263 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4287 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
+      (yyval.expr) = new CompElemConstructor(LOC((yyloc)), new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (1)].sval))), (yysemantic_stack_[(3) - (2)].expr));
     }
     break;
 
   case 586:
 
 /* Line 690 of lalr1.cc  */
-#line 4269 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4291 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = new SequenceType( LOC((yyloc)), (yysemantic_stack_[(1) - (1)].node), NULL );
-        }
+      (yyval.expr) = new CompElemConstructor( LOC((yyloc)), (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (6)].expr) );
+    }
     break;
 
   case 587:
 
 /* Line 690 of lalr1.cc  */
-#line 4273 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4297 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = new SequenceType(LOC((yyloc)), (yysemantic_stack_[(2) - (1)].node), dynamic_cast<OccurrenceIndicator*>((yysemantic_stack_[(2) - (2)].node)));
-        }
+      (yyval.expr) = new CompAttrConstructor( LOC((yyloc)), new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (1)].sval))), (yysemantic_stack_[(3) - (2)].expr) );
+    }
     break;
 
   case 588:
 
 /* Line 690 of lalr1.cc  */
-#line 4277 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4301 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = new SequenceType( LOC((yyloc)), NULL, NULL );
-        }
+      (yyval.expr) = new CompAttrConstructor( LOC((yyloc)), (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (6)].expr) );
+    }
     break;
 
   case 589:
 
 /* Line 690 of lalr1.cc  */
-#line 4281 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4307 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            driver.addCommonLanguageWarning((yylocation_stack_[(2) - (1)]), ZED(ZWST0009_JSONIQ_EMPTY_SEQUENCE));
-            (yyval.node) = new SequenceType( LOC((yyloc)), NULL, NULL );
-        }
+      (yyval.expr) = new CompTextConstructor( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
+    }
     break;
 
   case 590:
 
 /* Line 690 of lalr1.cc  */
-#line 4288 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4313 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = new OccurrenceIndicator(
-                LOC((yyloc)), ParseConstants::occurs_optionally
-            );
-        }
+      (yyval.expr) = new CompCommentConstructor( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
+    }
     break;
 
   case 591:
 
 /* Line 690 of lalr1.cc  */
-#line 4294 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4319 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = new OccurrenceIndicator(
-                LOC((yyloc)), ParseConstants::occurs_zero_or_more
-            );
-        }
+      (yyval.expr) = new CompPIConstructor(LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (1)].sval)), (yysemantic_stack_[(3) - (2)].expr));
+    }
     break;
 
   case 592:
 
 /* Line 690 of lalr1.cc  */
-#line 4300 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4323 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = new OccurrenceIndicator(
-                LOC((yyloc)), ParseConstants::occurs_one_or_more
-            );
-        }
+      (yyval.expr) = new CompPIConstructor(LOC((yyloc)), (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (6)].expr));
+    }
     break;
 
   case 593:
 
 /* Line 690 of lalr1.cc  */
-#line 4308 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4329 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
+      (yyval.expr) = new CompNamespaceConstructor(LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (1)].sval)), (yysemantic_stack_[(3) - (2)].expr));
+    }
     break;
 
   case 594:
 
 /* Line 690 of lalr1.cc  */
-#line 4312 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4333 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
+      (yyval.expr) = new CompNamespaceConstructor(LOC((yyloc)), (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (6)].expr));
+    }
     break;
 
   case 595:
 
 /* Line 690 of lalr1.cc  */
-#line 4316 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4339 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = new ItemType( LOC((yyloc)), true );
-        }
+      (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
+    }
     break;
 
   case 596:
 
 /* Line 690 of lalr1.cc  */
-#line 4320 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4345 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            driver.addCommonLanguageWarning((yylocation_stack_[(1) - (1)]), ZED(ZWST0009_JSONIQ_TYPE_KEYWORDS));
-            (yyval.node) = new ItemType( LOC((yyloc)), true );
+            (yyval.node) = new SequenceType( LOC((yyloc)), (yysemantic_stack_[(1) - (1)].node), NULL );
         }
     break;
 
   case 597:
 
 /* Line 690 of lalr1.cc  */
-#line 4325 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4349 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = new StructuredItemType(LOC((yyloc)));
+            (yyval.node) = new SequenceType(LOC((yyloc)), (yysemantic_stack_[(2) - (1)].node), dynamic_cast<OccurrenceIndicator*>((yysemantic_stack_[(2) - (2)].node)));
         }
     break;
 
   case 598:
 
 /* Line 690 of lalr1.cc  */
-#line 4329 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4353 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            driver.addCommonLanguageWarning((yylocation_stack_[(1) - (1)]), ZED(ZWST0009_JSONIQ_TYPE_KEYWORDS));
-            (yyval.node) = new StructuredItemType(LOC((yyloc)));
+            (yyval.node) = new SequenceType( LOC((yyloc)), NULL, NULL );
         }
     break;
 
   case 599:
 
 /* Line 690 of lalr1.cc  */
-#line 4334 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4357 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            driver.addCommonLanguageWarning((yylocation_stack_[(2) - (1)]), ZED(ZWST0009_JSONIQ_EMPTY_SEQUENCE));
+            (yyval.node) = new SequenceType( LOC((yyloc)), NULL, NULL );
         }
     break;
 
   case 600:
 
 /* Line 690 of lalr1.cc  */
-#line 4338 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4364 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            (yyval.node) = new OccurrenceIndicator(
+                LOC((yyloc)), ParseConstants::occurs_optionally
+            );
         }
     break;
 
   case 601:
 
 /* Line 690 of lalr1.cc  */
-#line 4342 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4370 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            (yyval.node) = new OccurrenceIndicator(
+                LOC((yyloc)), ParseConstants::occurs_zero_or_more
+            );
         }
     break;
 
   case 602:
 
 /* Line 690 of lalr1.cc  */
-#line 4348 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4376 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-          TypeList* aTypeList = new TypeList(LOC ((yyloc)));
-          aTypeList->push_back(dynamic_cast<SequenceType *>((yysemantic_stack_[(1) - (1)].node)));
-          (yyval.node) = aTypeList;
+            (yyval.node) = new OccurrenceIndicator(
+                LOC((yyloc)), ParseConstants::occurs_one_or_more
+            );
         }
     break;
 
   case 603:
 
 /* Line 690 of lalr1.cc  */
-#line 4354 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4384 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-          TypeList* aTypeList = dynamic_cast<TypeList *>((yysemantic_stack_[(3) - (1)].node));
-          aTypeList->push_back(dynamic_cast<SequenceType *>((yysemantic_stack_[(3) - (3)].node)));
-          (yyval.node) = (yysemantic_stack_[(3) - (1)].node);
+            GeneralizedAtomicType* gat = static_cast<GeneralizedAtomicType*>((yysemantic_stack_[(1) - (1)].node));
+            if (gat->get_qname()->get_localname() == "item")
+            {
+              driver.addCommonLanguageWarning((yylocation_stack_[(1) - (1)]), ZED(ZWST0009_JSONIQ_TYPE_KEYWORDS));
+              (yyval.node) = new ItemType( LOC((yyloc)), true );
+            }
+            else if (gat->get_qname()->get_localname() == "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 (gat->get_qname()->get_localname() == "array")
+            {
+              driver.addCommonLanguageWarning((yylocation_stack_[(1) - (1)]), ZED(ZWST0009_JSONIQ_TYPE_KEYWORDS));
+              (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonArray);
+            }
+            else if (gat->get_qname()->get_localname() == "structured-item")
+            {
+              driver.addCommonLanguageWarning((yylocation_stack_[(1) - (1)]), ZED(ZWST0009_JSONIQ_TYPE_KEYWORDS));
+              (yyval.node) = new StructuredItemType(LOC((yyloc)));
+            }
+            else
+            {
+              (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            }
         }
     break;
 
   case 604:
 
 /* Line 690 of lalr1.cc  */
-#line 4362 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4412 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.node) = new GeneralizedAtomicType( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
-    }
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
     break;
 
   case 605:
 
 /* Line 690 of lalr1.cc  */
-#line 4366 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4416 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.node) = new GeneralizedAtomicType( LOC((yyloc)), new QName(LOC((yyloc)), "null") );
-    }
+            (yyval.node) = new ItemType( LOC((yyloc)), true );
+        }
     break;
 
   case 606:
 
 /* Line 690 of lalr1.cc  */
-#line 4372 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4420 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.node) = new SimpleType( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
-    }
+            (yyval.node) = new StructuredItemType(LOC((yyloc)));
+        }
     break;
 
   case 607:
 
 /* Line 690 of lalr1.cc  */
-#line 4378 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4424 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-    }
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
     break;
 
   case 608:
 
 /* Line 690 of lalr1.cc  */
-#line 4382 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4428 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-    }
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
     break;
 
   case 609:
 
 /* Line 690 of lalr1.cc  */
-#line 4386 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4432 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-    }
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
     break;
 
   case 610:
 
 /* Line 690 of lalr1.cc  */
-#line 4390 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4438 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-    }
+          TypeList* aTypeList = new TypeList(LOC ((yyloc)));
+          aTypeList->push_back(dynamic_cast<SequenceType *>((yysemantic_stack_[(1) - (1)].node)));
+          (yyval.node) = aTypeList;
+        }
     break;
 
   case 611:
 
 /* Line 690 of lalr1.cc  */
-#line 4394 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4444 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-    }
+          TypeList* aTypeList = dynamic_cast<TypeList *>((yysemantic_stack_[(3) - (1)].node));
+          aTypeList->push_back(dynamic_cast<SequenceType *>((yysemantic_stack_[(3) - (3)].node)));
+          (yyval.node) = (yysemantic_stack_[(3) - (1)].node);
+        }
     break;
 
   case 612:
 
 /* Line 690 of lalr1.cc  */
-#line 4398 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4452 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+      (yyval.node) = new GeneralizedAtomicType( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
     }
     break;
 
   case 613:
 
 /* Line 690 of lalr1.cc  */
-#line 4402 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4456 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+      (yyval.node) = new GeneralizedAtomicType( LOC((yyloc)), new QName(LOC((yyloc)), "null") );
     }
     break;
 
   case 614:
 
 /* Line 690 of lalr1.cc  */
-#line 4406 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4462 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+      (yyval.node) = new SimpleType( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
     }
     break;
 
   case 615:
 
 /* Line 690 of lalr1.cc  */
-#line 4410 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4468 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -8590,7 +8657,7 @@
   case 616:
 
 /* Line 690 of lalr1.cc  */
-#line 4414 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4472 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -8599,207 +8666,191 @@
   case 617:
 
 /* Line 690 of lalr1.cc  */
-#line 4420 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4476 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.node) = new AnyKindTest( LOC((yyloc)) );
+      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
     break;
 
   case 618:
 
 /* Line 690 of lalr1.cc  */
-#line 4426 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4480 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.expr) = NULL;
+      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
     break;
 
   case 619:
 
 /* Line 690 of lalr1.cc  */
-#line 4432 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4484 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.node) = new DocumentTest(LOC((yyloc)));
+      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
     break;
 
   case 620:
 
 /* Line 690 of lalr1.cc  */
-#line 4436 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4488 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.node) = new DocumentTest(LOC((yyloc)), dynamic_cast<ElementTest*>((yysemantic_stack_[(4) - (3)].node)));
+      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
     break;
 
   case 621:
 
 /* Line 690 of lalr1.cc  */
-#line 4440 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4492 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.node) = new DocumentTest(LOC((yyloc)), dynamic_cast<SchemaElementTest*>((yysemantic_stack_[(4) - (3)].node)));
+      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
     break;
 
   case 622:
 
 /* Line 690 of lalr1.cc  */
-#line 4446 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4496 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.node) = new NamespaceTest(LOC((yyloc)));
+      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
     break;
 
   case 623:
 
 /* Line 690 of lalr1.cc  */
-#line 4451 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4500 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.node) = new TextTest(LOC((yyloc)));
+      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
     break;
 
   case 624:
 
 /* Line 690 of lalr1.cc  */
-#line 4457 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4504 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.node) = new CommentTest(LOC((yyloc)));
+      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
     break;
 
   case 625:
 
 /* Line 690 of lalr1.cc  */
-#line 4463 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4510 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = new PITest( LOC((yyloc)), "" );
-        }
+      (yyval.node) = new AnyKindTest( LOC((yyloc)) );
+    }
     break;
 
   case 626:
 
 /* Line 690 of lalr1.cc  */
-#line 4467 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4516 "/home/colea/work/new-jsoniq/build/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)) );
-        }
+      (yyval.expr) = NULL;
+    }
     break;
 
   case 627:
 
 /* Line 690 of lalr1.cc  */
-#line 4472 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4522 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = new PITest( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (3)].sval)) );
-        }
+      (yyval.node) = new DocumentTest(LOC((yyloc)));
+    }
     break;
 
   case 628:
 
 /* Line 690 of lalr1.cc  */
-#line 4478 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4526 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = new AttributeTest( LOC((yyloc)), NULL, NULL );
-        }
+      (yyval.node) = new DocumentTest(LOC((yyloc)), dynamic_cast<ElementTest*>((yysemantic_stack_[(4) - (3)].node)));
+    }
     break;
 
   case 629:
 
 /* Line 690 of lalr1.cc  */
-#line 4482 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4530 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = new AttributeTest(
-                LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)), NULL
-            );
-        }
+      (yyval.node) = new DocumentTest(LOC((yyloc)), dynamic_cast<SchemaElementTest*>((yysemantic_stack_[(4) - (3)].node)));
+    }
     break;
 
   case 630:
 
 /* Line 690 of lalr1.cc  */
-#line 4488 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4536 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = new AttributeTest(
-                LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(6) - (3)].expr)), dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node))
-            );
-        }
+      (yyval.node) = new NamespaceTest(LOC((yyloc)));
+    }
     break;
 
   case 631:
 
 /* Line 690 of lalr1.cc  */
-#line 4494 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4541 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = new AttributeTest( LOC((yyloc)), NULL, NULL );
-        }
+      (yyval.node) = new TextTest(LOC((yyloc)));
+    }
     break;
 
   case 632:
 
 /* Line 690 of lalr1.cc  */
-#line 4498 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4547 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = new AttributeTest(
-                LOC((yyloc)), NULL, dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node))
-            );
-        }
+      (yyval.node) = new CommentTest(LOC((yyloc)));
+    }
     break;
 
   case 633:
 
 /* Line 690 of lalr1.cc  */
-#line 4506 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4553 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = new SchemaAttributeTest( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)) );
+            (yyval.node) = new PITest( LOC((yyloc)), "" );
         }
     break;
 
   case 634:
 
 /* Line 690 of lalr1.cc  */
-#line 4512 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4557 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = new ElementTest( LOC((yyloc)), NULL, NULL, true );
+            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 635:
 
 /* Line 690 of lalr1.cc  */
-#line 4516 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4562 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = new ElementTest(
-                LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)), NULL, true
-            );
+            (yyval.node) = new PITest( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (3)].sval)) );
         }
     break;
 
   case 636:
 
 /* Line 690 of lalr1.cc  */
-#line 4522 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4568 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = new ElementTest(
-                LOC((yyloc)),
-                static_cast<QName*>((yysemantic_stack_[(6) - (3)].expr)),
-                dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node)),
-                false
-            );
+            (yyval.node) = new AttributeTest( LOC((yyloc)), NULL, NULL );
         }
     break;
 
   case 637:
 
 /* Line 690 of lalr1.cc  */
-#line 4531 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4572 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = new ElementTest(
-                LOC((yyloc)),
-                static_cast<QName*>((yysemantic_stack_[(6) - (3)].expr)),
-                dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node)),
-                true
+            (yyval.node) = new AttributeTest(
+                LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)), NULL
             );
         }
     break;
@@ -8807,10 +8858,10 @@
   case 638:
 
 /* Line 690 of lalr1.cc  */
-#line 4540 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4578 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = new ElementTest(
-                LOC((yyloc)), NULL, NULL, true
+            (yyval.node) = new AttributeTest(
+                LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(6) - (3)].expr)), dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node))
             );
         }
     break;
@@ -8818,21 +8869,19 @@
   case 639:
 
 /* Line 690 of lalr1.cc  */
-#line 4546 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4584 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = new ElementTest(
-                LOC((yyloc)), NULL, dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node)), false
-            );
+            (yyval.node) = new AttributeTest( LOC((yyloc)), NULL, NULL );
         }
     break;
 
   case 640:
 
 /* Line 690 of lalr1.cc  */
-#line 4552 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4588 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = new ElementTest(
-                LOC((yyloc)), NULL, dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node)), true
+            (yyval.node) = new AttributeTest(
+                LOC((yyloc)), NULL, dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node))
             );
         }
     break;
@@ -8840,195 +8889,203 @@
   case 641:
 
 /* Line 690 of lalr1.cc  */
-#line 4560 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4596 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = new SchemaElementTest( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)) );
+            (yyval.node) = new SchemaAttributeTest( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)) );
         }
     break;
 
   case 642:
 
 /* Line 690 of lalr1.cc  */
-#line 4566 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4602 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = new TypeName( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
+            (yyval.node) = new ElementTest( LOC((yyloc)), NULL, NULL, true );
         }
     break;
 
   case 643:
 
 /* Line 690 of lalr1.cc  */
-#line 4572 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4606 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = new TypeName( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(2) - (1)].expr)), true );
+            (yyval.node) = new ElementTest(
+                LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)), NULL, true
+            );
         }
     break;
 
   case 644:
 
 /* Line 690 of lalr1.cc  */
-#line 4578 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4612 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = new StringLiteral( LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
+            (yyval.node) = new ElementTest(
+                LOC((yyloc)),
+                static_cast<QName*>((yysemantic_stack_[(6) - (3)].expr)),
+                dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node)),
+                false
+            );
         }
     break;
 
   case 645:
 
 /* Line 690 of lalr1.cc  */
-#line 4584 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4621 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-    }
+            (yyval.node) = new ElementTest(
+                LOC((yyloc)),
+                static_cast<QName*>((yysemantic_stack_[(6) - (3)].expr)),
+                dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node)),
+                true
+            );
+        }
     break;
 
   case 646:
 
 /* Line 690 of lalr1.cc  */
-#line 4588 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4630 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-    }
+            (yyval.node) = new ElementTest(
+                LOC((yyloc)), NULL, NULL, true
+            );
+        }
     break;
 
   case 647:
 
 /* Line 690 of lalr1.cc  */
-#line 4594 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4636 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.node) = new AnyFunctionTest(LOC((yyloc)));
-    }
+            (yyval.node) = new ElementTest(
+                LOC((yyloc)), NULL, dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node)), false
+            );
+        }
     break;
 
   case 648:
 
 /* Line 690 of lalr1.cc  */
-#line 4600 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4642 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-          (yyval.node) = new TypedFunctionTest(LOC ((yyloc)), dynamic_cast<SequenceType *>((yysemantic_stack_[(5) - (5)].node)));
+            (yyval.node) = new ElementTest(
+                LOC((yyloc)), NULL, dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node)), true
+            );
         }
     break;
 
   case 649:
 
 /* Line 690 of lalr1.cc  */
-#line 4604 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4650 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-          (yyval.node) = new TypedFunctionTest(LOC ((yyloc)),
-              dynamic_cast<TypeList *>((yysemantic_stack_[(6) - (3)].node)),
-              dynamic_cast<SequenceType *>((yysemantic_stack_[(6) - (6)].node)));
+            (yyval.node) = new SchemaElementTest( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)) );
         }
     break;
 
   case 650:
 
 /* Line 690 of lalr1.cc  */
-#line 4612 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4656 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-           (yyval.node) = (yysemantic_stack_[(3) - (2)].node);
+            (yyval.node) = new TypeName( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
         }
     break;
 
   case 651:
 
 /* Line 690 of lalr1.cc  */
-#line 4618 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4662 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = new RevalidationDecl(
-                LOC((yyloc)), StaticContextConsts::strict_validation
-            );
+            (yyval.node) = new TypeName( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(2) - (1)].expr)), true );
         }
     break;
 
   case 652:
 
 /* Line 690 of lalr1.cc  */
-#line 4624 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4668 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = new RevalidationDecl(
-                LOC((yyloc)), StaticContextConsts::lax_validation
-            );
+            (yyval.expr) = new StringLiteral( LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
         }
     break;
 
   case 653:
 
 /* Line 690 of lalr1.cc  */
-#line 4630 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4674 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = new RevalidationDecl(
-                LOC((yyloc)), StaticContextConsts::skip_validation
-            );
-        }
+      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+    }
     break;
 
   case 654:
 
 /* Line 690 of lalr1.cc  */
-#line 4638 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4678 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = new InsertExpr( LOC((yyloc)), store::UpdateConsts::INTO, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
-        }
+      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+    }
     break;
 
   case 655:
 
 /* Line 690 of lalr1.cc  */
-#line 4642 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4684 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = new InsertExpr(
-                LOC((yyloc)), store::UpdateConsts::AS_FIRST_INTO, (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (7)].expr)
-            );
-        }
+      (yyval.node) = new AnyFunctionTest(LOC((yyloc)));
+    }
     break;
 
   case 656:
 
 /* Line 690 of lalr1.cc  */
-#line 4648 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4690 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = new InsertExpr(
-                LOC((yyloc)), store::UpdateConsts::AS_LAST_INTO, (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (7)].expr)
-            );
+          (yyval.node) = new TypedFunctionTest(LOC ((yyloc)), dynamic_cast<SequenceType *>((yysemantic_stack_[(5) - (5)].node)));
         }
     break;
 
   case 657:
 
 /* Line 690 of lalr1.cc  */
-#line 4654 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4694 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = new InsertExpr( LOC((yyloc)), store::UpdateConsts::AFTER, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
+          (yyval.node) = new TypedFunctionTest(LOC ((yyloc)),
+              dynamic_cast<TypeList *>((yysemantic_stack_[(6) - (3)].node)),
+              dynamic_cast<SequenceType *>((yysemantic_stack_[(6) - (6)].node)));
         }
     break;
 
   case 658:
 
 /* Line 690 of lalr1.cc  */
-#line 4658 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4702 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = new InsertExpr(
-                LOC ((yyloc)), store::UpdateConsts::BEFORE, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr)
-            );
+           (yyval.node) = (yysemantic_stack_[(3) - (2)].node);
         }
     break;
 
   case 659:
 
 /* Line 690 of lalr1.cc  */
-#line 4664 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4708 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = new InsertExpr( LOC((yyloc)), store::UpdateConsts::INTO, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
+            (yyval.node) = new RevalidationDecl(
+                LOC((yyloc)), StaticContextConsts::strict_validation
+            );
         }
     break;
 
   case 660:
 
 /* Line 690 of lalr1.cc  */
-#line 4668 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4714 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = new InsertExpr(
-                LOC((yyloc)), store::UpdateConsts::AS_FIRST_INTO, (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (7)].expr)
+            (yyval.node) = new RevalidationDecl(
+                LOC((yyloc)), StaticContextConsts::lax_validation
             );
         }
     break;
@@ -9036,10 +9093,10 @@
   case 661:
 
 /* Line 690 of lalr1.cc  */
-#line 4674 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4720 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = new InsertExpr(
-                  LOC((yyloc)), store::UpdateConsts::AS_LAST_INTO, (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (7)].expr)
+            (yyval.node) = new RevalidationDecl(
+                LOC((yyloc)), StaticContextConsts::skip_validation
             );
         }
     break;
@@ -9047,22 +9104,19 @@
   case 662:
 
 /* Line 690 of lalr1.cc  */
-#line 4680 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4728 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = new InsertExpr(
-                LOC ((yyloc)),
-                store::UpdateConsts::AFTER, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr)
-            );
+            (yyval.expr) = new InsertExpr( LOC((yyloc)), store::UpdateConsts::INTO, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
         }
     break;
 
   case 663:
 
 /* Line 690 of lalr1.cc  */
-#line 4687 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4732 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new InsertExpr(
-                LOC ((yyloc)), store::UpdateConsts::BEFORE, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr)
+                LOC((yyloc)), store::UpdateConsts::AS_FIRST_INTO, (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (7)].expr)
             );
         }
     break;
@@ -9070,25 +9124,110 @@
   case 664:
 
 /* Line 690 of lalr1.cc  */
-#line 4695 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4738 "/home/colea/work/new-jsoniq/build/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::AS_LAST_INTO, (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (7)].expr)
+            );
         }
     break;
 
   case 665:
 
 /* Line 690 of lalr1.cc  */
-#line 4700 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4744 "/home/colea/work/new-jsoniq/build/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::AFTER, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
         }
     break;
 
   case 666:
 
 /* Line 690 of lalr1.cc  */
-#line 4706 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4748 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.expr) = new InsertExpr(
+                LOC ((yyloc)), store::UpdateConsts::BEFORE, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr)
+            );
+        }
+    break;
+
+  case 667:
+
+/* Line 690 of lalr1.cc  */
+#line 4754 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.expr) = new InsertExpr( LOC((yyloc)), store::UpdateConsts::INTO, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
+        }
+    break;
+
+  case 668:
+
+/* Line 690 of lalr1.cc  */
+#line 4758 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.expr) = new InsertExpr(
+                LOC((yyloc)), store::UpdateConsts::AS_FIRST_INTO, (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (7)].expr)
+            );
+        }
+    break;
+
+  case 669:
+
+/* Line 690 of lalr1.cc  */
+#line 4764 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.expr) = new InsertExpr(
+                  LOC((yyloc)), store::UpdateConsts::AS_LAST_INTO, (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (7)].expr)
+            );
+        }
+    break;
+
+  case 670:
+
+/* Line 690 of lalr1.cc  */
+#line 4770 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.expr) = new InsertExpr(
+                LOC ((yyloc)),
+                store::UpdateConsts::AFTER, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr)
+            );
+        }
+    break;
+
+  case 671:
+
+/* Line 690 of lalr1.cc  */
+#line 4777 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.expr) = new InsertExpr(
+                LOC ((yyloc)), store::UpdateConsts::BEFORE, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr)
+            );
+        }
+    break;
+
+  case 672:
+
+/* Line 690 of lalr1.cc  */
+#line 4785 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.expr) = new DeleteExpr( LOC ((yyloc)), (yysemantic_stack_[(3) - (3)].expr) );
+        }
+    break;
+
+  case 673:
+
+/* Line 690 of lalr1.cc  */
+#line 4790 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.expr) = new DeleteExpr( LOC ((yyloc)), (yysemantic_stack_[(3) - (3)].expr) );
+        }
+    break;
+
+  case 674:
+
+/* Line 690 of lalr1.cc  */
+#line 4796 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new ReplaceExpr(
                 LOC((yyloc)), store::UpdateConsts::NODE, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr)
@@ -9096,10 +9235,10 @@
         }
     break;
 
-  case 667:
+  case 675:
 
 /* Line 690 of lalr1.cc  */
-#line 4712 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4802 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new ReplaceExpr(
                 LOC((yyloc)), store::UpdateConsts::VALUE_OF_NODE, (yysemantic_stack_[(7) - (5)].expr), (yysemantic_stack_[(7) - (7)].expr)
@@ -9107,29 +9246,29 @@
         }
     break;
 
-  case 668:
+  case 676:
 
 /* Line 690 of lalr1.cc  */
-#line 4720 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4810 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new RenameExpr( LOC ((yyloc)), (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
         }
     break;
 
-  case 669:
+  case 677:
 
 /* Line 690 of lalr1.cc  */
-#line 4726 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4816 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       CopyVarList *cvl = dynamic_cast<CopyVarList*>((yysemantic_stack_[(7) - (3)].expr));
       (yyval.expr) = new TransformExpr( LOC((yyloc)), cvl, (yysemantic_stack_[(7) - (5)].expr), (yysemantic_stack_[(7) - (7)].expr) );
     }
     break;
 
-  case 670:
+  case 678:
 
 /* Line 690 of lalr1.cc  */
-#line 4733 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4823 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       CopyVarList* lList = new CopyVarList(LOC((yyloc)));
       lList->push_back (dynamic_cast<VarBinding*> ((yysemantic_stack_[(1) - (1)].expr)));
@@ -9137,10 +9276,10 @@
     }
     break;
 
-  case 671:
+  case 679:
 
 /* Line 690 of lalr1.cc  */
-#line 4739 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4829 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       CopyVarList* lList = dynamic_cast<CopyVarList*>((yysemantic_stack_[(4) - (1)].expr));
       VarBinding* lBinding = dynamic_cast<VarBinding*>((yysemantic_stack_[(4) - (4)].expr));
@@ -9149,28 +9288,28 @@
     }
     break;
 
-  case 672:
+  case 680:
 
 /* Line 690 of lalr1.cc  */
-#line 4748 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4838 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
        (yyval.expr) = new VarBinding(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (1)].expr)), (yysemantic_stack_[(3) - (3)].expr));
     }
     break;
 
-  case 673:
+  case 681:
 
 /* Line 690 of lalr1.cc  */
-#line 4754 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4844 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new TryExpr( LOC((yyloc)), (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
         }
     break;
 
-  case 674:
+  case 682:
 
 /* Line 690 of lalr1.cc  */
-#line 4760 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4850 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             CatchListExpr *cle = new CatchListExpr( LOC((yyloc)) );
             cle->push_back( static_cast<CatchExpr*>((yysemantic_stack_[(1) - (1)].expr)) );
@@ -9178,10 +9317,10 @@
         }
     break;
 
-  case 675:
+  case 683:
 
 /* Line 690 of lalr1.cc  */
-#line 4766 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4856 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             CatchListExpr *cle = dynamic_cast<CatchListExpr*>((yysemantic_stack_[(2) - (1)].expr));
             if ( cle )
@@ -9190,29 +9329,29 @@
         }
     break;
 
-  case 676:
+  case 684:
 
 /* Line 690 of lalr1.cc  */
-#line 4775 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4865 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
        (yyval.expr) = new CatchExpr(LOC((yyloc)), *(yysemantic_stack_[(3) - (2)].name_test_list), (yysemantic_stack_[(3) - (3)].expr));
        delete (yysemantic_stack_[(3) - (2)].name_test_list);
     }
     break;
 
-  case 677:
+  case 685:
 
 /* Line 690 of lalr1.cc  */
-#line 4782 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4872 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
     }
     break;
 
-  case 678:
+  case 686:
 
 /* Line 690 of lalr1.cc  */
-#line 4788 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4878 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             CatchExpr::NameTestList *ntl = new CatchExpr::NameTestList;
             ntl->push_back( static_cast<NameTest*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -9220,10 +9359,10 @@
         }
     break;
 
-  case 679:
+  case 687:
 
 /* Line 690 of lalr1.cc  */
-#line 4794 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4884 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             CatchExpr::NameTestList *ntl =
                 static_cast<CatchExpr::NameTestList*>((yysemantic_stack_[(3) - (1)].name_test_list));
@@ -9232,121 +9371,121 @@
         }
     break;
 
-  case 680:
+  case 688:
 
 /* Line 690 of lalr1.cc  */
-#line 4803 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4893 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTSelection( LOC((yyloc)), (yysemantic_stack_[(2) - (1)].node), (yysemantic_stack_[(2) - (2)].pos_filter_list) );
             delete (yysemantic_stack_[(2) - (2)].pos_filter_list);
         }
     break;
 
-  case 681:
+  case 689:
 
 /* Line 690 of lalr1.cc  */
-#line 4810 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4900 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.pos_filter_list) = NULL;
         }
     break;
 
-  case 682:
+  case 690:
 
 /* Line 690 of lalr1.cc  */
-#line 4814 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4904 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.pos_filter_list) = (yysemantic_stack_[(1) - (1)].pos_filter_list);
         }
     break;
 
-  case 683:
+  case 691:
 
 /* Line 690 of lalr1.cc  */
-#line 4820 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4910 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.pos_filter_list) = new FTSelection::pos_filter_list_t;
             (yyval.pos_filter_list)->push_back( dynamic_cast<FTPosFilter*>((yysemantic_stack_[(1) - (1)].node)) );
         }
     break;
 
-  case 684:
+  case 692:
 
 /* Line 690 of lalr1.cc  */
-#line 4825 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4915 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yysemantic_stack_[(2) - (1)].pos_filter_list)->push_back( dynamic_cast<FTPosFilter*>((yysemantic_stack_[(2) - (2)].node)) );
             (yyval.pos_filter_list) = (yysemantic_stack_[(2) - (1)].pos_filter_list);
         }
     break;
 
-  case 685:
+  case 693:
 
 /* Line 690 of lalr1.cc  */
-#line 4832 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4922 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
-  case 686:
+  case 694:
 
 /* Line 690 of lalr1.cc  */
-#line 4836 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4926 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTOr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].node), (yysemantic_stack_[(3) - (3)].node) );
         }
     break;
 
-  case 687:
+  case 695:
 
 /* Line 690 of lalr1.cc  */
-#line 4842 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4932 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
-  case 688:
+  case 696:
 
 /* Line 690 of lalr1.cc  */
-#line 4846 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4936 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTAnd( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].node), (yysemantic_stack_[(3) - (3)].node) );
         }
     break;
 
-  case 689:
+  case 697:
 
 /* Line 690 of lalr1.cc  */
-#line 4852 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4942 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
-  case 690:
+  case 698:
 
 /* Line 690 of lalr1.cc  */
-#line 4856 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4946 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTMildNot( LOC((yyloc)), (yysemantic_stack_[(4) - (1)].node), (yysemantic_stack_[(4) - (4)].node) );
         }
     break;
 
-  case 691:
+  case 699:
 
 /* Line 690 of lalr1.cc  */
-#line 4862 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4952 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
-  case 692:
+  case 700:
 
 /* Line 690 of lalr1.cc  */
-#line 4866 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4956 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTUnaryNot(
                 LOC((yyloc)), dynamic_cast<FTPrimaryWithOptions*>((yysemantic_stack_[(2) - (2)].node))
@@ -9354,10 +9493,10 @@
         }
     break;
 
-  case 693:
+  case 701:
 
 /* Line 690 of lalr1.cc  */
-#line 4874 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4964 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTPrimaryWithOptions(
                 LOC((yyloc)),
@@ -9368,86 +9507,10 @@
         }
     break;
 
-  case 694:
-
-/* Line 690 of lalr1.cc  */
-#line 4884 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-            (yyval.node) = NULL;
-        }
-    break;
-
-  case 695:
-
-/* Line 690 of lalr1.cc  */
-#line 4888 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 696:
-
-/* Line 690 of lalr1.cc  */
-#line 4893 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-            (yyval.node) = NULL;
-        }
-    break;
-
-  case 697:
-
-/* Line 690 of lalr1.cc  */
-#line 4897 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 698:
-
-/* Line 690 of lalr1.cc  */
-#line 4903 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-            (yyval.node) = new FTWeight( LOC((yyloc)), dynamic_cast<exprnode*>((yysemantic_stack_[(4) - (3)].expr)) );
-        }
-    break;
-
-  case 699:
-
-/* Line 690 of lalr1.cc  */
-#line 4909 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-            (yyval.node) = new FTWordsTimes(
-                LOC((yyloc)),
-                dynamic_cast<FTWords*>((yysemantic_stack_[(2) - (1)].node)),
-                dynamic_cast<FTTimes*>((yysemantic_stack_[(2) - (2)].node))
-            );
-        }
-    break;
-
-  case 700:
-
-/* Line 690 of lalr1.cc  */
-#line 4917 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(3) - (2)].node);
-        }
-    break;
-
-  case 701:
-
-/* Line 690 of lalr1.cc  */
-#line 4921 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
   case 702:
 
 /* Line 690 of lalr1.cc  */
-#line 4926 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4974 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = NULL;
         }
@@ -9456,7 +9519,7 @@
   case 703:
 
 /* Line 690 of lalr1.cc  */
-#line 4930 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4978 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9465,43 +9528,39 @@
   case 704:
 
 /* Line 690 of lalr1.cc  */
-#line 4936 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4983 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = new FTExtensionSelection(
-                LOC((yyloc)),
-                dynamic_cast<PragmaList*>((yysemantic_stack_[(4) - (1)].node)),
-                dynamic_cast<FTSelection*>((yysemantic_stack_[(4) - (3)].node))
-            );
+            (yyval.node) = NULL;
         }
     break;
 
   case 705:
 
 /* Line 690 of lalr1.cc  */
-#line 4945 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4987 "/home/colea/work/new-jsoniq/build/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 4949 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4993 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            (yyval.node) = new FTWeight( LOC((yyloc)), dynamic_cast<exprnode*>((yysemantic_stack_[(4) - (3)].expr)) );
         }
     break;
 
   case 707:
 
 /* Line 690 of lalr1.cc  */
-#line 4955 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 4999 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = new FTWords(
+            (yyval.node) = new FTWordsTimes(
                 LOC((yyloc)),
-                dynamic_cast<FTWordsValue*>((yysemantic_stack_[(2) - (1)].node)),
-                dynamic_cast<FTAnyallOption*>((yysemantic_stack_[(2) - (2)].node))
+                dynamic_cast<FTWords*>((yysemantic_stack_[(2) - (1)].node)),
+                dynamic_cast<FTTimes*>((yysemantic_stack_[(2) - (2)].node))
             );
         }
     break;
@@ -9509,38 +9568,34 @@
   case 708:
 
 /* Line 690 of lalr1.cc  */
-#line 4965 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5007 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = new FTWordsValue(
-                LOC((yyloc)), static_cast<StringLiteral*>((yysemantic_stack_[(1) - (1)].expr)), NULL
-            );
+            (yyval.node) = (yysemantic_stack_[(3) - (2)].node);
         }
     break;
 
   case 709:
 
 /* Line 690 of lalr1.cc  */
-#line 4971 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5011 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = new FTWordsValue(
-                LOC((yyloc)), NULL, dynamic_cast<exprnode*>((yysemantic_stack_[(3) - (2)].expr))
-            );
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
   case 710:
 
 /* Line 690 of lalr1.cc  */
-#line 4978 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5016 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = new FTAnyallOption( LOC((yyloc)), ft_anyall_mode::any );
+            (yyval.node) = NULL;
         }
     break;
 
   case 711:
 
 /* Line 690 of lalr1.cc  */
-#line 4982 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5020 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9549,70 +9604,82 @@
   case 712:
 
 /* Line 690 of lalr1.cc  */
-#line 4988 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5026 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = new FTAnyallOption( LOC((yyloc)), (yysemantic_stack_[(2) - (2)].ft_anyall_value) );
+            (yyval.node) = new FTExtensionSelection(
+                LOC((yyloc)),
+                dynamic_cast<PragmaList*>((yysemantic_stack_[(4) - (1)].node)),
+                dynamic_cast<FTSelection*>((yysemantic_stack_[(4) - (3)].node))
+            );
         }
     break;
 
   case 713:
 
 /* Line 690 of lalr1.cc  */
-#line 4992 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5035 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = new FTAnyallOption( LOC((yyloc)), (yysemantic_stack_[(2) - (2)].ft_anyall_value) );
+            (yyval.node) = NULL;
         }
     break;
 
   case 714:
 
 /* Line 690 of lalr1.cc  */
-#line 4996 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5039 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = new FTAnyallOption( LOC((yyloc)), ft_anyall_mode::phrase );
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
   case 715:
 
 /* Line 690 of lalr1.cc  */
-#line 5001 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5045 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.ft_anyall_value) = ft_anyall_mode::any;
+            (yyval.node) = new FTWords(
+                LOC((yyloc)),
+                dynamic_cast<FTWordsValue*>((yysemantic_stack_[(2) - (1)].node)),
+                dynamic_cast<FTAnyallOption*>((yysemantic_stack_[(2) - (2)].node))
+            );
         }
     break;
 
   case 716:
 
 /* Line 690 of lalr1.cc  */
-#line 5005 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5055 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.ft_anyall_value) = ft_anyall_mode::any_word;
+            (yyval.node) = new FTWordsValue(
+                LOC((yyloc)), static_cast<StringLiteral*>((yysemantic_stack_[(1) - (1)].expr)), NULL
+            );
         }
     break;
 
   case 717:
 
 /* Line 690 of lalr1.cc  */
-#line 5010 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5061 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.ft_anyall_value) = ft_anyall_mode::all;
+            (yyval.node) = new FTWordsValue(
+                LOC((yyloc)), NULL, dynamic_cast<exprnode*>((yysemantic_stack_[(3) - (2)].expr))
+            );
         }
     break;
 
   case 718:
 
 /* Line 690 of lalr1.cc  */
-#line 5014 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5068 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.ft_anyall_value) = ft_anyall_mode::all_words;
+            (yyval.node) = new FTAnyallOption( LOC((yyloc)), ft_anyall_mode::any );
         }
     break;
 
   case 719:
 
 /* Line 690 of lalr1.cc  */
-#line 5020 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5072 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9621,52 +9688,124 @@
   case 720:
 
 /* Line 690 of lalr1.cc  */
-#line 5024 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5078 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            (yyval.node) = new FTAnyallOption( LOC((yyloc)), (yysemantic_stack_[(2) - (2)].ft_anyall_value) );
         }
     break;
 
   case 721:
 
 /* Line 690 of lalr1.cc  */
-#line 5028 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5082 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            (yyval.node) = new FTAnyallOption( LOC((yyloc)), (yysemantic_stack_[(2) - (2)].ft_anyall_value) );
         }
     break;
 
   case 722:
 
 /* Line 690 of lalr1.cc  */
-#line 5032 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5086 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            (yyval.node) = new FTAnyallOption( LOC((yyloc)), ft_anyall_mode::phrase );
         }
     break;
 
   case 723:
 
 /* Line 690 of lalr1.cc  */
-#line 5036 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5091 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            (yyval.ft_anyall_value) = ft_anyall_mode::any;
         }
     break;
 
   case 724:
 
 /* Line 690 of lalr1.cc  */
-#line 5042 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5095 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.ft_anyall_value) = ft_anyall_mode::any_word;
+        }
+    break;
+
+  case 725:
+
+/* Line 690 of lalr1.cc  */
+#line 5100 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.ft_anyall_value) = ft_anyall_mode::all;
+        }
+    break;
+
+  case 726:
+
+/* Line 690 of lalr1.cc  */
+#line 5104 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.ft_anyall_value) = ft_anyall_mode::all_words;
+        }
+    break;
+
+  case 727:
+
+/* Line 690 of lalr1.cc  */
+#line 5110 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 728:
+
+/* Line 690 of lalr1.cc  */
+#line 5114 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 729:
+
+/* Line 690 of lalr1.cc  */
+#line 5118 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 730:
+
+/* Line 690 of lalr1.cc  */
+#line 5122 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 731:
+
+/* Line 690 of lalr1.cc  */
+#line 5126 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 732:
+
+/* Line 690 of lalr1.cc  */
+#line 5132 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTOrder( LOC((yyloc)) );
         }
     break;
 
-  case 725:
+  case 733:
 
 /* Line 690 of lalr1.cc  */
-#line 5048 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5138 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTWindow(
                 LOC((yyloc)),
@@ -9676,10 +9815,10 @@
         }
     break;
 
-  case 726:
+  case 734:
 
 /* Line 690 of lalr1.cc  */
-#line 5058 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5148 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTDistance(
                 LOC((yyloc)),
@@ -9689,37 +9828,37 @@
         }
     break;
 
-  case 727:
+  case 735:
 
 /* Line 690 of lalr1.cc  */
-#line 5068 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5158 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTUnit( LOC((yyloc)), ft_unit::words );
         }
     break;
 
-  case 728:
+  case 736:
 
 /* Line 690 of lalr1.cc  */
-#line 5072 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5162 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTUnit( LOC((yyloc)), ft_unit::sentences );
         }
     break;
 
-  case 729:
+  case 737:
 
 /* Line 690 of lalr1.cc  */
-#line 5076 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5166 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTUnit( LOC((yyloc)), ft_unit::paragraphs );
         }
     break;
 
-  case 730:
+  case 738:
 
 /* Line 690 of lalr1.cc  */
-#line 5082 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5172 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             FTMatchOptions *mo = new FTMatchOptions( LOC((yyloc)) );
             mo->push_back( dynamic_cast<FTMatchOption*>((yysemantic_stack_[(2) - (2)].node)) );
@@ -9727,10 +9866,10 @@
         }
     break;
 
-  case 731:
+  case 739:
 
 /* Line 690 of lalr1.cc  */
-#line 5088 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5178 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             FTMatchOptions *mo = dynamic_cast<FTMatchOptions*>((yysemantic_stack_[(3) - (1)].node));
             mo->push_back( dynamic_cast<FTMatchOption*>((yysemantic_stack_[(3) - (3)].node)) );
@@ -9738,118 +9877,118 @@
         }
     break;
 
-  case 732:
-
-/* Line 690 of lalr1.cc  */
-#line 5096 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 733:
-
-/* Line 690 of lalr1.cc  */
-#line 5100 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 734:
-
-/* Line 690 of lalr1.cc  */
-#line 5104 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 735:
-
-/* Line 690 of lalr1.cc  */
-#line 5108 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 736:
-
-/* Line 690 of lalr1.cc  */
-#line 5112 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 737:
-
-/* Line 690 of lalr1.cc  */
-#line 5116 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 738:
-
-/* Line 690 of lalr1.cc  */
-#line 5120 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 739:
-
-/* Line 690 of lalr1.cc  */
-#line 5124 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
   case 740:
 
 /* Line 690 of lalr1.cc  */
-#line 5130 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5186 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 741:
+
+/* Line 690 of lalr1.cc  */
+#line 5190 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 742:
+
+/* Line 690 of lalr1.cc  */
+#line 5194 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 743:
+
+/* Line 690 of lalr1.cc  */
+#line 5198 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 744:
+
+/* Line 690 of lalr1.cc  */
+#line 5202 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 745:
+
+/* Line 690 of lalr1.cc  */
+#line 5206 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 746:
+
+/* Line 690 of lalr1.cc  */
+#line 5210 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 747:
+
+/* Line 690 of lalr1.cc  */
+#line 5214 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 748:
+
+/* Line 690 of lalr1.cc  */
+#line 5220 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTCaseOption( LOC((yyloc)), ft_case_mode::sensitive );
         }
     break;
 
-  case 741:
+  case 749:
 
 /* Line 690 of lalr1.cc  */
-#line 5134 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5224 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTCaseOption( LOC((yyloc)), ft_case_mode::insensitive );
         }
     break;
 
-  case 742:
+  case 750:
 
 /* Line 690 of lalr1.cc  */
-#line 5138 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5228 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTCaseOption( LOC((yyloc)), ft_case_mode::lower );
         }
     break;
 
-  case 743:
+  case 751:
 
 /* Line 690 of lalr1.cc  */
-#line 5142 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5232 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTCaseOption( LOC((yyloc)), ft_case_mode::upper );
         }
     break;
 
-  case 744:
+  case 752:
 
 /* Line 690 of lalr1.cc  */
-#line 5148 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5238 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTDiacriticsOption(
                 LOC((yyloc)), ft_diacritics_mode::sensitive
@@ -9857,10 +9996,10 @@
         }
     break;
 
-  case 745:
+  case 753:
 
 /* Line 690 of lalr1.cc  */
-#line 5154 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5244 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTDiacriticsOption(
                 LOC((yyloc)), ft_diacritics_mode::insensitive
@@ -9868,10 +10007,10 @@
         }
     break;
 
-  case 746:
+  case 754:
 
 /* Line 690 of lalr1.cc  */
-#line 5162 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5252 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTExtensionOption(
                 LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)), SYMTAB((yysemantic_stack_[(3) - (3)].sval))
@@ -9879,28 +10018,28 @@
         }
     break;
 
-  case 747:
+  case 755:
 
 /* Line 690 of lalr1.cc  */
-#line 5170 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5260 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTStemOption( LOC((yyloc)), ft_stem_mode::stemming );
         }
     break;
 
-  case 748:
+  case 756:
 
 /* Line 690 of lalr1.cc  */
-#line 5174 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5264 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTStemOption( LOC((yyloc)), ft_stem_mode::no_stemming );
         }
     break;
 
-  case 749:
+  case 757:
 
 /* Line 690 of lalr1.cc  */
-#line 5180 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5270 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             FTThesaurusOption::thesaurus_id_list_t *til = NULL;
             if ( (yysemantic_stack_[(2) - (2)].node) ) {
@@ -9912,10 +10051,10 @@
         }
     break;
 
-  case 750:
+  case 758:
 
 /* Line 690 of lalr1.cc  */
-#line 5190 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5280 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             FTThesaurusOption::thesaurus_id_list_t *til = (yysemantic_stack_[(5) - (4)].thesaurus_id_list);
             if ( (yysemantic_stack_[(5) - (3)].node) ) {
@@ -9928,75 +10067,75 @@
         }
     break;
 
-  case 751:
+  case 759:
 
 /* Line 690 of lalr1.cc  */
-#line 5201 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5291 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTThesaurusOption( LOC((yyloc)), NULL, false, true );
         }
     break;
 
-  case 752:
+  case 760:
 
 /* Line 690 of lalr1.cc  */
-#line 5207 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5297 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
-  case 753:
+  case 761:
 
 /* Line 690 of lalr1.cc  */
-#line 5211 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5301 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = NULL;
         }
     break;
 
-  case 754:
+  case 762:
 
 /* Line 690 of lalr1.cc  */
-#line 5216 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5306 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.thesaurus_id_list) = NULL;
         }
     break;
 
-  case 755:
+  case 763:
 
 /* Line 690 of lalr1.cc  */
-#line 5220 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5310 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.thesaurus_id_list) = (yysemantic_stack_[(2) - (2)].thesaurus_id_list);
         }
     break;
 
-  case 756:
+  case 764:
 
 /* Line 690 of lalr1.cc  */
-#line 5226 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5316 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.thesaurus_id_list) = new FTThesaurusOption::thesaurus_id_list_t;
             (yyval.thesaurus_id_list)->push_back( dynamic_cast<FTThesaurusID*>((yysemantic_stack_[(1) - (1)].node)) );
         }
     break;
 
-  case 757:
+  case 765:
 
 /* Line 690 of lalr1.cc  */
-#line 5231 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5321 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yysemantic_stack_[(3) - (1)].thesaurus_id_list)->push_back( dynamic_cast<FTThesaurusID*>((yysemantic_stack_[(3) - (3)].node)) );
             (yyval.thesaurus_id_list) = (yysemantic_stack_[(3) - (1)].thesaurus_id_list);
         }
     break;
 
-  case 758:
+  case 766:
 
 /* Line 690 of lalr1.cc  */
-#line 5238 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5328 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTThesaurusID(
                 LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (2)].sval)), SYMTAB((yysemantic_stack_[(4) - (3)].sval)), dynamic_cast<FTRange*>((yysemantic_stack_[(4) - (4)].node))
@@ -10004,46 +10143,46 @@
         }
     break;
 
-  case 759:
+  case 767:
 
 /* Line 690 of lalr1.cc  */
-#line 5245 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5335 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.sval) = 0;
         }
     break;
 
-  case 760:
+  case 768:
 
 /* Line 690 of lalr1.cc  */
-#line 5249 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5339 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.sval) = (yysemantic_stack_[(2) - (2)].sval);
         }
     break;
 
-  case 761:
+  case 769:
 
 /* Line 690 of lalr1.cc  */
-#line 5255 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5345 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = NULL;
         }
     break;
 
-  case 762:
+  case 770:
 
 /* Line 690 of lalr1.cc  */
-#line 5259 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5349 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
         }
     break;
 
-  case 763:
+  case 771:
 
 /* Line 690 of lalr1.cc  */
-#line 5265 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5355 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTStopWordOption(
                 LOC((yyloc)),
@@ -10054,10 +10193,10 @@
         }
     break;
 
-  case 764:
+  case 772:
 
 /* Line 690 of lalr1.cc  */
-#line 5274 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5364 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTStopWordOption(
                 LOC((yyloc)), NULL, (yysemantic_stack_[(4) - (4)].incl_excl_list), ft_stop_words_mode::with_default
@@ -10066,10 +10205,10 @@
         }
     break;
 
-  case 765:
+  case 773:
 
 /* Line 690 of lalr1.cc  */
-#line 5281 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5371 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTStopWordOption(
                 LOC((yyloc)), NULL, NULL, ft_stop_words_mode::without
@@ -10077,28 +10216,28 @@
         }
     break;
 
-  case 766:
+  case 774:
 
 /* Line 690 of lalr1.cc  */
-#line 5289 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5379 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTStopWords( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)), NULL );
         }
     break;
 
-  case 767:
+  case 775:
 
 /* Line 690 of lalr1.cc  */
-#line 5293 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5383 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTStopWords( LOC((yyloc)), "", (yysemantic_stack_[(3) - (2)].strlist) );
         }
     break;
 
-  case 768:
+  case 776:
 
 /* Line 690 of lalr1.cc  */
-#line 5299 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5389 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             string_list_t *sl = new string_list_t;
             sl->push_back( SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
@@ -10106,10 +10245,10 @@
         }
     break;
 
-  case 769:
+  case 777:
 
 /* Line 690 of lalr1.cc  */
-#line 5305 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5395 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             if ( (yysemantic_stack_[(3) - (1)].strlist) )
                 (yysemantic_stack_[(3) - (1)].strlist)->push_back( SYMTAB((yysemantic_stack_[(3) - (3)].sval)) );
@@ -10117,38 +10256,38 @@
         }
     break;
 
-  case 770:
+  case 778:
 
 /* Line 690 of lalr1.cc  */
-#line 5312 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5402 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.incl_excl_list) = NULL;
         }
     break;
 
-  case 771:
+  case 779:
 
 /* Line 690 of lalr1.cc  */
-#line 5316 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5406 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.incl_excl_list) = (yysemantic_stack_[(1) - (1)].incl_excl_list);
         }
     break;
 
-  case 772:
+  case 780:
 
 /* Line 690 of lalr1.cc  */
-#line 5322 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5412 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.incl_excl_list) = new FTStopWordOption::incl_excl_list_t;
             (yyval.incl_excl_list)->push_back( dynamic_cast<FTStopWordsInclExcl*>((yysemantic_stack_[(1) - (1)].node)) );
         }
     break;
 
-  case 773:
+  case 781:
 
 /* Line 690 of lalr1.cc  */
-#line 5327 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5417 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             FTStopWordOption::incl_excl_list_t *iel = (yysemantic_stack_[(2) - (1)].incl_excl_list);
             if ( !iel )
@@ -10158,10 +10297,10 @@
         }
     break;
 
-  case 774:
+  case 782:
 
 /* Line 690 of lalr1.cc  */
-#line 5337 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5427 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTStopWordsInclExcl(
                 LOC((yyloc)),
@@ -10171,10 +10310,10 @@
         }
     break;
 
-  case 775:
+  case 783:
 
 /* Line 690 of lalr1.cc  */
-#line 5345 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5435 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTStopWordsInclExcl(
                 LOC((yyloc)),
@@ -10184,109 +10323,109 @@
         }
     break;
 
-  case 776:
+  case 784:
 
 /* Line 690 of lalr1.cc  */
-#line 5355 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5445 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTLanguageOption( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)) );
         }
     break;
 
-  case 777:
+  case 785:
 
 /* Line 690 of lalr1.cc  */
-#line 5361 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5451 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTWildCardOption( LOC((yyloc)), ft_wild_card_mode::with );
         }
     break;
 
-  case 778:
+  case 786:
 
 /* Line 690 of lalr1.cc  */
-#line 5365 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5455 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTWildCardOption( LOC((yyloc)), ft_wild_card_mode::without );
         }
     break;
 
-  case 779:
+  case 787:
 
 /* Line 690 of lalr1.cc  */
-#line 5371 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5461 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTContent( LOC((yyloc)), ft_content_mode::at_start );
         }
     break;
 
-  case 780:
+  case 788:
 
 /* Line 690 of lalr1.cc  */
-#line 5375 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5465 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTContent( LOC((yyloc)), ft_content_mode::at_end );
         }
     break;
 
-  case 781:
+  case 789:
 
 /* Line 690 of lalr1.cc  */
-#line 5379 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5469 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTContent( LOC((yyloc)), ft_content_mode::entire );
         }
     break;
 
-  case 782:
+  case 790:
 
 /* Line 690 of lalr1.cc  */
-#line 5385 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5475 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTTimes( LOC((yyloc)), dynamic_cast<FTRange*>((yysemantic_stack_[(3) - (2)].node)) );
         }
     break;
 
-  case 783:
+  case 791:
 
 /* Line 690 of lalr1.cc  */
-#line 5391 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5481 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTRange( LOC((yyloc)), ft_range_mode::exactly, (yysemantic_stack_[(2) - (2)].expr) );
         }
     break;
 
-  case 784:
+  case 792:
 
 /* Line 690 of lalr1.cc  */
-#line 5395 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5485 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTRange( LOC((yyloc)), ft_range_mode::at_least, (yysemantic_stack_[(3) - (3)].expr) );
         }
     break;
 
-  case 785:
+  case 793:
 
 /* Line 690 of lalr1.cc  */
-#line 5399 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5489 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTRange( LOC((yyloc)), ft_range_mode::at_most, (yysemantic_stack_[(3) - (3)].expr) );
         }
     break;
 
-  case 786:
+  case 794:
 
 /* Line 690 of lalr1.cc  */
-#line 5403 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5493 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTRange( LOC((yyloc)), ft_range_mode::from_to, (yysemantic_stack_[(4) - (2)].expr), (yysemantic_stack_[(4) - (4)].expr) );
         }
     break;
 
-  case 787:
+  case 795:
 
 /* Line 690 of lalr1.cc  */
-#line 5409 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5499 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTScope(
                 LOC((yyloc)),
@@ -10296,10 +10435,10 @@
         }
     break;
 
-  case 788:
+  case 796:
 
 /* Line 690 of lalr1.cc  */
-#line 5417 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5507 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTScope(
                 LOC((yyloc)),
@@ -10309,101 +10448,101 @@
         }
     break;
 
-  case 789:
+  case 797:
 
 /* Line 690 of lalr1.cc  */
-#line 5427 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5517 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTBigUnit( LOC((yyloc)), ft_big_unit::sentence );
         }
     break;
 
-  case 790:
+  case 798:
 
 /* Line 690 of lalr1.cc  */
-#line 5431 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5521 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTBigUnit( LOC((yyloc)), ft_big_unit::paragraph );
         }
     break;
 
-  case 791:
+  case 799:
 
 /* Line 690 of lalr1.cc  */
-#line 5437 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5527 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new FTIgnoreOption( LOC((yyloc)), static_cast<UnionExpr*>((yysemantic_stack_[(3) - (3)].expr)) );
         }
     break;
 
-  case 792:
+  case 800:
 
 /* Line 690 of lalr1.cc  */
-#line 5443 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5533 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new JSONArrayConstructor( LOC((yyloc)), NULL );
         }
     break;
 
-  case 793:
+  case 801:
 
 /* Line 690 of lalr1.cc  */
-#line 5447 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5537 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new JSONArrayConstructor( LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr) );
         }
     break;
 
-  case 794:
+  case 802:
 
 /* Line 690 of lalr1.cc  */
-#line 5453 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5543 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new JSONObjectConstructor(LOC((yyloc)), NULL, false);
         }
     break;
 
-  case 795:
+  case 803:
 
 /* Line 690 of lalr1.cc  */
-#line 5457 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5547 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new JSONObjectConstructor(LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr), false);
         }
     break;
 
-  case 796:
+  case 804:
 
 /* Line 690 of lalr1.cc  */
-#line 5463 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5553 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new JSONObjectConstructor(LOC((yyloc)), NULL, true);
         }
     break;
 
-  case 797:
+  case 805:
 
 /* Line 690 of lalr1.cc  */
-#line 5467 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5557 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new JSONObjectConstructor(LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr), true);
         }
     break;
 
-  case 798:
+  case 806:
 
 /* Line 690 of lalr1.cc  */
-#line 5473 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5563 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new JSONDirectObjectConstructor(LOC((yyloc)),
                                                dynamic_cast<JSONPairList*>((yysemantic_stack_[(3) - (2)].node)));
         }
     break;
 
-  case 799:
+  case 807:
 
 /* Line 690 of lalr1.cc  */
-#line 5480 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5570 "/home/colea/work/new-jsoniq/build/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));
@@ -10414,10 +10553,10 @@
         }
     break;
 
-  case 800:
+  case 808:
 
 /* Line 690 of lalr1.cc  */
-#line 5490 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5580 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           JSONPairList* jpl = new JSONPairList(LOC((yyloc)));
           jpl->push_back(new JSONPairConstructor(LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)));
@@ -10425,10 +10564,10 @@
         }
     break;
 
-  case 801:
+  case 809:
 
 /* Line 690 of lalr1.cc  */
-#line 5496 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5586 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           JSONPairList* jpl = dynamic_cast<JSONPairList*>((yysemantic_stack_[(5) - (1)].node));
           assert(jpl);
@@ -10437,10 +10576,10 @@
         }
     break;
 
-  case 802:
+  case 810:
 
 /* Line 690 of lalr1.cc  */
-#line 5503 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5593 "/home/colea/work/new-jsoniq/build/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));
@@ -10451,10 +10590,10 @@
         }
     break;
 
-  case 803:
+  case 811:
 
 /* Line 690 of lalr1.cc  */
-#line 5514 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5604 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new JSONObjectInsertExpr(LOC((yyloc)),
                                         (yysemantic_stack_[(5) - (3)].expr),
@@ -10462,10 +10601,10 @@
         }
     break;
 
-  case 804:
+  case 812:
 
 /* Line 690 of lalr1.cc  */
-#line 5520 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5610 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           JSONPairList* jpl = dynamic_cast<JSONPairList*>((yysemantic_stack_[(5) - (3)].node));
           (yyval.expr) = new JSONObjectInsertExpr(
@@ -10477,19 +10616,19 @@
         }
     break;
 
-  case 805:
+  case 813:
 
 /* Line 690 of lalr1.cc  */
-#line 5530 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5620 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new JSONArrayInsertExpr(LOC((yyloc)), (yysemantic_stack_[(8) - (3)].expr), (yysemantic_stack_[(8) - (5)].expr), (yysemantic_stack_[(8) - (8)].expr));
         }
     break;
 
-  case 806:
+  case 814:
 
 /* Line 690 of lalr1.cc  */
-#line 5534 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5624 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           driver.addCommonLanguageWarning((yylocation_stack_[(4) - (2)]), ZED(ZWST0009_JSON_KEYWORD_OPTIONAL));
           (yyval.expr) = new JSONObjectInsertExpr(LOC((yyloc)),
@@ -10498,10 +10637,10 @@
         }
     break;
 
-  case 807:
+  case 815:
 
 /* Line 690 of lalr1.cc  */
-#line 5541 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5631 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           driver.addCommonLanguageWarning((yylocation_stack_[(4) - (2)]), ZED(ZWST0009_JSON_KEYWORD_OPTIONAL));
           JSONPairList* jpl = dynamic_cast<JSONPairList*>((yysemantic_stack_[(4) - (2)].node));
@@ -10514,39 +10653,39 @@
         }
     break;
 
-  case 808:
+  case 816:
 
 /* Line 690 of lalr1.cc  */
-#line 5552 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5642 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           driver.addCommonLanguageWarning((yylocation_stack_[(7) - (2)]), ZED(ZWST0009_JSON_KEYWORD_OPTIONAL));
           (yyval.expr) = new JSONArrayInsertExpr(LOC((yyloc)), (yysemantic_stack_[(7) - (2)].expr), (yysemantic_stack_[(7) - (4)].expr), (yysemantic_stack_[(7) - (7)].expr));
         }
     break;
 
-  case 809:
+  case 817:
 
 /* Line 690 of lalr1.cc  */
-#line 5559 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5649 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new JSONArrayAppendExpr(LOC((yyloc)), (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr));
         }
     break;
 
-  case 810:
+  case 818:
 
 /* Line 690 of lalr1.cc  */
-#line 5563 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5653 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           driver.addCommonLanguageWarning((yylocation_stack_[(4) - (2)]), ZED(ZWST0009_JSON_KEYWORD_OPTIONAL));
           (yyval.expr) = new JSONArrayAppendExpr(LOC((yyloc)), (yysemantic_stack_[(4) - (2)].expr), (yysemantic_stack_[(4) - (4)].expr));
         }
     break;
 
-  case 811:
+  case 819:
 
 /* Line 690 of lalr1.cc  */
-#line 5570 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5660 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           rchandle<DynamicFunctionInvocation> lDynamicFunctionInvocation =
           dynamic_cast<DynamicFunctionInvocation*>((yysemantic_stack_[(3) - (3)].expr));
@@ -10567,10 +10706,10 @@
         }
     break;
 
-  case 812:
+  case 820:
 
 /* Line 690 of lalr1.cc  */
-#line 5589 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5679 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           driver.addCommonLanguageWarning((yylocation_stack_[(2) - (2)]), ZED(ZWST0009_JSON_KEYWORD_OPTIONAL));
           rchandle<DynamicFunctionInvocation> lDynamicFunctionInvocation =
@@ -10592,10 +10731,10 @@
         }
     break;
 
-  case 813:
+  case 821:
 
 /* Line 690 of lalr1.cc  */
-#line 5611 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5701 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           rchandle<DynamicFunctionInvocation> lDynamicFunctionInvocation =
           dynamic_cast<DynamicFunctionInvocation*>((yysemantic_stack_[(5) - (3)].expr));
@@ -10619,10 +10758,10 @@
         }
     break;
 
-  case 814:
+  case 822:
 
 /* Line 690 of lalr1.cc  */
-#line 5633 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5723 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           driver.addCommonLanguageWarning((yylocation_stack_[(4) - (2)]), ZED(ZWST0009_JSON_KEYWORD_OPTIONAL));
           rchandle<DynamicFunctionInvocation> lDynamicFunctionInvocation =
@@ -10647,10 +10786,10 @@
         }
     break;
 
-  case 815:
+  case 823:
 
 /* Line 690 of lalr1.cc  */
-#line 5658 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5748 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           rchandle<DynamicFunctionInvocation> lDynamicFunctionInvocation =
           dynamic_cast<DynamicFunctionInvocation*>((yysemantic_stack_[(7) - (5)].expr));
@@ -10674,10 +10813,10 @@
         }
     break;
 
-  case 816:
+  case 824:
 
 /* Line 690 of lalr1.cc  */
-#line 5680 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5770 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     {
           driver.addCommonLanguageWarning((yylocation_stack_[(6) - (2)]), ZED(ZWST0009_JSON_KEYWORD_OPTIONAL));
           rchandle<DynamicFunctionInvocation> lDynamicFunctionInvocation =
@@ -10702,1578 +10841,1601 @@
         }
     break;
 
-  case 817:
-
-/* Line 690 of lalr1.cc  */
-#line 5705 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-          (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 818:
-
-/* Line 690 of lalr1.cc  */
-#line 5709 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-          (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 819:
-
-/* Line 690 of lalr1.cc  */
-#line 5713 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-          (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 820:
-
-/* Line 690 of lalr1.cc  */
-#line 5719 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-          (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonItem);
-        }
-    break;
-
-  case 821:
-
-/* Line 690 of lalr1.cc  */
-#line 5723 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-          driver.addCommonLanguageWarning((yylocation_stack_[(1) - (1)]), ZED(ZWST0009_JSONIQ_TYPE_KEYWORDS));
-          (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonItem);
-        }
-    break;
-
-  case 822:
-
-/* Line 690 of lalr1.cc  */
-#line 5730 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-          (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonObject);
-        }
-    break;
-
-  case 823:
-
-/* Line 690 of lalr1.cc  */
-#line 5734 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-          driver.addCommonLanguageWarning((yylocation_stack_[(1) - (1)]), ZED(ZWST0009_JSONIQ_TYPE_KEYWORDS));
-          (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonObject);
-        }
-    break;
-
-  case 824:
-
-/* Line 690 of lalr1.cc  */
-#line 5741 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-          (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonArray);
-        }
-    break;
-
   case 825:
 
 /* Line 690 of lalr1.cc  */
-#line 5745 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
-    {
-          driver.addCommonLanguageWarning((yylocation_stack_[(1) - (1)]), ZED(ZWST0009_JSONIQ_TYPE_KEYWORDS));
+#line 5795 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+          (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonItem);
+        }
+    break;
+
+  case 826:
+
+/* Line 690 of lalr1.cc  */
+#line 5799 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
           (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonArray);
         }
     break;
 
+  case 827:
+
+/* Line 690 of lalr1.cc  */
+#line 5803 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+          (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonObject);
+        }
+    break;
+
   case 828:
 
 /* Line 690 of lalr1.cc  */
-#line 5755 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5807 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    {
+          driver.addCommonLanguageWarning((yylocation_stack_[(1) - (1)]), ZED(ZWST0009_JSONIQ_TYPE_KEYWORDS));
+          (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonObject);
+        }
+    break;
+
+  case 831:
+
+/* Line 690 of lalr1.cc  */
+#line 5817 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval))); }
     break;
 
-  case 829:
+  case 832:
 
 /* Line 690 of lalr1.cc  */
-#line 5756 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5818 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("attribute"))); }
     break;
 
-  case 830:
+  case 833:
 
 /* Line 690 of lalr1.cc  */
-#line 5757 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5819 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("comment"))); }
     break;
 
-  case 831:
+  case 834:
 
 /* Line 690 of lalr1.cc  */
-#line 5758 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5820 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("document-node"))); }
     break;
 
-  case 832:
+  case 835:
 
 /* Line 690 of lalr1.cc  */
-#line 5759 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5821 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("namespace-node"))); }
     break;
 
-  case 833:
+  case 836:
 
 /* Line 690 of lalr1.cc  */
-#line 5760 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5822 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("element"))); }
     break;
 
-  case 834:
-
-/* Line 690 of lalr1.cc  */
-#line 5761 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+  case 837:
+
+/* Line 690 of lalr1.cc  */
+#line 5823 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("item"))); }
+    break;
+
+  case 838:
+
+/* Line 690 of lalr1.cc  */
+#line 5824 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("if"))); }
     break;
 
-  case 835:
+  case 839:
 
 /* Line 690 of lalr1.cc  */
-#line 5762 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5825 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("node"))); }
     break;
 
-  case 836:
+  case 840:
 
 /* Line 690 of lalr1.cc  */
-#line 5763 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5826 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("processing-instruction"))); }
     break;
 
-  case 837:
+  case 841:
 
 /* Line 690 of lalr1.cc  */
-#line 5764 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5827 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("schema-attribute"))); }
     break;
 
-  case 838:
+  case 842:
 
 /* Line 690 of lalr1.cc  */
-#line 5765 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5828 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("schema-element"))); }
     break;
 
-  case 839:
+  case 843:
 
 /* Line 690 of lalr1.cc  */
-#line 5766 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5829 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("text"))); }
     break;
 
-  case 840:
+  case 844:
 
 /* Line 690 of lalr1.cc  */
-#line 5767 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5830 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("typeswitch"))); }
     break;
 
-  case 841:
+  case 845:
 
 /* Line 690 of lalr1.cc  */
-#line 5768 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5831 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("switch"))); }
     break;
 
-  case 842:
+  case 846:
 
 /* Line 690 of lalr1.cc  */
-#line 5769 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5832 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("empty-sequence"))); }
     break;
 
-  case 843:
+  case 847:
 
 /* Line 690 of lalr1.cc  */
-#line 5770 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5833 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("while"))); }
     break;
 
-  case 845:
-
-/* Line 690 of lalr1.cc  */
-#line 5774 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+  case 848:
+
+/* Line 690 of lalr1.cc  */
+#line 5834 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("json"))); }
+    break;
+
+  case 849:
+
+/* Line 690 of lalr1.cc  */
+#line 5835 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("append"))); }
+    break;
+
+  case 850:
+
+/* Line 690 of lalr1.cc  */
+#line 5836 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("json-item"))); }
+    break;
+
+  case 851:
+
+/* Line 690 of lalr1.cc  */
+#line 5837 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("array"))); }
+    break;
+
+  case 852:
+
+/* Line 690 of lalr1.cc  */
+#line 5838 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("structured-item"))); }
+    break;
+
+  case 854:
+
+/* Line 690 of lalr1.cc  */
+#line 5842 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval))); }
     break;
 
-  case 846:
+  case 855:
 
 /* Line 690 of lalr1.cc  */
-#line 5775 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5843 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("xquery"))); }
     break;
 
-  case 847:
+  case 856:
 
 /* Line 690 of lalr1.cc  */
-#line 5776 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5844 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("empty"))); }
     break;
 
-  case 848:
+  case 857:
 
 /* Line 690 of lalr1.cc  */
-#line 5777 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5845 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("boundary-space"))); }
     break;
 
-  case 849:
+  case 858:
 
 /* Line 690 of lalr1.cc  */
-#line 5778 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5846 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ft-option"))); }
     break;
 
-  case 850:
+  case 859:
 
 /* Line 690 of lalr1.cc  */
-#line 5779 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5847 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("base-uri"))); }
     break;
 
-  case 851:
+  case 860:
 
 /* Line 690 of lalr1.cc  */
-#line 5780 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5848 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("lax"))); }
     break;
 
-  case 852:
+  case 861:
 
 /* Line 690 of lalr1.cc  */
-#line 5781 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5849 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("strict"))); }
     break;
 
-  case 853:
+  case 862:
 
 /* Line 690 of lalr1.cc  */
-#line 5782 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5850 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("idiv"))); }
     break;
 
-  case 854:
+  case 863:
 
 /* Line 690 of lalr1.cc  */
-#line 5783 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5851 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("document"))); }
     break;
 
-  case 855:
+  case 864:
 
 /* Line 690 of lalr1.cc  */
-#line 5784 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5852 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ftnot"))); }
     break;
 
-  case 856:
+  case 865:
 
 /* Line 690 of lalr1.cc  */
-#line 5785 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5853 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("not"))); }
     break;
 
-  case 857:
+  case 866:
 
 /* Line 690 of lalr1.cc  */
-#line 5786 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5854 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("sensitive"))); }
     break;
 
-  case 858:
+  case 867:
 
 /* Line 690 of lalr1.cc  */
-#line 5787 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5855 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("insensitive"))); }
     break;
 
-  case 859:
+  case 868:
 
 /* Line 690 of lalr1.cc  */
-#line 5788 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5856 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("diacritics"))); }
     break;
 
-  case 860:
+  case 869:
 
 /* Line 690 of lalr1.cc  */
-#line 5789 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5857 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("without"))); }
     break;
 
-  case 861:
+  case 870:
 
 /* Line 690 of lalr1.cc  */
-#line 5790 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5858 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("stemming"))); }
     break;
 
-  case 862:
+  case 871:
 
 /* Line 690 of lalr1.cc  */
-#line 5791 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5859 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("thesaurus"))); }
     break;
 
-  case 863:
+  case 872:
 
 /* Line 690 of lalr1.cc  */
-#line 5792 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5860 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("stop"))); }
     break;
 
-  case 864:
+  case 873:
 
 /* Line 690 of lalr1.cc  */
-#line 5793 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5861 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("wildcards"))); }
     break;
 
-  case 865:
+  case 874:
 
 /* Line 690 of lalr1.cc  */
-#line 5794 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5862 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("entire"))); }
     break;
 
-  case 866:
+  case 875:
 
 /* Line 690 of lalr1.cc  */
-#line 5795 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5863 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("content"))); }
     break;
 
-  case 867:
+  case 876:
 
 /* Line 690 of lalr1.cc  */
-#line 5796 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5864 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("word"))); }
     break;
 
-  case 868:
+  case 877:
 
 /* Line 690 of lalr1.cc  */
-#line 5797 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5865 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("start"))); }
     break;
 
-  case 869:
+  case 878:
 
 /* Line 690 of lalr1.cc  */
-#line 5798 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5866 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("end"))); }
     break;
 
-  case 870:
+  case 879:
 
 /* Line 690 of lalr1.cc  */
-#line 5799 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5867 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("most"))); }
     break;
 
-  case 871:
+  case 880:
 
 /* Line 690 of lalr1.cc  */
-#line 5800 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5868 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("skip"))); }
     break;
 
-  case 872:
+  case 881:
 
 /* Line 690 of lalr1.cc  */
-#line 5801 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5869 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("copy"))); }
     break;
 
-  case 873:
+  case 882:
 
 /* Line 690 of lalr1.cc  */
-#line 5802 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5870 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("general"))); }
     break;
 
-  case 874:
+  case 883:
 
 /* Line 690 of lalr1.cc  */
-#line 5803 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5871 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("value"))); }
     break;
 
-  case 875:
+  case 884:
 
 /* Line 690 of lalr1.cc  */
-#line 5804 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5872 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("eq"))); }
     break;
 
-  case 876:
+  case 885:
 
 /* Line 690 of lalr1.cc  */
-#line 5805 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5873 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ne"))); }
     break;
 
-  case 877:
+  case 886:
 
 /* Line 690 of lalr1.cc  */
-#line 5806 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5874 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("lt"))); }
     break;
 
-  case 878:
+  case 887:
 
 /* Line 690 of lalr1.cc  */
-#line 5807 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5875 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("le"))); }
     break;
 
-  case 879:
+  case 888:
 
 /* Line 690 of lalr1.cc  */
-#line 5808 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5876 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("gt"))); }
     break;
 
-  case 880:
+  case 889:
 
 /* Line 690 of lalr1.cc  */
-#line 5809 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5877 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ge"))); }
     break;
 
-  case 881:
+  case 890:
 
 /* Line 690 of lalr1.cc  */
-#line 5810 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5878 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("at"))); }
     break;
 
-  case 882:
+  case 891:
 
 /* Line 690 of lalr1.cc  */
-#line 5811 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5879 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("context"))); }
     break;
 
-  case 883:
+  case 892:
 
 /* Line 690 of lalr1.cc  */
-#line 5812 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5880 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("variable"))); }
     break;
 
-  case 884:
+  case 893:
 
 /* Line 690 of lalr1.cc  */
-#line 5813 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5881 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("return"))); }
     break;
 
-  case 885:
+  case 894:
 
 /* Line 690 of lalr1.cc  */
-#line 5814 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5882 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("for"))); }
     break;
 
-  case 886:
+  case 895:
 
 /* Line 690 of lalr1.cc  */
-#line 5815 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5883 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("from"))); }
     break;
 
-  case 887:
+  case 896:
 
 /* Line 690 of lalr1.cc  */
-#line 5816 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5884 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("allowing"))); }
     break;
 
-  case 888:
+  case 897:
 
 /* Line 690 of lalr1.cc  */
-#line 5817 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5885 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("sliding"))); }
     break;
 
-  case 889:
+  case 898:
 
 /* Line 690 of lalr1.cc  */
-#line 5818 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5886 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("tumbling"))); }
     break;
 
-  case 890:
+  case 899:
 
 /* Line 690 of lalr1.cc  */
-#line 5819 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5887 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("previous"))); }
     break;
 
-  case 891:
+  case 900:
 
 /* Line 690 of lalr1.cc  */
-#line 5820 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5888 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("next"))); }
     break;
 
-  case 892:
+  case 901:
 
 /* Line 690 of lalr1.cc  */
-#line 5821 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5889 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("only"))); }
     break;
 
-  case 893:
+  case 902:
 
 /* Line 690 of lalr1.cc  */
-#line 5822 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5890 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("when"))); }
     break;
 
-  case 894:
+  case 903:
 
 /* Line 690 of lalr1.cc  */
-#line 5823 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5891 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("count"))); }
     break;
 
-  case 895:
+  case 904:
 
 /* Line 690 of lalr1.cc  */
-#line 5824 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5892 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("in"))); }
     break;
 
-  case 896:
+  case 905:
 
 /* Line 690 of lalr1.cc  */
-#line 5825 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5893 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("let"))); }
     break;
 
-  case 897:
+  case 906:
 
 /* Line 690 of lalr1.cc  */
-#line 5826 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5894 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("where"))); }
     break;
 
-  case 898:
+  case 907:
 
 /* Line 690 of lalr1.cc  */
-#line 5827 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5895 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("by"))); }
     break;
 
-  case 899:
+  case 908:
 
 /* Line 690 of lalr1.cc  */
-#line 5828 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5896 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("group"))); }
     break;
 
-  case 900:
+  case 909:
 
 /* Line 690 of lalr1.cc  */
-#line 5829 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5897 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("order"))); }
     break;
 
-  case 901:
+  case 910:
 
 /* Line 690 of lalr1.cc  */
-#line 5830 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5898 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("stable"))); }
     break;
 
-  case 902:
+  case 911:
 
 /* Line 690 of lalr1.cc  */
-#line 5831 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5899 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ascending"))); }
     break;
 
-  case 903:
+  case 912:
 
 /* Line 690 of lalr1.cc  */
-#line 5832 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5900 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("descending"))); }
     break;
 
-  case 904:
+  case 913:
 
 /* Line 690 of lalr1.cc  */
-#line 5833 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5901 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("greatest"))); }
     break;
 
-  case 905:
+  case 914:
 
 /* Line 690 of lalr1.cc  */
-#line 5834 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5902 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("least"))); }
     break;
 
-  case 906:
+  case 915:
 
 /* Line 690 of lalr1.cc  */
-#line 5835 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5903 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("collation"))); }
     break;
 
-  case 907:
+  case 916:
 
 /* Line 690 of lalr1.cc  */
-#line 5836 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5904 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("some"))); }
     break;
 
-  case 908:
+  case 917:
 
 /* Line 690 of lalr1.cc  */
-#line 5837 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5905 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("every"))); }
     break;
 
-  case 909:
+  case 918:
 
 /* Line 690 of lalr1.cc  */
-#line 5838 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5906 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("satisfies"))); }
     break;
 
-  case 910:
+  case 919:
 
 /* Line 690 of lalr1.cc  */
-#line 5839 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5907 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("case"))); }
     break;
 
-  case 911:
+  case 920:
 
 /* Line 690 of lalr1.cc  */
-#line 5840 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5908 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("as"))); }
     break;
 
-  case 912:
+  case 921:
 
 /* Line 690 of lalr1.cc  */
-#line 5841 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5909 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("then"))); }
     break;
 
-  case 913:
+  case 922:
 
 /* Line 690 of lalr1.cc  */
-#line 5842 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5910 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("else"))); }
     break;
 
-  case 914:
+  case 923:
 
 /* Line 690 of lalr1.cc  */
-#line 5843 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5911 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("or"))); }
     break;
 
-  case 915:
+  case 924:
 
 /* Line 690 of lalr1.cc  */
-#line 5844 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5912 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("and"))); }
     break;
 
-  case 916:
+  case 925:
 
 /* Line 690 of lalr1.cc  */
-#line 5845 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5913 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("instance"))); }
     break;
 
-  case 917:
+  case 926:
 
 /* Line 690 of lalr1.cc  */
-#line 5846 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5914 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("of"))); }
     break;
 
-  case 918:
+  case 927:
 
 /* Line 690 of lalr1.cc  */
-#line 5847 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5915 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("castable"))); }
     break;
 
-  case 919:
+  case 928:
 
 /* Line 690 of lalr1.cc  */
-#line 5848 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5916 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("to"))); }
     break;
 
-  case 920:
+  case 929:
 
 /* Line 690 of lalr1.cc  */
-#line 5849 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5917 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("div"))); }
     break;
 
-  case 921:
+  case 930:
 
 /* Line 690 of lalr1.cc  */
-#line 5850 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5918 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("mod"))); }
     break;
 
-  case 922:
+  case 931:
 
 /* Line 690 of lalr1.cc  */
-#line 5851 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5919 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("union"))); }
     break;
 
-  case 923:
+  case 932:
 
 /* Line 690 of lalr1.cc  */
-#line 5852 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5920 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("intersect"))); }
     break;
 
-  case 924:
+  case 933:
 
 /* Line 690 of lalr1.cc  */
-#line 5853 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5921 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("except"))); }
     break;
 
-  case 925:
+  case 934:
 
 /* Line 690 of lalr1.cc  */
-#line 5854 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5922 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("validate"))); }
     break;
 
-  case 926:
+  case 935:
 
 /* Line 690 of lalr1.cc  */
-#line 5855 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5923 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("type"))); }
     break;
 
-  case 927:
+  case 936:
 
 /* Line 690 of lalr1.cc  */
-#line 5856 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5924 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("cast"))); }
     break;
 
-  case 928:
+  case 937:
 
 /* Line 690 of lalr1.cc  */
-#line 5857 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5925 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("treat"))); }
     break;
 
-  case 929:
+  case 938:
 
 /* Line 690 of lalr1.cc  */
-#line 5858 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5926 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("is"))); }
     break;
 
-  case 930:
+  case 939:
 
 /* Line 690 of lalr1.cc  */
-#line 5859 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5927 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("preserve"))); }
     break;
 
-  case 931:
+  case 940:
 
 /* Line 690 of lalr1.cc  */
-#line 5860 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5928 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("strip"))); }
     break;
 
-  case 932:
+  case 941:
 
 /* Line 690 of lalr1.cc  */
-#line 5861 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5929 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("namespace"))); }
     break;
 
-  case 933:
+  case 942:
 
 /* Line 690 of lalr1.cc  */
-#line 5862 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5930 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("external"))); }
     break;
 
-  case 934:
+  case 943:
 
 /* Line 690 of lalr1.cc  */
-#line 5863 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5931 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("encoding"))); }
     break;
 
-  case 935:
+  case 944:
 
 /* Line 690 of lalr1.cc  */
-#line 5864 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5932 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("no-preserve"))); }
     break;
 
-  case 936:
+  case 945:
 
 /* Line 690 of lalr1.cc  */
-#line 5865 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5933 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("inherit"))); }
     break;
 
-  case 937:
+  case 946:
 
 /* Line 690 of lalr1.cc  */
-#line 5866 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5934 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("no-inherit"))); }
     break;
 
-  case 938:
+  case 947:
 
 /* Line 690 of lalr1.cc  */
-#line 5867 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5935 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("declare"))); }
     break;
 
-  case 939:
+  case 948:
 
 /* Line 690 of lalr1.cc  */
-#line 5868 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5936 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("construction"))); }
     break;
 
-  case 940:
+  case 949:
 
 /* Line 690 of lalr1.cc  */
-#line 5869 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5937 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ordering"))); }
     break;
 
-  case 941:
+  case 950:
 
 /* Line 690 of lalr1.cc  */
-#line 5870 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5938 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("default"))); }
     break;
 
-  case 942:
+  case 951:
 
 /* Line 690 of lalr1.cc  */
-#line 5871 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5939 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("copy-namespaces"))); }
     break;
 
-  case 943:
+  case 952:
 
 /* Line 690 of lalr1.cc  */
-#line 5872 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5940 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("option"))); }
     break;
 
-  case 944:
+  case 953:
 
 /* Line 690 of lalr1.cc  */
-#line 5873 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5941 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("version"))); }
     break;
 
-  case 945:
+  case 954:
 
 /* Line 690 of lalr1.cc  */
-#line 5874 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5942 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("import"))); }
     break;
 
-  case 946:
+  case 955:
 
 /* Line 690 of lalr1.cc  */
-#line 5875 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5943 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("schema"))); }
     break;
 
-  case 947:
+  case 956:
 
 /* Line 690 of lalr1.cc  */
-#line 5876 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5944 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("module"))); }
     break;
 
-  case 948:
+  case 957:
 
 /* Line 690 of lalr1.cc  */
-#line 5877 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5945 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("function"))); }
     break;
 
-  case 949:
+  case 958:
 
 /* Line 690 of lalr1.cc  */
-#line 5878 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5946 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("score"))); }
     break;
 
-  case 950:
+  case 959:
 
 /* Line 690 of lalr1.cc  */
-#line 5879 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5947 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("contains"))); }
     break;
 
-  case 951:
+  case 960:
 
 /* Line 690 of lalr1.cc  */
-#line 5880 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5948 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("weight"))); }
     break;
 
-  case 952:
+  case 961:
 
 /* Line 690 of lalr1.cc  */
-#line 5881 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5949 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("window"))); }
     break;
 
-  case 953:
+  case 962:
 
 /* Line 690 of lalr1.cc  */
-#line 5882 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5950 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("distance"))); }
     break;
 
-  case 954:
+  case 963:
 
 /* Line 690 of lalr1.cc  */
-#line 5883 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5951 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("occurs"))); }
     break;
 
-  case 955:
+  case 964:
 
 /* Line 690 of lalr1.cc  */
-#line 5884 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5952 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("times"))); }
     break;
 
-  case 956:
+  case 965:
 
 /* Line 690 of lalr1.cc  */
-#line 5885 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5953 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("same"))); }
     break;
 
-  case 957:
+  case 966:
 
 /* Line 690 of lalr1.cc  */
-#line 5886 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5954 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("different"))); }
     break;
 
-  case 958:
+  case 967:
 
 /* Line 690 of lalr1.cc  */
-#line 5887 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5955 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("lowercase"))); }
     break;
 
-  case 959:
+  case 968:
 
 /* Line 690 of lalr1.cc  */
-#line 5888 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5956 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("uppercase"))); }
     break;
 
-  case 960:
+  case 969:
 
 /* Line 690 of lalr1.cc  */
-#line 5889 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5957 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("relationship"))); }
     break;
 
-  case 961:
+  case 970:
 
 /* Line 690 of lalr1.cc  */
-#line 5890 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5958 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("levels"))); }
     break;
 
-  case 962:
+  case 971:
 
 /* Line 690 of lalr1.cc  */
-#line 5891 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5959 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("language"))); }
     break;
 
-  case 963:
+  case 972:
 
 /* Line 690 of lalr1.cc  */
-#line 5892 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5960 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("any"))); }
     break;
 
-  case 964:
+  case 973:
 
 /* Line 690 of lalr1.cc  */
-#line 5893 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5961 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("all"))); }
     break;
 
-  case 965:
+  case 974:
 
 /* Line 690 of lalr1.cc  */
-#line 5894 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5962 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("exactly"))); }
     break;
 
-  case 966:
+  case 975:
 
 /* Line 690 of lalr1.cc  */
-#line 5895 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5963 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("words"))); }
     break;
 
-  case 967:
+  case 976:
 
 /* Line 690 of lalr1.cc  */
-#line 5896 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5964 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("sentences"))); }
     break;
 
-  case 968:
+  case 977:
 
 /* Line 690 of lalr1.cc  */
-#line 5897 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5965 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("sentence"))); }
     break;
 
-  case 969:
+  case 978:
 
 /* Line 690 of lalr1.cc  */
-#line 5898 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5966 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("phrase"))); }
     break;
 
-  case 970:
+  case 979:
 
 /* Line 690 of lalr1.cc  */
-#line 5899 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5967 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("paragraph"))); }
     break;
 
-  case 971:
+  case 980:
 
 /* Line 690 of lalr1.cc  */
-#line 5900 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5968 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("paragraphs"))); }
     break;
 
-  case 972:
+  case 981:
 
 /* Line 690 of lalr1.cc  */
-#line 5901 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5969 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("modify"))); }
     break;
 
-  case 973:
+  case 982:
 
 /* Line 690 of lalr1.cc  */
-#line 5902 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5970 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("first"))); }
     break;
 
-  case 974:
-
-/* Line 690 of lalr1.cc  */
-#line 5903 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+  case 983:
+
+/* Line 690 of lalr1.cc  */
+#line 5971 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("replace"))); }
+    break;
+
+  case 984:
+
+/* Line 690 of lalr1.cc  */
+#line 5972 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("insert"))); }
+    break;
+
+  case 985:
+
+/* Line 690 of lalr1.cc  */
+#line 5973 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("rename"))); }
+    break;
+
+  case 986:
+
+/* Line 690 of lalr1.cc  */
+#line 5974 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("delete"))); }
+    break;
+
+  case 987:
+
+/* Line 690 of lalr1.cc  */
+#line 5975 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("before"))); }
     break;
 
-  case 975:
+  case 988:
 
 /* Line 690 of lalr1.cc  */
-#line 5904 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5976 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("after"))); }
     break;
 
-  case 976:
+  case 989:
 
 /* Line 690 of lalr1.cc  */
-#line 5905 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5977 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("revalidation"))); }
     break;
 
-  case 977:
+  case 990:
 
 /* Line 690 of lalr1.cc  */
-#line 5906 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5978 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("with"))); }
     break;
 
-  case 978:
+  case 991:
 
 /* Line 690 of lalr1.cc  */
-#line 5907 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5979 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("nodes"))); }
     break;
 
-  case 979:
+  case 992:
 
 /* Line 690 of lalr1.cc  */
-#line 5908 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5980 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("last"))); }
     break;
 
-  case 980:
+  case 993:
 
 /* Line 690 of lalr1.cc  */
-#line 5909 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5981 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("into"))); }
     break;
 
-  case 981:
+  case 994:
 
 /* Line 690 of lalr1.cc  */
-#line 5910 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5982 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("simple"))); }
     break;
 
-  case 982:
+  case 995:
 
 /* Line 690 of lalr1.cc  */
-#line 5911 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5983 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("sequential"))); }
     break;
 
-  case 983:
+  case 996:
 
 /* Line 690 of lalr1.cc  */
-#line 5912 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5984 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("updating"))); }
     break;
 
-  case 984:
+  case 997:
 
 /* Line 690 of lalr1.cc  */
-#line 5913 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5985 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ordered"))); }
     break;
 
-  case 985:
+  case 998:
 
 /* Line 690 of lalr1.cc  */
-#line 5914 "/home/colea/work/error-messages/build/src/compiler/parser/jsoniq_parser.y"
+#line 5986 "/home/colea/work/new-jsoniq/build/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT(

References