← Back to team overview

zorba-coders team mailing list archive

[Merge] lp:~zorba-coders/zorba/msb-misc into lp:zorba

 

Matthias Brantner has proposed merging lp:~zorba-coders/zorba/msb-misc into lp:zorba.

Commit message:
- disallow single quotes 
- allow $$ as context item
- deep equal for json items
- allow for empty sequence as input to object navigation (breaks w3c test)
- json style escaping
- empty object

Requested reviews:
  Matthias Brantner (matthias-brantner)

For more details, see:
https://code.launchpad.net/~zorba-coders/zorba/msb-misc/+merge/155656
-- 
The attached diff has been truncated due to its size.
https://code.launchpad.net/~zorba-coders/zorba/msb-misc/+merge/155656
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-03-24 18:43:56 +0000
+++ src/compiler/parser/jsoniq_parser.cpp	2013-03-27 04:09:23 +0000
@@ -73,7 +73,7 @@
 /* User implementation prologue.  */
 
 /* Line 299 of lalr1.cc  */
-#line 916 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 917 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 
 // HACK to trigger rchandle release: rchandles are freed when refcount == 0
 // (not <= 0); but Bison never increments the refcount, so we do it manually...
@@ -85,7 +85,7 @@
 }
 
 /* Line 299 of lalr1.cc  */
-#line 1052 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1053 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 
 #include "compiler/parser/jsoniq_scanner.h"
 
@@ -282,2491 +282,2491 @@
         case 112: /* "\"'DECIMAL'\"" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 915 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ delete (yyvaluep->decval); };
 
 /* Line 480 of lalr1.cc  */
 #line 290 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 126: /* "\"'DOUBLE'\"" */
+      case 127: /* "\"'DOUBLE'\"" */
 
 /* Line 480 of lalr1.cc  */
-#line 913 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 914 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ delete (yyvaluep->dval); };
 
 /* Line 480 of lalr1.cc  */
 #line 299 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 151: /* "\"'INTEGER'\"" */
+      case 152: /* "\"'INTEGER'\"" */
 
 /* Line 480 of lalr1.cc  */
-#line 912 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 913 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ delete (yyvaluep->ival); };
 
 /* Line 480 of lalr1.cc  */
 #line 308 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 345: /* "VersionDecl" */
+      case 346: /* "VersionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 317 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 346: /* "MainModule" */
+      case 347: /* "MainModule" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 326 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 347: /* "LibraryModule" */
+      case 348: /* "LibraryModule" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 335 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 348: /* "ModuleDecl" */
+      case 349: /* "ModuleDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 344 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 349: /* "SIND_DeclList" */
+      case 350: /* "SIND_DeclList" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 353 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 350: /* "SIND_Decl" */
+      case 351: /* "SIND_Decl" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 362 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 351: /* "Setter" */
+      case 352: /* "Setter" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 371 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 352: /* "BoundarySpaceDecl" */
+      case 353: /* "BoundarySpaceDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 380 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 353: /* "DefaultCollationDecl" */
+      case 354: /* "DefaultCollationDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 389 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 354: /* "BaseURIDecl" */
+      case 355: /* "BaseURIDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 398 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 355: /* "ConstructionDecl" */
+      case 356: /* "ConstructionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 407 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 356: /* "OrderingModeDecl" */
+      case 357: /* "OrderingModeDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 416 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 357: /* "EmptyOrderDecl" */
+      case 358: /* "EmptyOrderDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 425 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 358: /* "CopyNamespacesDecl" */
+      case 359: /* "CopyNamespacesDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 434 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 359: /* "Import" */
+      case 360: /* "Import" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 443 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 360: /* "SchemaImport" */
+      case 361: /* "SchemaImport" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 452 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 361: /* "URILiteralList" */
+      case 362: /* "URILiteralList" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 461 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 362: /* "SchemaPrefix" */
+      case 363: /* "SchemaPrefix" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 470 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 363: /* "ModuleImport" */
+      case 364: /* "ModuleImport" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 479 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 364: /* "NamespaceDecl" */
+      case 365: /* "NamespaceDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 488 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 365: /* "DefaultNamespaceDecl" */
+      case 366: /* "DefaultNamespaceDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 497 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 366: /* "VFO_DeclList" */
+      case 367: /* "VFO_DeclList" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 506 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 367: /* "VFO_Decl" */
+      case 368: /* "VFO_Decl" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 515 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 368: /* "DecimalFormatDecl" */
+      case 369: /* "DecimalFormatDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 524 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 369: /* "DecimalFormatParamList" */
+      case 370: /* "DecimalFormatParamList" */
 
 /* Line 480 of lalr1.cc  */
-#line 946 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 947 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ delete (yyvaluep->vstrpair); };
 
 /* Line 480 of lalr1.cc  */
 #line 533 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 370: /* "DecimalFormatParam" */
+      case 371: /* "DecimalFormatParam" */
 
 /* Line 480 of lalr1.cc  */
-#line 946 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 947 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ delete (yyvaluep->strpair); };
 
 /* Line 480 of lalr1.cc  */
 #line 542 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 372: /* "OptionDecl" */
+      case 373: /* "OptionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 551 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 373: /* "FTOptionDecl" */
+      case 374: /* "FTOptionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 560 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 374: /* "CtxItemDecl" */
+      case 375: /* "CtxItemDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 569 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 375: /* "CtxItemDecl2" */
+      case 376: /* "CtxItemDecl2" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 578 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 376: /* "CtxItemDecl3" */
+      case 377: /* "CtxItemDecl3" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 587 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 377: /* "CtxItemDecl4" */
+      case 378: /* "CtxItemDecl4" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 596 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 378: /* "VarDecl" */
+      case 379: /* "VarDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 605 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 379: /* "VarNameAndType" */
+      case 380: /* "VarNameAndType" */
 
 /* Line 480 of lalr1.cc  */
-#line 946 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 947 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ delete (yyvaluep->varnametype); };
 
 /* Line 480 of lalr1.cc  */
 #line 614 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 380: /* "AnnotationList" */
+      case 381: /* "AnnotationList" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 623 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 381: /* "Annotation" */
+      case 382: /* "Annotation" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 632 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 382: /* "AnnotationLiteralList" */
+      case 383: /* "AnnotationLiteralList" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 641 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 383: /* "FunctionDecl" */
+      case 384: /* "FunctionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 650 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 384: /* "FunctionDecl2" */
+      case 385: /* "FunctionDecl2" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 659 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 385: /* "FunctionDeclSimple" */
+      case 386: /* "FunctionDeclSimple" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 668 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 386: /* "FunctionDeclUpdating" */
+      case 387: /* "FunctionDeclUpdating" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 677 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 387: /* "FunctionSig" */
+      case 388: /* "FunctionSig" */
 
 /* Line 480 of lalr1.cc  */
-#line 946 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 947 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ delete (yyvaluep->fnsig); };
 
 /* Line 480 of lalr1.cc  */
 #line 686 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 388: /* "ParamList" */
+      case 389: /* "ParamList" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 695 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 389: /* "Param" */
+      case 390: /* "Param" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 704 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 390: /* "CollectionDecl" */
+      case 391: /* "CollectionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 713 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 392: /* "IndexDecl" */
+      case 393: /* "IndexDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 722 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 393: /* "IndexKeyList" */
+      case 394: /* "IndexKeyList" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 731 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 394: /* "IndexKeySpec" */
+      case 395: /* "IndexKeySpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 740 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 395: /* "IntegrityConstraintDecl" */
+      case 396: /* "IntegrityConstraintDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 749 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 396: /* "QueryBody" */
+      case 397: /* "QueryBody" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 758 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 397: /* "StatementsAndOptionalExprTop" */
+      case 398: /* "StatementsAndOptionalExprTop" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 767 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 398: /* "StatementsAndOptionalExpr" */
+      case 399: /* "StatementsAndOptionalExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 776 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 399: /* "StatementsAndExpr" */
+      case 400: /* "StatementsAndExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 785 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 400: /* "Statements" */
+      case 401: /* "Statements" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 794 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 401: /* "Statement" */
+      case 402: /* "Statement" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 803 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 402: /* "BlockStatement" */
+      case 403: /* "BlockStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 812 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 403: /* "BlockExpr" */
+      case 404: /* "BlockExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 821 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 404: /* "EnclosedStatementsAndOptionalExpr" */
+      case 405: /* "EnclosedStatementsAndOptionalExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 830 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 405: /* "VarDeclStatement" */
+      case 406: /* "VarDeclStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 839 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 408: /* "AssignStatement" */
+      case 409: /* "AssignStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 848 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 409: /* "ApplyStatement" */
+      case 410: /* "ApplyStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 857 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 410: /* "ExitStatement" */
+      case 411: /* "ExitStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 866 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 411: /* "WhileStatement" */
+      case 412: /* "WhileStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 875 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 412: /* "FlowCtlStatement" */
+      case 413: /* "FlowCtlStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 884 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 413: /* "FLWORStatement" */
+      case 414: /* "FLWORStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 893 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 414: /* "ReturnStatement" */
+      case 415: /* "ReturnStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 902 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 415: /* "IfStatement" */
+      case 416: /* "IfStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 911 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 416: /* "TryStatement" */
+      case 417: /* "TryStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 920 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 417: /* "CatchListStatement" */
+      case 418: /* "CatchListStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 929 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 418: /* "CatchStatement" */
+      case 419: /* "CatchStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 938 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 420: /* "Expr" */
+      case 421: /* "Expr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 947 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 421: /* "ExprSingle" */
+      case 422: /* "ExprSingle" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 956 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 422: /* "ExprSimple" */
+      case 423: /* "ExprSimple" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 965 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 423: /* "FLWORExpr" */
+      case 424: /* "FLWORExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 974 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 424: /* "ReturnExpr" */
+      case 425: /* "ReturnExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 983 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 427: /* "FLWORWinCond" */
+      case 428: /* "FLWORWinCond" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 992 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 428: /* "WindowClause" */
+      case 429: /* "WindowClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1001 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 429: /* "CountClause" */
+      case 430: /* "CountClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1010 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 430: /* "ForLetWinClause" */
+      case 431: /* "ForLetWinClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1019 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 432: /* "FLWORClauseList" */
+      case 433: /* "FLWORClauseList" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1028 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 433: /* "ForClause" */
+      case 434: /* "ForClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1037 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 435: /* "VarInDeclList" */
+      case 436: /* "VarInDeclList" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1046 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 436: /* "VarInDecl" */
+      case 437: /* "VarInDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1055 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 437: /* "PositionalVar" */
+      case 438: /* "PositionalVar" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1064 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 438: /* "FTScoreVar" */
+      case 439: /* "FTScoreVar" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1073 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 439: /* "LetClause" */
+      case 440: /* "LetClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1082 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 440: /* "VarGetsDeclList" */
+      case 441: /* "VarGetsDeclList" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1091 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 441: /* "VarGetsDecl" */
+      case 442: /* "VarGetsDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1100 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 442: /* "WindowVarDecl" */
+      case 443: /* "WindowVarDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1109 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 443: /* "WindowVars" */
+      case 444: /* "WindowVars" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1118 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 444: /* "WindowVars3" */
+      case 445: /* "WindowVars3" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1127 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 445: /* "WindowVars2" */
+      case 446: /* "WindowVars2" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1136 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 446: /* "WhereClause" */
+      case 447: /* "WhereClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1145 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 447: /* "GroupByClause" */
+      case 448: /* "GroupByClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1154 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 448: /* "GroupSpecList" */
+      case 449: /* "GroupSpecList" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1163 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 449: /* "GroupSpec" */
+      case 450: /* "GroupSpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1172 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 450: /* "GroupCollationSpec" */
+      case 451: /* "GroupCollationSpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1181 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 451: /* "OrderByClause" */
+      case 452: /* "OrderByClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1190 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 452: /* "OrderSpecList" */
+      case 453: /* "OrderSpecList" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1199 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 453: /* "OrderSpec" */
+      case 454: /* "OrderSpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1208 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 454: /* "OrderModifier" */
+      case 455: /* "OrderModifier" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1217 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 455: /* "OrderDirSpec" */
+      case 456: /* "OrderDirSpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1226 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 456: /* "OrderEmptySpec" */
+      case 457: /* "OrderEmptySpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1235 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 457: /* "OrderCollationSpec" */
+      case 458: /* "OrderCollationSpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1244 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 458: /* "QuantifiedExpr" */
+      case 459: /* "QuantifiedExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1253 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 459: /* "QVarInDeclList" */
+      case 460: /* "QVarInDeclList" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1262 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 460: /* "QVarInDecl" */
+      case 461: /* "QVarInDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1271 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 461: /* "SwitchExpr" */
+      case 462: /* "SwitchExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1280 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 462: /* "SwitchCaseClauseList" */
+      case 463: /* "SwitchCaseClauseList" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1289 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 463: /* "SwitchCaseClause" */
+      case 464: /* "SwitchCaseClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1298 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 464: /* "SwitchCaseOperandList" */
+      case 465: /* "SwitchCaseOperandList" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1307 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 465: /* "SwitchStatement" */
+      case 466: /* "SwitchStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1316 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 468: /* "TypeswitchExpr" */
+      case 469: /* "TypeswitchExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1325 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 469: /* "TypeswitchStatement" */
+      case 470: /* "TypeswitchStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1334 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 470: /* "CaseClauseList" */
+      case 471: /* "CaseClauseList" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1343 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 471: /* "CaseClause" */
+      case 472: /* "CaseClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1352 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 474: /* "SequenceTypeList" */
+      case 475: /* "SequenceTypeList" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1361 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 475: /* "IfExpr" */
+      case 476: /* "IfExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1370 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 476: /* "OrExpr" */
+      case 477: /* "OrExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1379 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 477: /* "AndExpr" */
+      case 478: /* "AndExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1388 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 478: /* "NotExpr" */
+      case 479: /* "NotExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1397 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 479: /* "ComparisonExpr" */
+      case 480: /* "ComparisonExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1406 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 480: /* "FTContainsExpr" */
+      case 481: /* "FTContainsExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1415 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 481: /* "StringConcatExpr" */
+      case 482: /* "StringConcatExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1424 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 482: /* "opt_FTIgnoreOption" */
+      case 483: /* "opt_FTIgnoreOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1433 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 483: /* "RangeExpr" */
+      case 484: /* "RangeExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1442 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 484: /* "AdditiveExpr" */
+      case 485: /* "AdditiveExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1451 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 485: /* "MultiplicativeExpr" */
+      case 486: /* "MultiplicativeExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1460 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 486: /* "UnionExpr" */
+      case 487: /* "UnionExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1469 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 487: /* "IntersectExceptExpr" */
+      case 488: /* "IntersectExceptExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1478 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 488: /* "InstanceofExpr" */
+      case 489: /* "InstanceofExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1487 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 489: /* "TreatExpr" */
+      case 490: /* "TreatExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1496 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 490: /* "CastableExpr" */
+      case 491: /* "CastableExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1505 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 491: /* "CastExpr" */
+      case 492: /* "CastExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1514 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 492: /* "SingleType" */
+      case 493: /* "SingleType" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1523 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 493: /* "UnaryExpr" */
+      case 494: /* "UnaryExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1532 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 494: /* "SignList" */
+      case 495: /* "SignList" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1541 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 495: /* "ValueExpr" */
+      case 496: /* "ValueExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1550 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 496: /* "SimpleMapExpr" */
+      case 497: /* "SimpleMapExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1559 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 497: /* "ValueComp" */
+      case 498: /* "ValueComp" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1568 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 498: /* "ValidateExpr" */
+      case 499: /* "ValidateExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1577 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 499: /* "ExtensionExpr" */
+      case 500: /* "ExtensionExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1586 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 500: /* "Pragma_list" */
+      case 501: /* "Pragma_list" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1595 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 501: /* "Pragma" */
+      case 502: /* "Pragma" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1604 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 502: /* "PathExpr" */
+      case 503: /* "PathExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1613 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 503: /* "RelativePathExpr" */
+      case 504: /* "RelativePathExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1622 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 504: /* "StepExpr" */
+      case 505: /* "StepExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1631 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 505: /* "NameTest" */
+      case 506: /* "NameTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1640 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 506: /* "Wildcard" */
+      case 507: /* "Wildcard" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1649 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 507: /* "FilterExpr" */
+      case 508: /* "FilterExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1658 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 508: /* "PredicateList" */
+      case 509: /* "PredicateList" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1667 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 509: /* "Predicate" */
+      case 510: /* "Predicate" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1676 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 510: /* "PrimaryExpr" */
+      case 511: /* "PrimaryExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1685 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 511: /* "Literal" */
+      case 512: /* "Literal" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1694 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 512: /* "NumericLiteral" */
+      case 513: /* "NumericLiteral" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1703 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 514: /* "VarRef" */
+      case 515: /* "VarRef" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1712 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 515: /* "ParenthesizedExpr" */
+      case 516: /* "ParenthesizedExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1721 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 516: /* "ContextItemExpr" */
+      case 517: /* "ContextItemExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1730 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 517: /* "OrderedExpr" */
+      case 518: /* "OrderedExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1739 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 518: /* "UnorderedExpr" */
+      case 519: /* "UnorderedExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1748 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 519: /* "FunctionCall" */
+      case 520: /* "FunctionCall" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1757 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 520: /* "ArgList" */
+      case 521: /* "ArgList" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1766 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 524: /* "Constructor" */
+      case 525: /* "Constructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1775 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 525: /* "DirectConstructor" */
+      case 526: /* "DirectConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1784 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 526: /* "DirElemConstructor" */
+      case 527: /* "DirElemConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1793 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 527: /* "DirElemContentList" */
+      case 528: /* "DirElemContentList" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1802 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 528: /* "DirAttributeList" */
+      case 529: /* "DirAttributeList" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1811 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 529: /* "DirAttr" */
+      case 530: /* "DirAttr" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1820 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 531: /* "DirAttributeValue" */
+      case 532: /* "DirAttributeValue" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1829 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 532: /* "opt_QuoteAttrContentList" */
+      case 533: /* "opt_QuoteAttrContentList" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1838 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 533: /* "QuoteAttrContentList" */
+      case 534: /* "QuoteAttrContentList" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1847 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 534: /* "opt_AposAttrContentList" */
+      case 535: /* "opt_AposAttrContentList" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1856 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 535: /* "AposAttrContentList" */
+      case 536: /* "AposAttrContentList" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1865 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 536: /* "QuoteAttrValueContent" */
+      case 537: /* "QuoteAttrValueContent" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1874 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 537: /* "AposAttrValueContent" */
+      case 538: /* "AposAttrValueContent" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1883 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 538: /* "DirElemContent" */
+      case 539: /* "DirElemContent" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1892 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 539: /* "CommonContent" */
+      case 540: /* "CommonContent" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1901 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 540: /* "DirCommentConstructor" */
+      case 541: /* "DirCommentConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1910 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 541: /* "DirPIConstructor" */
+      case 542: /* "DirPIConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1919 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 542: /* "CDataSection" */
+      case 543: /* "CDataSection" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1928 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 543: /* "ComputedConstructor" */
+      case 544: /* "ComputedConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1937 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 544: /* "CompDocConstructor" */
+      case 545: /* "CompDocConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1946 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 545: /* "CompElemConstructor" */
+      case 546: /* "CompElemConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1955 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 546: /* "CompAttrConstructor" */
+      case 547: /* "CompAttrConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1964 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 547: /* "CompTextConstructor" */
+      case 548: /* "CompTextConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1973 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 548: /* "CompCommentConstructor" */
+      case 549: /* "CompCommentConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1982 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 549: /* "CompPIConstructor" */
+      case 550: /* "CompPIConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 1991 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 550: /* "CompNamespaceConstructor" */
+      case 551: /* "CompNamespaceConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2000 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 551: /* "TypeDeclaration" */
+      case 552: /* "TypeDeclaration" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2009 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 552: /* "SequenceType" */
+      case 553: /* "SequenceType" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2018 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 553: /* "OccurrenceIndicator" */
+      case 554: /* "OccurrenceIndicator" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2027 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 554: /* "ItemType" */
+      case 555: /* "ItemType" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2036 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 555: /* "TypeList" */
+      case 556: /* "TypeList" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2045 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 556: /* "GeneralizedAtomicType" */
+      case 557: /* "GeneralizedAtomicType" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2054 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 557: /* "SimpleType" */
+      case 558: /* "SimpleType" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2063 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 558: /* "KindTest" */
+      case 559: /* "KindTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2072 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 559: /* "AnyKindTest" */
+      case 560: /* "AnyKindTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2081 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 560: /* "DocumentTest" */
+      case 561: /* "DocumentTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2090 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 561: /* "NamespaceTest" */
+      case 562: /* "NamespaceTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2099 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 562: /* "TextTest" */
+      case 563: /* "TextTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2108 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 563: /* "CommentTest" */
+      case 564: /* "CommentTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2117 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 564: /* "PITest" */
+      case 565: /* "PITest" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2126 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 565: /* "AttributeTest" */
+      case 566: /* "AttributeTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2135 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 566: /* "SchemaAttributeTest" */
+      case 567: /* "SchemaAttributeTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2144 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 567: /* "ElementTest" */
+      case 568: /* "ElementTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2153 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 568: /* "SchemaElementTest" */
+      case 569: /* "SchemaElementTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2162 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 569: /* "TypeName" */
+      case 570: /* "TypeName" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2171 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 570: /* "TypeName_WITH_HOOK" */
+      case 571: /* "TypeName_WITH_HOOK" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2180 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 571: /* "StringLiteral" */
+      case 572: /* "StringLiteral" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2189 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 573: /* "AnyFunctionTest" */
+      case 574: /* "AnyFunctionTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2198 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 574: /* "TypedFunctionTest" */
+      case 575: /* "TypedFunctionTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2207 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 577: /* "InsertExpr" */
+      case 578: /* "InsertExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2216 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 578: /* "DeleteExpr" */
+      case 579: /* "DeleteExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2225 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 579: /* "ReplaceExpr" */
+      case 580: /* "ReplaceExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2234 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 580: /* "RenameExpr" */
+      case 581: /* "RenameExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2243 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 581: /* "TransformExpr" */
+      case 582: /* "TransformExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2252 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 582: /* "VarNameList" */
+      case 583: /* "VarNameList" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2261 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 583: /* "VarNameDecl" */
+      case 584: /* "VarNameDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2270 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 584: /* "TryExpr" */
+      case 585: /* "TryExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2279 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 585: /* "CatchListExpr" */
+      case 586: /* "CatchListExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2288 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 586: /* "CatchExpr" */
+      case 587: /* "CatchExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2297 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 587: /* "BracedExpr" */
+      case 588: /* "BracedExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2306 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 588: /* "NameTestList" */
+      case 589: /* "NameTestList" */
 
 /* Line 480 of lalr1.cc  */
-#line 946 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 947 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ delete (yyvaluep->name_test_list); };
 
 /* Line 480 of lalr1.cc  */
 #line 2315 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 589: /* "FTSelection" */
+      case 590: /* "FTSelection" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2324 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 592: /* "FTOr" */
+      case 593: /* "FTOr" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2333 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 593: /* "FTAnd" */
+      case 594: /* "FTAnd" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2342 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 594: /* "FTMildNot" */
+      case 595: /* "FTMildNot" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2351 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 595: /* "FTUnaryNot" */
+      case 596: /* "FTUnaryNot" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2360 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 596: /* "FTPrimaryWithOptions" */
+      case 597: /* "FTPrimaryWithOptions" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2369 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 597: /* "opt_FTMatchOptions" */
+      case 598: /* "opt_FTMatchOptions" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2378 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 599: /* "FTWeight" */
+      case 600: /* "FTWeight" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2387 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 600: /* "FTPrimary" */
+      case 601: /* "FTPrimary" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2396 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 601: /* "opt_FTTimes" */
+      case 602: /* "opt_FTTimes" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2405 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 602: /* "FTExtensionSelection" */
+      case 603: /* "FTExtensionSelection" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2414 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 604: /* "FTWords" */
+      case 605: /* "FTWords" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2423 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 605: /* "FTWordsValue" */
+      case 606: /* "FTWordsValue" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2432 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 607: /* "FTAnyallOption" */
+      case 608: /* "FTAnyallOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2441 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 610: /* "FTPosFilter" */
+      case 611: /* "FTPosFilter" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2450 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 611: /* "FTOrder" */
+      case 612: /* "FTOrder" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2459 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 612: /* "FTWindow" */
+      case 613: /* "FTWindow" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2468 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 613: /* "FTDistance" */
+      case 614: /* "FTDistance" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2477 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 614: /* "FTUnit" */
+      case 615: /* "FTUnit" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2486 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 615: /* "FTMatchOptions" */
+      case 616: /* "FTMatchOptions" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2495 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 616: /* "FTMatchOption" */
+      case 617: /* "FTMatchOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2504 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 617: /* "FTCaseOption" */
+      case 618: /* "FTCaseOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2513 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 618: /* "FTDiacriticsOption" */
+      case 619: /* "FTDiacriticsOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2522 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 619: /* "FTExtensionOption" */
+      case 620: /* "FTExtensionOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2531 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 620: /* "FTStemOption" */
+      case 621: /* "FTStemOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2540 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 621: /* "FTThesaurusOption" */
+      case 622: /* "FTThesaurusOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2549 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 625: /* "FTThesaurusID" */
+      case 626: /* "FTThesaurusID" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2558 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 628: /* "FTStopWordOption" */
+      case 629: /* "FTStopWordOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2567 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 629: /* "FTStopWords" */
+      case 630: /* "FTStopWords" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2576 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 633: /* "FTStopWordsInclExcl" */
+      case 634: /* "FTStopWordsInclExcl" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2585 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 634: /* "FTLanguageOption" */
+      case 635: /* "FTLanguageOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2594 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 635: /* "FTWildCardOption" */
+      case 636: /* "FTWildCardOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2603 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 636: /* "FTContent" */
+      case 637: /* "FTContent" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2612 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 637: /* "FTTimes" */
+      case 638: /* "FTTimes" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2621 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 638: /* "FTRange" */
+      case 639: /* "FTRange" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2630 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 639: /* "FTScope" */
+      case 640: /* "FTScope" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2639 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 640: /* "FTBigUnit" */
+      case 641: /* "FTBigUnit" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2648 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 641: /* "FTIgnoreOption" */
+      case 642: /* "FTIgnoreOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 935 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2657 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 642: /* "JSONArrayConstructor" */
+      case 643: /* "JSONArrayConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 937 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 938 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2666 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 643: /* "JSONSimpleObjectUnion" */
+      case 644: /* "JSONSimpleObjectUnion" */
 
 /* Line 480 of lalr1.cc  */
-#line 937 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 938 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2675 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 644: /* "JSONAccumulatorObjectUnion" */
+      case 645: /* "JSONAccumulatorObjectUnion" */
 
 /* Line 480 of lalr1.cc  */
-#line 937 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 938 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2684 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 645: /* "JSONObjectConstructor" */
+      case 646: /* "JSONObjectConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 937 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 938 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2693 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 646: /* "JSONPairList" */
+      case 647: /* "JSONPairList" */
 
 /* Line 480 of lalr1.cc  */
-#line 937 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 938 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2702 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 647: /* "JSONInsertExpr" */
+      case 648: /* "JSONInsertExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 937 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 938 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2711 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 648: /* "JSONAppendExpr" */
+      case 649: /* "JSONAppendExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 937 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 938 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2720 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 649: /* "JSONDeleteExpr" */
+      case 650: /* "JSONDeleteExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 937 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 938 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2729 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 650: /* "JSONRenameExpr" */
+      case 651: /* "JSONRenameExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 937 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 938 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2738 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 651: /* "JSONReplaceExpr" */
+      case 652: /* "JSONReplaceExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 937 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 938 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2747 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 658: /* "QNAME" */
+      case 659: /* "QNAME" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2756 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 659: /* "FUNCTION_NAME" */
+      case 660: /* "FUNCTION_NAME" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
 #line 2765 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	break;
-      case 660: /* "EQNAME" */
+      case 661: /* "EQNAME" */
 
 /* Line 480 of lalr1.cc  */
-#line 943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
@@ -2986,7 +2986,7 @@
 	  case 3:
 
 /* Line 690 of lalr1.cc  */
-#line 1070 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1071 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
         (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
       }
@@ -2995,7 +2995,7 @@
   case 4:
 
 /* Line 690 of lalr1.cc  */
-#line 1074 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1075 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
         (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
       }
@@ -3004,7 +3004,7 @@
   case 5:
 
 /* Line 690 of lalr1.cc  */
-#line 1078 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1079 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
         (yyval.node) = (yysemantic_stack_[(3) - (3)].node);
       }
@@ -3013,7 +3013,7 @@
   case 6:
 
 /* Line 690 of lalr1.cc  */
-#line 1086 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1087 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
         (yyval.node) = NULL;
       }
@@ -3022,7 +3022,7 @@
   case 7:
 
 /* Line 690 of lalr1.cc  */
-#line 1092 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1093 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
         (yyval.node) = NULL; YYABORT;
       }
@@ -3031,7 +3031,7 @@
   case 8:
 
 /* Line 690 of lalr1.cc  */
-#line 1096 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1097 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
         (yyval.node) = NULL; YYABORT;
       }
@@ -3040,7 +3040,7 @@
   case 9:
 
 /* Line 690 of lalr1.cc  */
-#line 1105 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1106 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
       driver.set_expr( (yyval.node) );
@@ -3050,7 +3050,7 @@
   case 10:
 
 /* Line 690 of lalr1.cc  */
-#line 1111 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1112 "/home/mbrantner/zorba/sandbox/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)) );
@@ -3062,7 +3062,7 @@
   case 11:
 
 /* Line 690 of lalr1.cc  */
-#line 1119 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1120 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
       driver.set_expr( (yyval.node) );
@@ -3072,7 +3072,7 @@
   case 12:
 
 /* Line 690 of lalr1.cc  */
-#line 1125 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1126 "/home/mbrantner/zorba/sandbox/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)) );
@@ -3084,7 +3084,7 @@
   case 13:
 
 /* Line 690 of lalr1.cc  */
-#line 1136 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1137 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VersionDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (3)].sval)), "utf-8" );
     }
@@ -3093,7 +3093,7 @@
   case 14:
 
 /* Line 690 of lalr1.cc  */
-#line 1141 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1142 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VersionDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(6) - (3)].sval)), SYMTAB((yysemantic_stack_[(6) - (5)].sval)) );
     }
@@ -3102,7 +3102,7 @@
   case 15:
 
 /* Line 690 of lalr1.cc  */
-#line 1145 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1146 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VersionDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (3)].sval)), "utf-8", VersionDecl::jsoniq );
     }
@@ -3111,7 +3111,7 @@
   case 16:
 
 /* Line 690 of lalr1.cc  */
-#line 1150 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1151 "/home/mbrantner/zorba/sandbox/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 );
@@ -3121,7 +3121,7 @@
   case 17:
 
 /* Line 690 of lalr1.cc  */
-#line 1159 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1160 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)), static_cast<SIND_DeclList*>((yysemantic_stack_[(3) - (1)].node)), NULL);
 
@@ -3132,7 +3132,7 @@
   case 18:
 
 /* Line 690 of lalr1.cc  */
-#line 1166 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1167 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)), NULL, static_cast<VFO_DeclList*>((yysemantic_stack_[(3) - (1)].node)));
 
@@ -3143,7 +3143,7 @@
   case 19:
 
 /* Line 690 of lalr1.cc  */
-#line 1173 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1174 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)),
                                   static_cast<SIND_DeclList*>((yysemantic_stack_[(5) - (1)].node)),
@@ -3156,7 +3156,7 @@
   case 20:
 
 /* Line 690 of lalr1.cc  */
-#line 1182 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1183 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new MainModule( LOC((yyloc)), static_cast<QueryBody*>((yysemantic_stack_[(1) - (1)].expr)), NULL );
     }
@@ -3165,7 +3165,7 @@
   case 21:
 
 /* Line 690 of lalr1.cc  */
-#line 1189 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1190 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node); (yyval.node) = (yysemantic_stack_[(3) - (3)].expr); // to prevent the Bison warning
       (yylocation_stack_[(3) - (1)]).step();
@@ -3177,7 +3177,7 @@
   case 22:
 
 /* Line 690 of lalr1.cc  */
-#line 1197 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1198 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node); (yyval.node) = (yysemantic_stack_[(3) - (3)].expr); // to prevent the Bison warning
       (yylocation_stack_[(3) - (1)]).step();
@@ -3189,7 +3189,7 @@
   case 23:
 
 /* Line 690 of lalr1.cc  */
-#line 1205 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1206 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(5) - (1)].node); (yyval.node) = (yysemantic_stack_[(5) - (3)].node); (yyval.node) = (yysemantic_stack_[(5) - (5)].expr); // to prevent the Bison warning
       (yylocation_stack_[(5) - (3)]).step();
@@ -3201,7 +3201,7 @@
   case 24:
 
 /* Line 690 of lalr1.cc  */
-#line 1213 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1214 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(5) - (1)].node); (yyval.node) = (yysemantic_stack_[(5) - (3)].node); (yyval.node) = (yysemantic_stack_[(5) - (5)].expr); // to prevent the Bison warning
       (yylocation_stack_[(5) - (1)]).step();
@@ -3213,7 +3213,7 @@
   case 25:
 
 /* Line 690 of lalr1.cc  */
-#line 1224 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1225 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new LibraryModule(LOC((yyloc)), static_cast<ModuleDecl*>((yysemantic_stack_[(1) - (1)].node)), NULL);
     }
@@ -3222,7 +3222,7 @@
   case 26:
 
 /* Line 690 of lalr1.cc  */
-#line 1229 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1230 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)), static_cast<SIND_DeclList*>((yysemantic_stack_[(3) - (2)].node)), NULL);
 
@@ -3233,7 +3233,7 @@
   case 27:
 
 /* Line 690 of lalr1.cc  */
-#line 1236 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1237 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)), NULL, static_cast<VFO_DeclList*>((yysemantic_stack_[(3) - (2)].node)));
 
@@ -3244,7 +3244,7 @@
   case 28:
 
 /* Line 690 of lalr1.cc  */
-#line 1243 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1244 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)),
                                   static_cast<SIND_DeclList*>((yysemantic_stack_[(5) - (2)].node)),
@@ -3257,7 +3257,7 @@
   case 29:
 
 /* Line 690 of lalr1.cc  */
-#line 1255 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1256 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new ModuleDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(6) - (3)].sval)), SYMTAB((yysemantic_stack_[(6) - (5)].sval)) );
 
@@ -3268,7 +3268,7 @@
   case 30:
 
 /* Line 690 of lalr1.cc  */
-#line 1265 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1266 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       SIND_DeclList *sdl = new SIND_DeclList( LOC((yyloc)) );
       sdl->push_back( (yysemantic_stack_[(1) - (1)].node) );
@@ -3279,7 +3279,7 @@
   case 31:
 
 /* Line 690 of lalr1.cc  */
-#line 1272 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1273 "/home/mbrantner/zorba/sandbox/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);
@@ -3289,7 +3289,7 @@
   case 32:
 
 /* Line 690 of lalr1.cc  */
-#line 1279 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1280 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       // error
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node); (yyval.node) = (yysemantic_stack_[(3) - (3)].node); // to prevent the Bison warning
@@ -3302,7 +3302,7 @@
   case 46:
 
 /* Line 690 of lalr1.cc  */
-#line 1314 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1315 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new BoundarySpaceDecl(LOC((yyloc)), StaticContextConsts::preserve_space);
     }
@@ -3311,7 +3311,7 @@
   case 47:
 
 /* Line 690 of lalr1.cc  */
-#line 1319 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1320 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new BoundarySpaceDecl(LOC((yyloc)), StaticContextConsts::strip_space);
     }
@@ -3320,7 +3320,7 @@
   case 48:
 
 /* Line 690 of lalr1.cc  */
-#line 1327 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1328 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new DefaultCollationDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (4)].sval)) );
     }
@@ -3329,7 +3329,7 @@
   case 49:
 
 /* Line 690 of lalr1.cc  */
-#line 1335 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1336 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new BaseURIDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (3)].sval)) );
     }
@@ -3338,7 +3338,7 @@
   case 50:
 
 /* Line 690 of lalr1.cc  */
-#line 1343 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1344 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new ConstructionDecl(LOC((yyloc)), StaticContextConsts::cons_preserve);
     }
@@ -3347,7 +3347,7 @@
   case 51:
 
 /* Line 690 of lalr1.cc  */
-#line 1348 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1349 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new ConstructionDecl(LOC((yyloc)), StaticContextConsts::cons_strip);
     }
@@ -3356,7 +3356,7 @@
   case 52:
 
 /* Line 690 of lalr1.cc  */
-#line 1356 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1357 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new OrderingModeDecl(LOC((yyloc)), StaticContextConsts::ordered);
     }
@@ -3365,7 +3365,7 @@
   case 53:
 
 /* Line 690 of lalr1.cc  */
-#line 1361 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1362 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new OrderingModeDecl(LOC((yyloc)), StaticContextConsts::unordered);
     }
@@ -3374,7 +3374,7 @@
   case 54:
 
 /* Line 690 of lalr1.cc  */
-#line 1369 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1370 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new EmptyOrderDecl(LOC((yyloc)), StaticContextConsts::empty_greatest);
     }
@@ -3383,7 +3383,7 @@
   case 55:
 
 /* Line 690 of lalr1.cc  */
-#line 1374 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1375 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new EmptyOrderDecl(LOC((yyloc)), StaticContextConsts::empty_least);
     }
@@ -3392,7 +3392,7 @@
   case 56:
 
 /* Line 690 of lalr1.cc  */
-#line 1382 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1383 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CopyNamespacesDecl(LOC((yyloc)), true, true);
     }
@@ -3401,7 +3401,7 @@
   case 57:
 
 /* Line 690 of lalr1.cc  */
-#line 1387 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1388 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CopyNamespacesDecl(LOC((yyloc)), true, false);
     }
@@ -3410,7 +3410,7 @@
   case 58:
 
 /* Line 690 of lalr1.cc  */
-#line 1392 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1393 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CopyNamespacesDecl(LOC((yyloc)), false, true);
     }
@@ -3419,7 +3419,7 @@
   case 59:
 
 /* Line 690 of lalr1.cc  */
-#line 1397 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1398 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CopyNamespacesDecl(LOC((yyloc)), false, false);
     }
@@ -3428,7 +3428,7 @@
   case 62:
 
 /* Line 690 of lalr1.cc  */
-#line 1410 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1411 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yyval.node); // to prevent the Bison warning
       error((yylocation_stack_[(3) - (2)]), "syntax error, \"import\" should be followed by either \"schema\" or \"module\".");
@@ -3439,7 +3439,7 @@
   case 63:
 
 /* Line 690 of lalr1.cc  */
-#line 1420 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1421 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new SchemaImport( LOC((yyloc)), NULL, SYMTAB((yysemantic_stack_[(3) - (3)].sval)), NULL );
     }
@@ -3448,7 +3448,7 @@
   case 64:
 
 /* Line 690 of lalr1.cc  */
-#line 1425 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1426 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new SchemaImport(LOC((yyloc)),
                             dynamic_cast<SchemaPrefix*>((yysemantic_stack_[(4) - (3)].node)),
@@ -3460,7 +3460,7 @@
   case 65:
 
 /* Line 690 of lalr1.cc  */
-#line 1433 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1434 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new SchemaImport(LOC((yyloc)),
                             NULL,
@@ -3472,7 +3472,7 @@
   case 66:
 
 /* Line 690 of lalr1.cc  */
-#line 1441 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1442 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new SchemaImport(LOC((yyloc)),
                             dynamic_cast<SchemaPrefix*>((yysemantic_stack_[(6) - (3)].node)),
@@ -3484,7 +3484,7 @@
   case 67:
 
 /* Line 690 of lalr1.cc  */
-#line 1452 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1453 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       URILiteralList *ull = new URILiteralList( LOC((yyloc)));
       ull->push_back( SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
@@ -3495,7 +3495,7 @@
   case 68:
 
 /* Line 690 of lalr1.cc  */
-#line 1459 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1460 "/home/mbrantner/zorba/sandbox/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)) );
@@ -3507,7 +3507,7 @@
   case 69:
 
 /* Line 690 of lalr1.cc  */
-#line 1470 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1471 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new SchemaPrefix( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (2)].sval)) );
     }
@@ -3516,7 +3516,7 @@
   case 70:
 
 /* Line 690 of lalr1.cc  */
-#line 1475 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1476 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new SchemaPrefix( LOC((yyloc)), true );
     }
@@ -3525,7 +3525,7 @@
   case 71:
 
 /* Line 690 of lalr1.cc  */
-#line 1483 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1484 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new ModuleImport(LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (3)].sval)), NULL);
 
@@ -3536,7 +3536,7 @@
   case 72:
 
 /* Line 690 of lalr1.cc  */
-#line 1490 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1491 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new ModuleImport(LOC((yyloc)), SYMTAB((yysemantic_stack_[(6) - (4)].sval)), SYMTAB((yysemantic_stack_[(6) - (6)].sval)), NULL);
 
@@ -3547,7 +3547,7 @@
   case 73:
 
 /* Line 690 of lalr1.cc  */
-#line 1497 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1498 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new ModuleImport(LOC((yyloc)),
                             SYMTAB((yysemantic_stack_[(5) - (3)].sval)),
@@ -3560,7 +3560,7 @@
   case 74:
 
 /* Line 690 of lalr1.cc  */
-#line 1506 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1507 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new ModuleImport(LOC((yyloc)),
                             SYMTAB((yysemantic_stack_[(8) - (4)].sval)),
@@ -3574,7 +3574,7 @@
   case 75:
 
 /* Line 690 of lalr1.cc  */
-#line 1519 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1520 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new NamespaceDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(5) - (3)].sval)), SYMTAB((yysemantic_stack_[(5) - (5)].sval)) );
     }
@@ -3583,7 +3583,7 @@
   case 76:
 
 /* Line 690 of lalr1.cc  */
-#line 1527 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1528 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new DefaultNamespaceDecl(LOC((yyloc)),
                                     ParseConstants::ns_element_default,
@@ -3594,7 +3594,7 @@
   case 77:
 
 /* Line 690 of lalr1.cc  */
-#line 1534 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1535 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new DefaultNamespaceDecl(LOC((yyloc)),
                                     ParseConstants::ns_function_default,
@@ -3605,7 +3605,7 @@
   case 78:
 
 /* Line 690 of lalr1.cc  */
-#line 1544 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1545 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       VFO_DeclList *vdl = new VFO_DeclList( LOC((yyloc)));
       vdl->push_back( (yysemantic_stack_[(1) - (1)].node) );
@@ -3616,7 +3616,7 @@
   case 79:
 
 /* Line 690 of lalr1.cc  */
-#line 1551 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1552 "/home/mbrantner/zorba/sandbox/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);
@@ -3626,7 +3626,7 @@
   case 80:
 
 /* Line 690 of lalr1.cc  */
-#line 1558 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1559 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node); (yyval.node) = (yysemantic_stack_[(3) - (3)].node); // to prevent the Bison warning
       (yylocation_stack_[(3) - (1)]).step();
@@ -3638,7 +3638,7 @@
   case 89:
 
 /* Line 690 of lalr1.cc  */
-#line 1581 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1582 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new DecimalFormatNode(LOC((yyloc)), (yysemantic_stack_[(4) - (4)].vstrpair));
       delete (yysemantic_stack_[(4) - (4)].vstrpair);
@@ -3648,7 +3648,7 @@
   case 90:
 
 /* Line 690 of lalr1.cc  */
-#line 1587 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1588 "/home/mbrantner/zorba/sandbox/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);
@@ -3658,7 +3658,7 @@
   case 91:
 
 /* Line 690 of lalr1.cc  */
-#line 1596 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1597 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.vstrpair) = new vector<string_pair_t>();
       (yyval.vstrpair)->push_back( *(yysemantic_stack_[(1) - (1)].strpair) );
@@ -3669,7 +3669,7 @@
   case 92:
 
 /* Line 690 of lalr1.cc  */
-#line 1603 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1604 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yysemantic_stack_[(2) - (1)].vstrpair)->push_back( *(yysemantic_stack_[(2) - (2)].strpair) );
       delete (yysemantic_stack_[(2) - (2)].strpair);
@@ -3680,7 +3680,7 @@
   case 93:
 
 /* Line 690 of lalr1.cc  */
-#line 1613 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1614 "/home/mbrantner/zorba/sandbox/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() );
@@ -3691,77 +3691,77 @@
   case 94:
 
 /* Line 690 of lalr1.cc  */
-#line 1622 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1623 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.strval) = "decimal-separator"; }
     break;
 
   case 95:
 
 /* Line 690 of lalr1.cc  */
-#line 1623 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1624 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.strval) = "digit"; }
     break;
 
   case 96:
 
 /* Line 690 of lalr1.cc  */
-#line 1624 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1625 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.strval) = "grouping-separator"; }
     break;
 
   case 97:
 
 /* Line 690 of lalr1.cc  */
-#line 1625 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1626 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.strval) = "infinty"; }
     break;
 
   case 98:
 
 /* Line 690 of lalr1.cc  */
-#line 1626 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1627 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.strval) = "minus-sign"; }
     break;
 
   case 99:
 
 /* Line 690 of lalr1.cc  */
-#line 1627 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1628 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.strval) = "NaN"; }
     break;
 
   case 100:
 
 /* Line 690 of lalr1.cc  */
-#line 1628 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1629 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.strval) = "pattern-separator"; }
     break;
 
   case 101:
 
 /* Line 690 of lalr1.cc  */
-#line 1629 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1630 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.strval) = "percent"; }
     break;
 
   case 102:
 
 /* Line 690 of lalr1.cc  */
-#line 1630 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1631 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.strval) = "per-mille"; }
     break;
 
   case 103:
 
 /* Line 690 of lalr1.cc  */
-#line 1631 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1632 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.strval) = "zero-digit"; }
     break;
 
   case 104:
 
 /* Line 690 of lalr1.cc  */
-#line 1637 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1638 "/home/mbrantner/zorba/sandbox/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)));
     }
@@ -3770,7 +3770,7 @@
   case 105:
 
 /* Line 690 of lalr1.cc  */
-#line 1645 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1646 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new FTOptionDecl( LOC((yyloc)), dynamic_cast<FTMatchOptions*>((yysemantic_stack_[(3) - (3)].node)) );
     }
@@ -3779,7 +3779,7 @@
   case 106:
 
 /* Line 690 of lalr1.cc  */
-#line 1653 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1654 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(4) - (4)].node);
     }
@@ -3788,7 +3788,7 @@
   case 107:
 
 /* Line 690 of lalr1.cc  */
-#line 1661 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1662 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       CtxItemDecl* d = dynamic_cast<CtxItemDecl*>((yysemantic_stack_[(3) - (3)].node));
       d->theType = (yysemantic_stack_[(3) - (2)].node);
@@ -3799,7 +3799,7 @@
   case 108:
 
 /* Line 690 of lalr1.cc  */
-#line 1668 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1669 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -3808,7 +3808,7 @@
   case 109:
 
 /* Line 690 of lalr1.cc  */
-#line 1676 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1677 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       CtxItemDecl* d = dynamic_cast<CtxItemDecl*>((yysemantic_stack_[(1) - (1)].node));
       d->theIsExternal = false;
@@ -3819,7 +3819,7 @@
   case 110:
 
 /* Line 690 of lalr1.cc  */
-#line 1683 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1684 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CtxItemDecl(LOC((yyloc)), NULL);
     }
@@ -3828,7 +3828,7 @@
   case 111:
 
 /* Line 690 of lalr1.cc  */
-#line 1688 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1689 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
     }
@@ -3837,7 +3837,7 @@
   case 112:
 
 /* Line 690 of lalr1.cc  */
-#line 1696 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1697 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CtxItemDecl(LOC((yyloc)), (yysemantic_stack_[(2) - (2)].expr));
     }
@@ -3846,7 +3846,7 @@
   case 113:
 
 /* Line 690 of lalr1.cc  */
-#line 1704 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1705 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       std::auto_ptr<VarNameAndType> nt(dynamic_cast<VarNameAndType *>((yysemantic_stack_[(4) - (2)].varnametype)));
 
@@ -3864,7 +3864,7 @@
   case 114:
 
 /* Line 690 of lalr1.cc  */
-#line 1718 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1719 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       std::auto_ptr<VarNameAndType> nt(dynamic_cast<VarNameAndType *>((yysemantic_stack_[(3) - (2)].varnametype)));
 
@@ -3882,7 +3882,7 @@
   case 115:
 
 /* Line 690 of lalr1.cc  */
-#line 1732 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1733 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       std::auto_ptr<VarNameAndType> nt(dynamic_cast<VarNameAndType *>((yysemantic_stack_[(5) - (2)].varnametype)));
 
@@ -3900,7 +3900,7 @@
   case 116:
 
 /* Line 690 of lalr1.cc  */
-#line 1749 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1750 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.varnametype) = new VarNameAndType(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)), NULL, NULL);
     }
@@ -3909,7 +3909,7 @@
   case 117:
 
 /* Line 690 of lalr1.cc  */
-#line 1754 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1755 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.varnametype) = new VarNameAndType(LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)),
@@ -3921,7 +3921,7 @@
   case 118:
 
 /* Line 690 of lalr1.cc  */
-#line 1762 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1763 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.varnametype) = new VarNameAndType(LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(4) - (4)].expr)),
@@ -3933,7 +3933,7 @@
   case 119:
 
 /* Line 690 of lalr1.cc  */
-#line 1770 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1771 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.varnametype) = new VarNameAndType(LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(5) - (4)].expr)),
@@ -3945,7 +3945,7 @@
   case 120:
 
 /* Line 690 of lalr1.cc  */
-#line 1781 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1782 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AnnotationListParsenode(LOC((yyloc)), static_cast<AnnotationParsenode*>((yysemantic_stack_[(1) - (1)].node)));
     }
@@ -3954,7 +3954,7 @@
   case 121:
 
 /* Line 690 of lalr1.cc  */
-#line 1786 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1787 "/home/mbrantner/zorba/sandbox/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);
@@ -3964,7 +3964,7 @@
   case 122:
 
 /* Line 690 of lalr1.cc  */
-#line 1795 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1796 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AnnotationParsenode(LOC((yyloc)), new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval))), NULL);
     }
@@ -3973,7 +3973,7 @@
   case 123:
 
 /* Line 690 of lalr1.cc  */
-#line 1800 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1801 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AnnotationParsenode(LOC((yyloc)),
                                    new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (1)].sval))),
@@ -3984,7 +3984,7 @@
   case 124:
 
 /* Line 690 of lalr1.cc  */
-#line 1807 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1808 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AnnotationParsenode(LOC((yyloc)), new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)), true), NULL);
     }
@@ -3993,7 +3993,7 @@
   case 125:
 
 /* Line 690 of lalr1.cc  */
-#line 1812 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1813 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AnnotationParsenode(LOC((yyloc)),
                                    new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (1)].sval)), true),
@@ -4004,7 +4004,7 @@
   case 126:
 
 /* Line 690 of lalr1.cc  */
-#line 1822 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1823 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AnnotationLiteralListParsenode(LOC((yyloc)), (yysemantic_stack_[(1) - (1)].expr));
     }
@@ -4013,7 +4013,7 @@
   case 127:
 
 /* Line 690 of lalr1.cc  */
-#line 1827 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1828 "/home/mbrantner/zorba/sandbox/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);
@@ -4023,7 +4023,7 @@
   case 128:
 
 /* Line 690 of lalr1.cc  */
-#line 1836 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1837 "/home/mbrantner/zorba/sandbox/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);
@@ -4033,7 +4033,7 @@
   case 129:
 
 /* Line 690 of lalr1.cc  */
-#line 1842 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1843 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       FunctionDecl* fdecl = static_cast<FunctionDecl*>((yysemantic_stack_[(3) - (3)].node));
 
@@ -4047,7 +4047,7 @@
   case 130:
 
 /* Line 690 of lalr1.cc  */
-#line 1855 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1856 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -4056,7 +4056,7 @@
   case 131:
 
 /* Line 690 of lalr1.cc  */
-#line 1860 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1861 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -4065,7 +4065,7 @@
   case 132:
 
 /* Line 690 of lalr1.cc  */
-#line 1868 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1869 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new FunctionDecl(LOC((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -4081,7 +4081,7 @@
   case 133:
 
 /* Line 690 of lalr1.cc  */
-#line 1879 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1880 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new FunctionDecl(LOC ((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -4097,7 +4097,7 @@
   case 134:
 
 /* Line 690 of lalr1.cc  */
-#line 1894 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1895 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new FunctionDecl(LOC ((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(5) - (3)].expr)),
@@ -4113,7 +4113,7 @@
   case 135:
 
 /* Line 690 of lalr1.cc  */
-#line 1906 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1907 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new FunctionDecl(LOC((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(5) - (3)].expr)),
@@ -4129,7 +4129,7 @@
   case 136:
 
 /* Line 690 of lalr1.cc  */
-#line 1921 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1922 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.fnsig) = new FunctionSig(NULL);
     }
@@ -4138,7 +4138,7 @@
   case 137:
 
 /* Line 690 of lalr1.cc  */
-#line 1926 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1927 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.fnsig) = new FunctionSig(dynamic_cast<ParamList*>((yysemantic_stack_[(3) - (2)].node)));
     }
@@ -4147,7 +4147,7 @@
   case 138:
 
 /* Line 690 of lalr1.cc  */
-#line 1931 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.fnsig) = new FunctionSig(NULL, dynamic_cast<SequenceType*>((yysemantic_stack_[(4) - (4)].node)));
     }
@@ -4156,7 +4156,7 @@
   case 139:
 
 /* Line 690 of lalr1.cc  */
-#line 1936 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1937 "/home/mbrantner/zorba/sandbox/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)));
     }
@@ -4165,7 +4165,7 @@
   case 140:
 
 /* Line 690 of lalr1.cc  */
-#line 1944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1945 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       ParamList *pl = new ParamList( LOC((yyloc)) );
       pl->push_back( dynamic_cast<Param*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -4176,7 +4176,7 @@
   case 141:
 
 /* Line 690 of lalr1.cc  */
-#line 1951 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1952 "/home/mbrantner/zorba/sandbox/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)) );
@@ -4188,7 +4188,7 @@
   case 142:
 
 /* Line 690 of lalr1.cc  */
-#line 1962 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1963 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new Param(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)), NULL);
     }
@@ -4197,7 +4197,7 @@
   case 143:
 
 /* Line 690 of lalr1.cc  */
-#line 1967 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1968 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new Param(LOC((yyloc)),
                      static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)),
@@ -4208,7 +4208,7 @@
   case 144:
 
 /* Line 690 of lalr1.cc  */
-#line 1977 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1978 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CollectionDecl( LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)),
@@ -4222,7 +4222,7 @@
   case 145:
 
 /* Line 690 of lalr1.cc  */
-#line 1986 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1987 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CollectionDecl( LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(5) - (3)].expr)),
@@ -4236,7 +4236,7 @@
   case 146:
 
 /* Line 690 of lalr1.cc  */
-#line 1995 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 1996 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CollectionDecl( LOC((yyloc)),
                                static_cast<QName*>((yysemantic_stack_[(4) - (4)].expr)),
@@ -4250,7 +4250,7 @@
   case 147:
 
 /* Line 690 of lalr1.cc  */
-#line 2004 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2005 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CollectionDecl( LOC((yyloc)),
                                static_cast<QName*>((yysemantic_stack_[(6) - (4)].expr)),
@@ -4264,7 +4264,7 @@
   case 148:
 
 /* Line 690 of lalr1.cc  */
-#line 2016 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2017 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = static_cast<parsenode*>(new SequenceType(LOC((yyloc)), (yysemantic_stack_[(1) - (1)].node), NULL));
     }
@@ -4273,7 +4273,7 @@
   case 149:
 
 /* Line 690 of lalr1.cc  */
-#line 2020 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2021 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = static_cast<parsenode*>(new SequenceType(LOC((yyloc)),
                                                     (yysemantic_stack_[(2) - (1)].node),
@@ -4284,7 +4284,7 @@
   case 150:
 
 /* Line 690 of lalr1.cc  */
-#line 2026 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2027 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = static_cast<parsenode*>(new SequenceType(LOC((yyloc)), (yysemantic_stack_[(1) - (1)].node), NULL));
     }
@@ -4293,7 +4293,7 @@
   case 151:
 
 /* Line 690 of lalr1.cc  */
-#line 2030 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2031 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = static_cast<parsenode*>(new SequenceType(LOC((yyloc)),
                                                     (yysemantic_stack_[(2) - (1)].node),
@@ -4305,7 +4305,7 @@
   case 152:
 
 /* Line 690 of lalr1.cc  */
-#line 2040 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2041 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AST_IndexDecl(LOC((yyloc)),
                              static_cast<QName*>((yysemantic_stack_[(8) - (3)].expr)),
@@ -4320,7 +4320,7 @@
   case 153:
 
 /* Line 690 of lalr1.cc  */
-#line 2050 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2051 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new AST_IndexDecl(LOC((yyloc)),
                              static_cast<QName*>((yysemantic_stack_[(9) - (4)].expr)),
@@ -4335,7 +4335,7 @@
   case 154:
 
 /* Line 690 of lalr1.cc  */
-#line 2063 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2064 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       IndexKeyList* keyList = new IndexKeyList(LOC((yyloc)));
       keyList->addKeySpec(dynamic_cast<IndexKeySpec*>((yysemantic_stack_[(1) - (1)].node)));
@@ -4346,7 +4346,7 @@
   case 155:
 
 /* Line 690 of lalr1.cc  */
-#line 2069 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2070 "/home/mbrantner/zorba/sandbox/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);
@@ -4356,7 +4356,7 @@
   case 156:
 
 /* Line 690 of lalr1.cc  */
-#line 2078 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2079 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new IndexKeySpec(LOC((yyloc)), (yysemantic_stack_[(1) - (1)].expr), NULL, NULL);
     }
@@ -4365,7 +4365,7 @@
   case 157:
 
 /* Line 690 of lalr1.cc  */
-#line 2083 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2084 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new IndexKeySpec(LOC((yyloc)),
                             (yysemantic_stack_[(2) - (1)].expr),
@@ -4377,7 +4377,7 @@
   case 158:
 
 /* Line 690 of lalr1.cc  */
-#line 2090 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2091 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new IndexKeySpec(LOC((yyloc)),
                             (yysemantic_stack_[(2) - (1)].expr),
@@ -4389,7 +4389,7 @@
   case 159:
 
 /* Line 690 of lalr1.cc  */
-#line 2097 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2098 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new IndexKeySpec(LOC((yyloc)),
                             (yysemantic_stack_[(3) - (1)].expr),
@@ -4401,7 +4401,7 @@
   case 160:
 
 /* Line 690 of lalr1.cc  */
-#line 2109 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2110 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new ICCollSimpleCheck(LOC((yyloc)),
                                  static_cast<QName*>((yysemantic_stack_[(11) - (4)].expr)),
@@ -4414,7 +4414,7 @@
   case 161:
 
 /* Line 690 of lalr1.cc  */
-#line 2119 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2120 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new ICCollUniqueKeyCheck(LOC((yyloc)),
                                     static_cast<QName*>((yysemantic_stack_[(14) - (4)].expr)),
@@ -4427,7 +4427,7 @@
   case 162:
 
 /* Line 690 of lalr1.cc  */
-#line 2129 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2130 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new ICCollForeachNode(LOC((yyloc)),
                                  static_cast<QName*>((yysemantic_stack_[(13) - (4)].expr)),
@@ -4440,7 +4440,7 @@
   case 163:
 
 /* Line 690 of lalr1.cc  */
-#line 2140 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2141 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new ICForeignKey( LOC((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(22) - (4)].expr)),
@@ -4456,7 +4456,7 @@
   case 164:
 
 /* Line 690 of lalr1.cc  */
-#line 2156 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2157 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       if ((yysemantic_stack_[(1) - (1)].expr) == NULL)
       {
@@ -4477,7 +4477,7 @@
   case 165:
 
 /* Line 690 of lalr1.cc  */
-#line 2176 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2177 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4486,7 +4486,7 @@
   case 166:
 
 /* Line 690 of lalr1.cc  */
-#line 2180 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2181 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4495,7 +4495,7 @@
   case 167:
 
 /* Line 690 of lalr1.cc  */
-#line 2184 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2185 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) =  NULL;
     }
@@ -4504,7 +4504,7 @@
   case 168:
 
 /* Line 690 of lalr1.cc  */
-#line 2192 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2193 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4513,7 +4513,7 @@
   case 169:
 
 /* Line 690 of lalr1.cc  */
-#line 2196 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2197 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4522,7 +4522,7 @@
   case 170:
 
 /* Line 690 of lalr1.cc  */
-#line 2200 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2201 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) =  new BlockBody(LOC((yyloc)));
     }
@@ -4531,7 +4531,7 @@
   case 171:
 
 /* Line 690 of lalr1.cc  */
-#line 2208 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2209 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4540,7 +4540,7 @@
   case 172:
 
 /* Line 690 of lalr1.cc  */
-#line 2213 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2214 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       BlockBody* blk = static_cast<BlockBody*>((yysemantic_stack_[(2) - (1)].expr));
 
@@ -4553,7 +4553,7 @@
   case 173:
 
 /* Line 690 of lalr1.cc  */
-#line 2225 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2226 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       BlockBody* blk = new BlockBody(LOC((yyloc)));
       blk->add((yysemantic_stack_[(1) - (1)].expr));
@@ -4564,7 +4564,7 @@
   case 174:
 
 /* Line 690 of lalr1.cc  */
-#line 2232 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2233 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       BlockBody* blk = static_cast<BlockBody*>((yysemantic_stack_[(2) - (1)].expr));
 
@@ -4577,7 +4577,7 @@
   case 175:
 
 /* Line 690 of lalr1.cc  */
-#line 2242 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2243 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(4) - (1)].expr); // to prevent the Bison warning
       (yyval.expr) = (yysemantic_stack_[(4) - (2)].expr); // to prevent the Bison warning
@@ -4593,7 +4593,7 @@
   case 189:
 
 /* Line 690 of lalr1.cc  */
-#line 2275 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2276 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
     }
@@ -4602,14 +4602,9 @@
   case 190:
 
 /* Line 690 of lalr1.cc  */
-#line 2283 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2284 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
-      BlockBody* block = dynamic_cast<BlockBody*>((yysemantic_stack_[(3) - (2)].expr));
-      if ((yysemantic_stack_[(3) - (2)].expr) == NULL || (block != NULL && block->isEmpty()))
-      {        
-        (yyval.expr) = new JSONDirectObjectConstructor(LOC((yyloc)));
-      }
-      else if (block == NULL)
+      if (dynamic_cast<BlockBody*>((yysemantic_stack_[(3) - (2)].expr)) == NULL)
       {
         BlockBody* blk = new BlockBody(LOC((yyloc)));
         blk->add((yysemantic_stack_[(3) - (2)].expr));
@@ -4625,7 +4620,7 @@
   case 191:
 
 /* Line 690 of lalr1.cc  */
-#line 2305 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2301 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
     }
@@ -4634,7 +4629,7 @@
   case 192:
 
 /* Line 690 of lalr1.cc  */
-#line 2313 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2309 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(2) - (1)].expr);
     }
@@ -4643,7 +4638,7 @@
   case 193:
 
 /* Line 690 of lalr1.cc  */
-#line 2321 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2317 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       VarDeclStmt* vdecl = static_cast<VarDeclStmt*>((yysemantic_stack_[(3) - (1)].expr));
       vdecl->add((yysemantic_stack_[(3) - (3)].node));
@@ -4654,7 +4649,7 @@
   case 194:
 
 /* Line 690 of lalr1.cc  */
-#line 2328 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2324 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       VarDeclStmt* vdecl = new VarDeclStmt(LOC((yyloc)), NULL);
       vdecl->add((yysemantic_stack_[(2) - (2)].node));
@@ -4665,7 +4660,7 @@
   case 195:
 
 /* Line 690 of lalr1.cc  */
-#line 2335 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2331 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       VarDeclStmt* vdecl = new VarDeclStmt(LOC((yyloc)),
                                            static_cast<AnnotationListParsenode*>((yysemantic_stack_[(3) - (1)].node)));
@@ -4677,7 +4672,7 @@
   case 196:
 
 /* Line 690 of lalr1.cc  */
-#line 2346 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2342 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       LocalVarDecl* vd = new LocalVarDecl(LOC((yyloc)),
                                           static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)),
@@ -4691,7 +4686,7 @@
   case 197:
 
 /* Line 690 of lalr1.cc  */
-#line 2355 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2351 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       LocalVarDecl* vd = new LocalVarDecl(LOC((yyloc)),
                                           static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)),
@@ -4705,7 +4700,7 @@
   case 198:
 
 /* Line 690 of lalr1.cc  */
-#line 2364 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2360 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       LocalVarDecl* vd = new LocalVarDecl(LOC((yyloc)),
                                           static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -4719,7 +4714,7 @@
   case 199:
 
 /* Line 690 of lalr1.cc  */
-#line 2373 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2369 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       LocalVarDecl* vd = new LocalVarDecl(LOC((yyloc)),
                                           static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -4733,7 +4728,7 @@
   case 200:
 
 /* Line 690 of lalr1.cc  */
-#line 2386 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2382 "/home/mbrantner/zorba/sandbox/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));
     }
@@ -4742,7 +4737,7 @@
   case 201:
 
 /* Line 690 of lalr1.cc  */
-#line 2394 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2390 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new ApplyExpr(LOC((yyloc)), (yysemantic_stack_[(2) - (1)].expr));
     }
@@ -4751,7 +4746,7 @@
   case 202:
 
 /* Line 690 of lalr1.cc  */
-#line 2402 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2398 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new ExitExpr(LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr));
     }
@@ -4760,7 +4755,7 @@
   case 203:
 
 /* Line 690 of lalr1.cc  */
-#line 2410 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2406 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       BlockBody* bb = dynamic_cast<BlockBody *>((yysemantic_stack_[(5) - (5)].expr));
       if (bb == NULL)
@@ -4776,7 +4771,7 @@
   case 204:
 
 /* Line 690 of lalr1.cc  */
-#line 2425 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2421 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new FlowCtlStatement(LOC((yyloc)), FlowCtlStatement::BREAK);
     }
@@ -4785,7 +4780,7 @@
   case 205:
 
 /* Line 690 of lalr1.cc  */
-#line 2430 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2426 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new FlowCtlStatement( LOC((yyloc)), FlowCtlStatement::CONTINUE );
     }
@@ -4794,7 +4789,7 @@
   case 206:
 
 /* Line 690 of lalr1.cc  */
-#line 2438 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2434 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       ReturnExpr* re = dynamic_cast<ReturnExpr*>((yysemantic_stack_[(2) - (2)].expr));
       (yyval.expr) = new FLWORExpr(LOC((yyloc)),
@@ -4809,7 +4804,7 @@
   case 207:
 
 /* Line 690 of lalr1.cc  */
-#line 2452 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2448 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       exprnode* retExpr = (yysemantic_stack_[(2) - (2)].expr);
 
@@ -4827,7 +4822,7 @@
   case 208:
 
 /* Line 690 of lalr1.cc  */
-#line 2469 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2465 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       exprnode* thenExpr = (yysemantic_stack_[(8) - (6)].expr);
       exprnode* elseExpr = (yysemantic_stack_[(8) - (8)].expr);
@@ -4853,7 +4848,7 @@
   case 209:
 
 /* Line 690 of lalr1.cc  */
-#line 2494 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2490 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new TryExpr(LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr), (yysemantic_stack_[(3) - (3)].expr));
     }
@@ -4862,7 +4857,7 @@
   case 210:
 
 /* Line 690 of lalr1.cc  */
-#line 2502 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2498 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       CatchListExpr* cle = new CatchListExpr( LOC((yyloc)) );
       cle->push_back( static_cast<CatchExpr*>((yysemantic_stack_[(1) - (1)].expr)) );
@@ -4873,7 +4868,7 @@
   case 211:
 
 /* Line 690 of lalr1.cc  */
-#line 2509 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2505 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       CatchListExpr *cle = dynamic_cast<CatchListExpr*>((yysemantic_stack_[(2) - (1)].expr));
       if ( cle )
@@ -4885,7 +4880,7 @@
   case 212:
 
 /* Line 690 of lalr1.cc  */
-#line 2520 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2516 "/home/mbrantner/zorba/sandbox/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);
@@ -4895,7 +4890,7 @@
   case 213:
 
 /* Line 690 of lalr1.cc  */
-#line 2529 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2525 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new BlockBody(LOC((yyloc)));
     }
@@ -4904,7 +4899,7 @@
   case 214:
 
 /* Line 690 of lalr1.cc  */
-#line 2536 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2532 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4913,7 +4908,7 @@
   case 215:
 
 /* Line 690 of lalr1.cc  */
-#line 2541 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2537 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       Expr* expr = dynamic_cast<Expr*>((yysemantic_stack_[(3) - (1)].expr));
       if ( !expr )
@@ -4929,7 +4924,7 @@
   case 216:
 
 /* Line 690 of lalr1.cc  */
-#line 2554 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2550 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(3) - (1)].expr); // to prevent the Bison warning
       (yyval.expr) = (yysemantic_stack_[(3) - (3)].expr); // to prevent the Bison warning
@@ -4947,7 +4942,7 @@
   case 235:
 
 /* Line 690 of lalr1.cc  */
-#line 2601 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2597 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       ReturnExpr *re = dynamic_cast<ReturnExpr*>((yysemantic_stack_[(2) - (2)].expr));
       (yyval.expr) = new FLWORExpr(LOC((yyloc)),
@@ -4962,7 +4957,7 @@
   case 236:
 
 /* Line 690 of lalr1.cc  */
-#line 2615 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2611 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new ReturnExpr( LOC((yyloc)), (yysemantic_stack_[(2) - (2)].expr) );
     }
@@ -4971,7 +4966,7 @@
   case 237:
 
 /* Line 690 of lalr1.cc  */
-#line 2623 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2619 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.strval) = parser::the_sliding;
     }
@@ -4980,7 +4975,7 @@
   case 238:
 
 /* Line 690 of lalr1.cc  */
-#line 2628 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2624 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.strval) = parser::the_tumbling;
     }
@@ -4989,7 +4984,7 @@
   case 239:
 
 /* Line 690 of lalr1.cc  */
-#line 2636 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2632 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.strval) = parser::the_start;
     }
@@ -4998,7 +4993,7 @@
   case 240:
 
 /* Line 690 of lalr1.cc  */
-#line 2641 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2637 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.strval) = parser::the_end;
     }
@@ -5007,7 +5002,7 @@
   case 241:
 
 /* Line 690 of lalr1.cc  */
-#line 2646 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2642 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
     (yyval.strval) = parser::the_only_end;
   }
@@ -5016,7 +5011,7 @@
   case 242:
 
 /* Line 690 of lalr1.cc  */
-#line 2654 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2650 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new FLWORWinCond(LOC((yyloc)),
                             dynamic_cast<WindowVars*>((yysemantic_stack_[(4) - (2)].node)),
@@ -5029,7 +5024,7 @@
   case 243:
 
 /* Line 690 of lalr1.cc  */
-#line 2663 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2659 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new FLWORWinCond(LOC((yyloc)),
                             NULL,
@@ -5042,7 +5037,7 @@
   case 244:
 
 /* Line 690 of lalr1.cc  */
-#line 2675 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2671 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new WindowClause (LOC ((yyloc)),
                              ((yysemantic_stack_[(5) - (2)].strval) == parser::the_tumbling ?
@@ -5057,7 +5052,7 @@
   case 245:
 
 /* Line 690 of lalr1.cc  */
-#line 2685 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2681 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new WindowClause (LOC ((yyloc)),
                              ((yysemantic_stack_[(4) - (2)].strval) == parser::the_tumbling ?
@@ -5071,7 +5066,7 @@
   case 246:
 
 /* Line 690 of lalr1.cc  */
-#line 2698 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2694 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CountClause(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)));
     }
@@ -5080,7 +5075,7 @@
   case 255:
 
 /* Line 690 of lalr1.cc  */
-#line 2722 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2718 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       FLWORClauseList *fcl = new FLWORClauseList( LOC((yyloc)) );
       fcl->push_back( dynamic_cast<FLWORClause*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5091,7 +5086,7 @@
   case 256:
 
 /* Line 690 of lalr1.cc  */
-#line 2729 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2725 "/home/mbrantner/zorba/sandbox/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)) );
@@ -5102,7 +5097,7 @@
   case 257:
 
 /* Line 690 of lalr1.cc  */
-#line 2739 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2735 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new ForClause(LOC((yyloc)), dynamic_cast<VarInDeclList*>((yysemantic_stack_[(3) - (3)].node)));
     }
@@ -5111,7 +5106,7 @@
   case 258:
 
 /* Line 690 of lalr1.cc  */
-#line 2745 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2741 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(3) - (3)].node); // to prevent the Bison warning
       error((yylocation_stack_[(3) - (2)]), "syntax error, unexpected qualified name \""
@@ -5124,7 +5119,7 @@
   case 259:
 
 /* Line 690 of lalr1.cc  */
-#line 2754 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2750 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = NULL; // to prevent the Bison warning
       error((yylocation_stack_[(2) - (2)]), ""); // the error message is already set in the driver's parseError member
@@ -5135,7 +5130,7 @@
   case 261:
 
 /* Line 690 of lalr1.cc  */
-#line 2764 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2760 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       // this adds on shift-reduce conflict (probably with FTRange expression)
     }
@@ -5144,7 +5139,7 @@
   case 262:
 
 /* Line 690 of lalr1.cc  */
-#line 2772 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2768 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       VarInDeclList* vdl = new VarInDeclList( LOC((yyloc)) );
       vdl->push_back( dynamic_cast<VarInDecl*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5155,7 +5150,7 @@
   case 263:
 
 /* Line 690 of lalr1.cc  */
-#line 2779 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2775 "/home/mbrantner/zorba/sandbox/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)) );
@@ -5166,7 +5161,7 @@
   case 264:
 
 /* Line 690 of lalr1.cc  */
-#line 2787 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2783 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node); // to prevent the Bison warning
       error((yylocation_stack_[(3) - (3)]), "syntax error, unexpected QName \""
@@ -5179,7 +5174,7 @@
   case 265:
 
 /* Line 690 of lalr1.cc  */
-#line 2799 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2795 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(3) - (1)].expr)),
@@ -5194,7 +5189,7 @@
   case 266:
 
 /* Line 690 of lalr1.cc  */
-#line 2809 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2805 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (1)].expr)),
@@ -5209,7 +5204,7 @@
   case 267:
 
 /* Line 690 of lalr1.cc  */
-#line 2819 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2815 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
@@ -5224,7 +5219,7 @@
   case 268:
 
 /* Line 690 of lalr1.cc  */
-#line 2829 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2825 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(6) - (1)].expr)),
@@ -5239,7 +5234,7 @@
   case 269:
 
 /* Line 690 of lalr1.cc  */
-#line 2839 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2835 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
@@ -5254,7 +5249,7 @@
   case 270:
 
 /* Line 690 of lalr1.cc  */
-#line 2849 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2845 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(6) - (1)].expr)),
@@ -5269,7 +5264,7 @@
   case 271:
 
 /* Line 690 of lalr1.cc  */
-#line 2859 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2855 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (1)].expr)),
@@ -5284,7 +5279,7 @@
   case 272:
 
 /* Line 690 of lalr1.cc  */
-#line 2869 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2865 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(7) - (1)].expr)),
@@ -5299,7 +5294,7 @@
   case 273:
 
 /* Line 690 of lalr1.cc  */
-#line 2880 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2876 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
@@ -5313,7 +5308,7 @@
   case 274:
 
 /* Line 690 of lalr1.cc  */
-#line 2889 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2885 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (1)].expr)),
@@ -5328,7 +5323,7 @@
   case 275:
 
 /* Line 690 of lalr1.cc  */
-#line 2899 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2895 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC ((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (1)].expr)),
@@ -5343,7 +5338,7 @@
   case 276:
 
 /* Line 690 of lalr1.cc  */
-#line 2909 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2905 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC ((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(6) - (1)].expr)),
@@ -5358,7 +5353,7 @@
   case 277:
 
 /* Line 690 of lalr1.cc  */
-#line 2925 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2921 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new PositionalVar(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)));
     }
@@ -5367,7 +5362,7 @@
   case 278:
 
 /* Line 690 of lalr1.cc  */
-#line 2934 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2930 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new FTScoreVar(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)));
     }
@@ -5376,7 +5371,7 @@
   case 279:
 
 /* Line 690 of lalr1.cc  */
-#line 2943 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2939 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new LetClause( LOC((yyloc)), dynamic_cast<VarGetsDeclList*>((yysemantic_stack_[(2) - (2)].node)) );
         }
@@ -5385,7 +5380,7 @@
   case 280:
 
 /* Line 690 of lalr1.cc  */
-#line 2951 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2947 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             VarGetsDeclList *vgdl = new VarGetsDeclList( LOC((yyloc)) );
             vgdl->push_back( dynamic_cast<VarGetsDecl*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5396,7 +5391,7 @@
   case 281:
 
 /* Line 690 of lalr1.cc  */
-#line 2957 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2953 "/home/mbrantner/zorba/sandbox/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)) );
@@ -5407,7 +5402,7 @@
   case 282:
 
 /* Line 690 of lalr1.cc  */
-#line 2969 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2965 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarGetsDecl(LOC ((yyloc)),
                            static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -5420,7 +5415,7 @@
   case 283:
 
 /* Line 690 of lalr1.cc  */
-#line 2977 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2973 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarGetsDecl(LOC ((yyloc)),
                            static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -5433,7 +5428,7 @@
   case 284:
 
 /* Line 690 of lalr1.cc  */
-#line 2987 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2983 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarGetsDecl(LOC ((yyloc)),
                            dynamic_cast<FTScoreVar*>((yysemantic_stack_[(3) - (1)].node))->get_var_name(),
@@ -5446,7 +5441,7 @@
   case 285:
 
 /* Line 690 of lalr1.cc  */
-#line 2995 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 2991 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new VarGetsDecl(LOC ((yyloc)),
                            static_cast<QName*>((yysemantic_stack_[(6) - (2)].expr)),
@@ -5459,7 +5454,7 @@
   case 286:
 
 /* Line 690 of lalr1.cc  */
-#line 3007 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3003 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new WindowVarDecl(LOC ((yyloc)),
                              static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -5470,7 +5465,7 @@
   case 287:
 
 /* Line 690 of lalr1.cc  */
-#line 3013 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3009 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new WindowVarDecl(LOC ((yyloc)),
                              static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -5482,7 +5477,7 @@
   case 289:
 
 /* Line 690 of lalr1.cc  */
-#line 3026 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3022 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), NULL, static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)), NULL, NULL);
     }
@@ -5491,7 +5486,7 @@
   case 290:
 
 /* Line 690 of lalr1.cc  */
-#line 3030 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3026 "/home/mbrantner/zorba/sandbox/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)));
@@ -5501,7 +5496,7 @@
   case 291:
 
 /* Line 690 of lalr1.cc  */
-#line 3038 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3034 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), dynamic_cast<PositionalVar*>((yysemantic_stack_[(1) - (1)].node)), NULL, NULL, NULL);
     }
@@ -5510,7 +5505,7 @@
   case 292:
 
 /* Line 690 of lalr1.cc  */
-#line 3042 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3038 "/home/mbrantner/zorba/sandbox/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)));
@@ -5520,7 +5515,7 @@
   case 294:
 
 /* Line 690 of lalr1.cc  */
-#line 3051 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3047 "/home/mbrantner/zorba/sandbox/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)));
     }
@@ -5529,7 +5524,7 @@
   case 295:
 
 /* Line 690 of lalr1.cc  */
-#line 3055 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3051 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), NULL, NULL, NULL, static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)));
     }
@@ -5538,7 +5533,7 @@
   case 296:
 
 /* Line 690 of lalr1.cc  */
-#line 3059 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3055 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), NULL, NULL, static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)), NULL);
     }
@@ -5547,7 +5542,7 @@
   case 297:
 
 /* Line 690 of lalr1.cc  */
-#line 3069 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3065 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new WhereClause(LOC ((yyloc)), (yysemantic_stack_[(2) - (2)].expr));
     }
@@ -5556,7 +5551,7 @@
   case 298:
 
 /* Line 690 of lalr1.cc  */
-#line 3077 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3073 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new GroupByClause(LOC((yyloc)), dynamic_cast<GroupSpecList*>((yysemantic_stack_[(3) - (3)].node)));
     }
@@ -5565,7 +5560,7 @@
   case 299:
 
 /* Line 690 of lalr1.cc  */
-#line 3084 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3080 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       GroupSpecList* gsl = new GroupSpecList(LOC((yyloc)));
       gsl->push_back(static_cast<GroupSpec*>((yysemantic_stack_[(1) - (1)].node)));
@@ -5576,7 +5571,7 @@
   case 300:
 
 /* Line 690 of lalr1.cc  */
-#line 3090 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3086 "/home/mbrantner/zorba/sandbox/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)));
@@ -5587,7 +5582,7 @@
   case 301:
 
 /* Line 690 of lalr1.cc  */
-#line 3100 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3096 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)), NULL, NULL, NULL);
     }
@@ -5596,7 +5591,7 @@
   case 302:
 
 /* Line 690 of lalr1.cc  */
-#line 3104 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3100 "/home/mbrantner/zorba/sandbox/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);
     }
@@ -5605,7 +5600,7 @@
   case 303:
 
 /* Line 690 of lalr1.cc  */
-#line 3108 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3104 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -5618,7 +5613,7 @@
   case 304:
 
 /* Line 690 of lalr1.cc  */
-#line 3116 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3112 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(6) - (2)].expr)),
@@ -5631,7 +5626,7 @@
   case 305:
 
 /* Line 690 of lalr1.cc  */
-#line 3124 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3120 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -5644,7 +5639,7 @@
   case 306:
 
 /* Line 690 of lalr1.cc  */
-#line 3132 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3128 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)),
@@ -5657,7 +5652,7 @@
   case 307:
 
 /* Line 690 of lalr1.cc  */
-#line 3144 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3140 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new GroupCollationSpec( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)) );
     }
@@ -5666,7 +5661,7 @@
   case 308:
 
 /* Line 690 of lalr1.cc  */
-#line 3152 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3148 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderByClause(
                 LOC((yyloc)), dynamic_cast<OrderSpecList*>((yysemantic_stack_[(3) - (3)].node))
@@ -5677,7 +5672,7 @@
   case 309:
 
 /* Line 690 of lalr1.cc  */
-#line 3158 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3154 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderByClause(
                 LOC((yyloc)), dynamic_cast<OrderSpecList*>((yysemantic_stack_[(4) - (4)].node)), true
@@ -5688,7 +5683,7 @@
   case 310:
 
 /* Line 690 of lalr1.cc  */
-#line 3168 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3164 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             OrderSpecList *osl = new OrderSpecList( LOC((yyloc)) );
             osl->push_back( dynamic_cast<OrderSpec*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5699,7 +5694,7 @@
   case 311:
 
 /* Line 690 of lalr1.cc  */
-#line 3174 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3170 "/home/mbrantner/zorba/sandbox/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)) );
@@ -5710,7 +5705,7 @@
   case 312:
 
 /* Line 690 of lalr1.cc  */
-#line 3184 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3180 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderSpec( LOC((yyloc)), (yysemantic_stack_[(1) - (1)].expr), NULL );
         }
@@ -5719,7 +5714,7 @@
   case 313:
 
 /* Line 690 of lalr1.cc  */
-#line 3188 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3184 "/home/mbrantner/zorba/sandbox/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))
@@ -5730,7 +5725,7 @@
   case 314:
 
 /* Line 690 of lalr1.cc  */
-#line 3198 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3194 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)), dynamic_cast<OrderDirSpec*>((yysemantic_stack_[(1) - (1)].node)), NULL, NULL
@@ -5741,7 +5736,7 @@
   case 315:
 
 /* Line 690 of lalr1.cc  */
-#line 3204 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3200 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)), NULL, dynamic_cast<OrderEmptySpec*>((yysemantic_stack_[(1) - (1)].node)), NULL
@@ -5752,7 +5747,7 @@
   case 316:
 
 /* Line 690 of lalr1.cc  */
-#line 3210 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3206 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)), NULL, NULL, dynamic_cast<OrderCollationSpec*>((yysemantic_stack_[(1) - (1)].node))
@@ -5763,7 +5758,7 @@
   case 317:
 
 /* Line 690 of lalr1.cc  */
-#line 3216 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3212 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)),
@@ -5777,7 +5772,7 @@
   case 318:
 
 /* Line 690 of lalr1.cc  */
-#line 3225 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3221 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)),
@@ -5791,7 +5786,7 @@
   case 319:
 
 /* Line 690 of lalr1.cc  */
-#line 3234 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3230 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)),
@@ -5805,7 +5800,7 @@
   case 320:
 
 /* Line 690 of lalr1.cc  */
-#line 3243 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3239 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)),
@@ -5819,7 +5814,7 @@
   case 321:
 
 /* Line 690 of lalr1.cc  */
-#line 3256 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3252 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderDirSpec( LOC((yyloc)), ParseConstants::dir_ascending );
         }
@@ -5828,7 +5823,7 @@
   case 322:
 
 /* Line 690 of lalr1.cc  */
-#line 3260 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3256 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderDirSpec( LOC((yyloc)), ParseConstants::dir_descending );
         }
@@ -5837,7 +5832,7 @@
   case 323:
 
 /* Line 690 of lalr1.cc  */
-#line 3268 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3264 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderEmptySpec(
                 LOC((yyloc)), StaticContextConsts::empty_greatest
@@ -5848,7 +5843,7 @@
   case 324:
 
 /* Line 690 of lalr1.cc  */
-#line 3274 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3270 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderEmptySpec(
                 LOC((yyloc)), StaticContextConsts::empty_least
@@ -5859,7 +5854,7 @@
   case 325:
 
 /* Line 690 of lalr1.cc  */
-#line 3284 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3280 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new OrderCollationSpec( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)) );
         }
@@ -5868,7 +5863,7 @@
   case 326:
 
 /* Line 690 of lalr1.cc  */
-#line 3292 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3288 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new QuantifiedExpr(
                 LOC((yyloc)),
@@ -5882,7 +5877,7 @@
   case 327:
 
 /* Line 690 of lalr1.cc  */
-#line 3301 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3297 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new QuantifiedExpr(
                 LOC((yyloc)),
@@ -5896,7 +5891,7 @@
   case 328:
 
 /* Line 690 of lalr1.cc  */
-#line 3314 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3310 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       QVarInDeclList *qvidl = new QVarInDeclList( LOC((yyloc)) );
       qvidl->push_back( dynamic_cast<QVarInDecl*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5908,7 +5903,7 @@
   case 329:
 
 /* Line 690 of lalr1.cc  */
-#line 3321 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3317 "/home/mbrantner/zorba/sandbox/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)) );
@@ -5919,7 +5914,7 @@
   case 330:
 
 /* Line 690 of lalr1.cc  */
-#line 3333 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3329 "/home/mbrantner/zorba/sandbox/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));
     }
@@ -5928,7 +5923,7 @@
   case 331:
 
 /* Line 690 of lalr1.cc  */
-#line 3337 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3333 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new QVarInDecl(LOC((yyloc)),
                           static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
@@ -5940,7 +5935,7 @@
   case 332:
 
 /* Line 690 of lalr1.cc  */
-#line 3349 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3345 "/home/mbrantner/zorba/sandbox/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));
     }
@@ -5949,7 +5944,7 @@
   case 333:
 
 /* Line 690 of lalr1.cc  */
-#line 3356 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3352 "/home/mbrantner/zorba/sandbox/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)));
@@ -5960,7 +5955,7 @@
   case 334:
 
 /* Line 690 of lalr1.cc  */
-#line 3362 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3358 "/home/mbrantner/zorba/sandbox/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)));
@@ -5971,7 +5966,7 @@
   case 335:
 
 /* Line 690 of lalr1.cc  */
-#line 3371 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3367 "/home/mbrantner/zorba/sandbox/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));
     }
@@ -5980,7 +5975,7 @@
   case 336:
 
 /* Line 690 of lalr1.cc  */
-#line 3378 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3374 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       SwitchCaseOperandList* sco_list_p = new SwitchCaseOperandList(LOC((yyloc)));
       sco_list_p->push_back((yysemantic_stack_[(2) - (2)].expr));
@@ -5991,7 +5986,7 @@
   case 337:
 
 /* Line 690 of lalr1.cc  */
-#line 3384 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3380 "/home/mbrantner/zorba/sandbox/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));
@@ -6002,7 +5997,7 @@
   case 338:
 
 /* Line 690 of lalr1.cc  */
-#line 3395 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3391 "/home/mbrantner/zorba/sandbox/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));
     }
@@ -6011,7 +6006,7 @@
   case 339:
 
 /* Line 690 of lalr1.cc  */
-#line 3402 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3398 "/home/mbrantner/zorba/sandbox/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)));
@@ -6022,7 +6017,7 @@
   case 340:
 
 /* Line 690 of lalr1.cc  */
-#line 3408 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3404 "/home/mbrantner/zorba/sandbox/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)));
@@ -6033,7 +6028,7 @@
   case 341:
 
 /* Line 690 of lalr1.cc  */
-#line 3417 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3413 "/home/mbrantner/zorba/sandbox/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));
     }
@@ -6042,7 +6037,7 @@
   case 342:
 
 /* Line 690 of lalr1.cc  */
-#line 3426 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3422 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new TypeswitchExpr(LOC((yyloc)),
                               (yysemantic_stack_[(8) - (3)].expr),
@@ -6054,7 +6049,7 @@
   case 343:
 
 /* Line 690 of lalr1.cc  */
-#line 3433 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3429 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new TypeswitchExpr(LOC ((yyloc)),
                               (yysemantic_stack_[(10) - (3)].expr),
@@ -6067,7 +6062,7 @@
   case 344:
 
 /* Line 690 of lalr1.cc  */
-#line 3444 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3440 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new TypeswitchExpr(LOC((yyloc)),
                               (yysemantic_stack_[(8) - (3)].expr),
@@ -6079,7 +6074,7 @@
   case 345:
 
 /* Line 690 of lalr1.cc  */
-#line 3451 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3447 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = new TypeswitchExpr(LOC ((yyloc)),
                               (yysemantic_stack_[(10) - (3)].expr),
@@ -6092,7 +6087,7 @@
   case 346:
 
 /* Line 690 of lalr1.cc  */
-#line 3463 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3459 "/home/mbrantner/zorba/sandbox/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)));
@@ -6103,7 +6098,7 @@
   case 347:
 
 /* Line 690 of lalr1.cc  */
-#line 3469 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3465 "/home/mbrantner/zorba/sandbox/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)));
@@ -6114,7 +6109,7 @@
   case 348:
 
 /* Line 690 of lalr1.cc  */
-#line 3481 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3477 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CaseClause(LOC ((yyloc)),
                           static_cast<SequenceTypeList*>((yysemantic_stack_[(4) - (2)].node)),
@@ -6125,7 +6120,7 @@
   case 349:
 
 /* Line 690 of lalr1.cc  */
-#line 3487 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3483 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CaseClause(LOC ((yyloc)),
                           static_cast<QName*>((yysemantic_stack_[(7) - (3)].expr)),
@@ -6137,7 +6132,7 @@
   case 350:
 
 /* Line 690 of lalr1.cc  */
-#line 3498 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3494 "/home/mbrantner/zorba/sandbox/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)));
@@ -6148,7 +6143,7 @@
   case 351:
 
 /* Line 690 of lalr1.cc  */
-#line 3504 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3500 "/home/mbrantner/zorba/sandbox/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)));
@@ -6159,7 +6154,7 @@
   case 352:
 
 /* Line 690 of lalr1.cc  */
-#line 3515 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3511 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CaseClause(LOC ((yyloc)),
                           static_cast<SequenceTypeList*>((yysemantic_stack_[(4) - (2)].node)),
@@ -6170,7 +6165,7 @@
   case 353:
 
 /* Line 690 of lalr1.cc  */
-#line 3521 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3517 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new CaseClause(LOC ((yyloc)),
                           static_cast<QName*>((yysemantic_stack_[(7) - (3)].expr)),
@@ -6182,7 +6177,7 @@
   case 354:
 
 /* Line 690 of lalr1.cc  */
-#line 3532 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3528 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       SequenceTypeList* seqList = new SequenceTypeList(LOC((yyloc)));
       seqList->push_back(static_cast<SequenceType*>((yysemantic_stack_[(1) - (1)].node)));
@@ -6193,7 +6188,7 @@
   case 355:
 
 /* Line 690 of lalr1.cc  */
-#line 3538 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3534 "/home/mbrantner/zorba/sandbox/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)));
@@ -6204,7 +6199,7 @@
   case 356:
 
 /* Line 690 of lalr1.cc  */
-#line 3549 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3545 "/home/mbrantner/zorba/sandbox/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));
     }
@@ -6213,17 +6208,17 @@
   case 357:
 
 /* Line 690 of lalr1.cc  */
+#line 3554 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    {
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+    }
+    break;
+
+  case 358:
+
+/* Line 690 of lalr1.cc  */
 #line 3558 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
-    break;
-
-  case 358:
-
-/* Line 690 of lalr1.cc  */
-#line 3562 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    {
       (yyval.expr) = new OrExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
     }
     break;
@@ -6231,17 +6226,17 @@
   case 359:
 
 /* Line 690 of lalr1.cc  */
+#line 3567 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 360:
+
+/* Line 690 of lalr1.cc  */
 #line 3571 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
-  case 360:
-
-/* Line 690 of lalr1.cc  */
-#line 3575 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    {
             (yyval.expr) = new AndExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
         }
     break;
@@ -6249,17 +6244,17 @@
   case 361:
 
 /* Line 690 of lalr1.cc  */
+#line 3578 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    {
+          (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 362:
+
+/* Line 690 of lalr1.cc  */
 #line 3582 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
-          (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
-  case 362:
-
-/* Line 690 of lalr1.cc  */
-#line 3586 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    {
           (yyval.expr) = new ComparisonExpr(
               LOC((yyloc)),
               new ValueComp( LOC((yyloc)), ParseConstants::op_val_not ),
@@ -6272,17 +6267,17 @@
   case 363:
 
 /* Line 690 of lalr1.cc  */
+#line 3595 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 364:
+
+/* Line 690 of lalr1.cc  */
 #line 3599 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
-  case 364:
-
-/* Line 690 of lalr1.cc  */
-#line 3603 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    {
             /*  ::=  "eq" | "ne" | "lt" | "le" | "gt" | "ge" */
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6296,17 +6291,17 @@
   case 365:
 
 /* Line 690 of lalr1.cc  */
+#line 3679 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 366:
+
+/* Line 690 of lalr1.cc  */
 #line 3683 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
-  case 366:
-
-/* Line 690 of lalr1.cc  */
-#line 3687 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    {
             (yyval.expr) = new FTContainsExpr(
                 LOC((yyloc)),
                 (yysemantic_stack_[(5) - (1)].expr),
@@ -6319,17 +6314,17 @@
   case 367:
 
 /* Line 690 of lalr1.cc  */
+#line 3695 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    {
+          (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 368:
+
+/* Line 690 of lalr1.cc  */
 #line 3699 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
-          (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
-  case 368:
-
-/* Line 690 of lalr1.cc  */
-#line 3703 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    {
           (yyval.expr) = new StringConcatExpr(LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr));
         }
     break;
@@ -6337,17 +6332,17 @@
   case 369:
 
 /* Line 690 of lalr1.cc  */
+#line 3706 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.node) = NULL;
+        }
+    break;
+
+  case 370:
+
+/* Line 690 of lalr1.cc  */
 #line 3710 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = NULL;
-        }
-    break;
-
-  case 370:
-
-/* Line 690 of lalr1.cc  */
-#line 3714 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
@@ -6355,17 +6350,17 @@
   case 371:
 
 /* Line 690 of lalr1.cc  */
+#line 3717 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 372:
+
+/* Line 690 of lalr1.cc  */
 #line 3721 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
-  case 372:
-
-/* Line 690 of lalr1.cc  */
-#line 3725 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    {
             (yyval.expr) = new RangeExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
         }
     break;
@@ -6373,17 +6368,17 @@
   case 373:
 
 /* Line 690 of lalr1.cc  */
+#line 3730 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 374:
+
+/* Line 690 of lalr1.cc  */
 #line 3734 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
-  case 374:
-
-/* Line 690 of lalr1.cc  */
-#line 3738 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    {
             (yyval.expr) = new AdditiveExpr( LOC((yyloc)), ParseConstants::op_plus, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
         }
     break;
@@ -6391,7 +6386,7 @@
   case 375:
 
 /* Line 690 of lalr1.cc  */
-#line 3742 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3738 "/home/mbrantner/zorba/sandbox/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) );
         }
@@ -6400,17 +6395,17 @@
   case 376:
 
 /* Line 690 of lalr1.cc  */
+#line 3746 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 377:
+
+/* Line 690 of lalr1.cc  */
 #line 3750 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
-  case 377:
-
-/* Line 690 of lalr1.cc  */
-#line 3754 "/home/mbrantner/zorba/sandbox/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)
             );
@@ -6420,7 +6415,7 @@
   case 378:
 
 /* Line 690 of lalr1.cc  */
-#line 3760 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3756 "/home/mbrantner/zorba/sandbox/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)
@@ -6431,7 +6426,7 @@
   case 379:
 
 /* Line 690 of lalr1.cc  */
-#line 3766 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3762 "/home/mbrantner/zorba/sandbox/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)
@@ -6442,7 +6437,7 @@
   case 380:
 
 /* Line 690 of lalr1.cc  */
-#line 3772 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3768 "/home/mbrantner/zorba/sandbox/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)
@@ -6453,13 +6448,22 @@
   case 381:
 
 /* Line 690 of lalr1.cc  */
+#line 3778 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 382:
+
+/* Line 690 of lalr1.cc  */
 #line 3782 "/home/mbrantner/zorba/sandbox/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 382:
+  case 383:
 
 /* Line 690 of lalr1.cc  */
 #line 3786 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -6468,29 +6472,20 @@
         }
     break;
 
-  case 383:
-
-/* Line 690 of lalr1.cc  */
-#line 3790 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    {
-            (yyval.expr) = new UnionExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
-        }
-    break;
-
   case 384:
 
 /* Line 690 of lalr1.cc  */
+#line 3794 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 385:
+
+/* Line 690 of lalr1.cc  */
 #line 3798 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
-  case 385:
-
-/* Line 690 of lalr1.cc  */
-#line 3802 "/home/mbrantner/zorba/sandbox/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)
             );
@@ -6500,7 +6495,7 @@
   case 386:
 
 /* Line 690 of lalr1.cc  */
-#line 3808 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3804 "/home/mbrantner/zorba/sandbox/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)
@@ -6511,17 +6506,17 @@
   case 387:
 
 /* Line 690 of lalr1.cc  */
+#line 3814 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 388:
+
+/* Line 690 of lalr1.cc  */
 #line 3818 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
-  case 388:
-
-/* Line 690 of lalr1.cc  */
-#line 3822 "/home/mbrantner/zorba/sandbox/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))
             );
@@ -6531,17 +6526,17 @@
   case 389:
 
 /* Line 690 of lalr1.cc  */
+#line 3828 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 390:
+
+/* Line 690 of lalr1.cc  */
 #line 3832 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
-  case 390:
-
-/* Line 690 of lalr1.cc  */
-#line 3836 "/home/mbrantner/zorba/sandbox/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))
             );
@@ -6551,17 +6546,17 @@
   case 391:
 
 /* Line 690 of lalr1.cc  */
+#line 3842 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 392:
+
+/* Line 690 of lalr1.cc  */
 #line 3846 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
-  case 392:
-
-/* Line 690 of lalr1.cc  */
-#line 3850 "/home/mbrantner/zorba/sandbox/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))
             );
@@ -6571,17 +6566,17 @@
   case 393:
 
 /* Line 690 of lalr1.cc  */
+#line 3856 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 394:
+
+/* Line 690 of lalr1.cc  */
 #line 3860 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
-  case 394:
-
-/* Line 690 of lalr1.cc  */
-#line 3864 "/home/mbrantner/zorba/sandbox/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))
             );
@@ -6591,7 +6586,7 @@
   case 395:
 
 /* Line 690 of lalr1.cc  */
-#line 3874 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3870 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new SingleType(LOC((yyloc)), dynamic_cast<SimpleType*>((yysemantic_stack_[(1) - (1)].node)), false);
     }
@@ -6600,7 +6595,7 @@
   case 396:
 
 /* Line 690 of lalr1.cc  */
-#line 3878 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3874 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new SingleType(LOC((yyloc)), dynamic_cast<SimpleType*>((yysemantic_stack_[(2) - (1)].node)), true);
     }
@@ -6609,17 +6604,17 @@
   case 397:
 
 /* Line 690 of lalr1.cc  */
+#line 3883 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 398:
+
+/* Line 690 of lalr1.cc  */
 #line 3887 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
-  case 398:
-
-/* Line 690 of lalr1.cc  */
-#line 3891 "/home/mbrantner/zorba/sandbox/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;
@@ -6627,7 +6622,7 @@
   case 399:
 
 /* Line 690 of lalr1.cc  */
-#line 3899 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3895 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new SignList( LOC((yyloc)), true );
         }
@@ -6636,7 +6631,7 @@
   case 400:
 
 /* Line 690 of lalr1.cc  */
-#line 3903 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3899 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new SignList( LOC((yyloc)), false );
         }
@@ -6645,17 +6640,17 @@
   case 401:
 
 /* Line 690 of lalr1.cc  */
+#line 3903 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
+        }
+    break;
+
+  case 402:
+
+/* Line 690 of lalr1.cc  */
 #line 3907 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
-        }
-    break;
-
-  case 402:
-
-/* Line 690 of lalr1.cc  */
-#line 3911 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    {
             if ( SignList *sl = dynamic_cast<SignList*>((yysemantic_stack_[(2) - (1)].node)) )
                 sl->negate();
             (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
@@ -6665,13 +6660,22 @@
   case 403:
 
 /* Line 690 of lalr1.cc  */
+#line 3917 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 404:
+
+/* Line 690 of lalr1.cc  */
 #line 3921 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
-  case 404:
+  case 405:
 
 /* Line 690 of lalr1.cc  */
 #line 3925 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -6680,19 +6684,10 @@
         }
     break;
 
-  case 405:
-
-/* Line 690 of lalr1.cc  */
-#line 3929 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
   case 406:
 
 /* Line 690 of lalr1.cc  */
-#line 3936 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
         (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
       }
@@ -6701,7 +6696,7 @@
   case 407:
 
 /* Line 690 of lalr1.cc  */
-#line 3941 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3937 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
         (yyval.expr) = new SimpleMapExpr(LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr));
       }
@@ -6710,7 +6705,7 @@
   case 408:
 
 /* Line 690 of lalr1.cc  */
-#line 3949 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3945 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_eq );
         }
@@ -6719,7 +6714,7 @@
   case 409:
 
 /* Line 690 of lalr1.cc  */
-#line 3953 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3949 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_ne );
         }
@@ -6728,7 +6723,7 @@
   case 410:
 
 /* Line 690 of lalr1.cc  */
-#line 3957 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3953 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_lt );
         }
@@ -6737,7 +6732,7 @@
   case 411:
 
 /* Line 690 of lalr1.cc  */
-#line 3961 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3957 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_le );
         }
@@ -6746,7 +6741,7 @@
   case 412:
 
 /* Line 690 of lalr1.cc  */
-#line 3965 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3961 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_gt );
         }
@@ -6755,7 +6750,7 @@
   case 413:
 
 /* Line 690 of lalr1.cc  */
-#line 3969 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3965 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_ge );
         }
@@ -6764,7 +6759,7 @@
   case 414:
 
 /* Line 690 of lalr1.cc  */
-#line 3993 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3989 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new ValidateExpr( LOC((yyloc)), "strict", (yysemantic_stack_[(4) - (3)].expr) );
         }
@@ -6773,7 +6768,7 @@
   case 415:
 
 /* Line 690 of lalr1.cc  */
-#line 3997 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3993 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new ValidateExpr( LOC((yyloc)), "lax", (yysemantic_stack_[(5) - (4)].expr) );
         }
@@ -6782,7 +6777,7 @@
   case 416:
 
 /* Line 690 of lalr1.cc  */
-#line 4001 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 3997 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new ValidateExpr( LOC((yyloc)), "strict", (yysemantic_stack_[(5) - (4)].expr) );
         }
@@ -6791,7 +6786,7 @@
   case 417:
 
 /* Line 690 of lalr1.cc  */
-#line 4005 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 4001 "/home/mbrantner/zorba/sandbox/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)
@@ -6803,7 +6798,7 @@
   case 418:
 
 /* Line 690 of lalr1.cc  */
-#line 4016 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 4012 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new ExtensionExpr(
                 LOC((yyloc)), dynamic_cast<PragmaList*>((yysemantic_stack_[(3) - (1)].node)), NULL
@@ -6814,7 +6809,7 @@
   case 419:
 
 /* Line 690 of lalr1.cc  */
-#line 4022 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 4018 "/home/mbrantner/zorba/sandbox/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)
@@ -6825,7 +6820,7 @@
   case 420:
 
 /* Line 690 of lalr1.cc  */
-#line 4032 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 4028 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             PragmaList *pl = new PragmaList( LOC((yyloc)) );
             pl->push_back( dynamic_cast<Pragma*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -6836,7 +6831,7 @@
   case 421:
 
 /* Line 690 of lalr1.cc  */
-#line 4038 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 4034 "/home/mbrantner/zorba/sandbox/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)) );
@@ -6847,7 +6842,7 @@
   case 422:
 
 /* Line 690 of lalr1.cc  */
-#line 4048 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 4044 "/home/mbrantner/zorba/sandbox/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)) );
         }
@@ -6856,7 +6851,7 @@
   case 423:
 
 /* Line 690 of lalr1.cc  */
-#line 4052 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 4048 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new Pragma( LOC((yyloc)), new QName( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)) ), "" );
         }
@@ -6865,7 +6860,7 @@
   case 424:
 
 /* Line 690 of lalr1.cc  */
-#line 4056 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 4052 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new Pragma( LOC((yyloc)), new QName( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)), true ), "" );
         }
@@ -6874,7 +6869,7 @@
   case 425:
 
 /* Line 690 of lalr1.cc  */
-#line 4119 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 4115 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       RelativePathExpr* rpe = dynamic_cast<RelativePathExpr*>((yysemantic_stack_[(1) - (1)].expr));
       (yyval.expr) = (!rpe ?
@@ -6886,7 +6881,7 @@
   case 426:
 
 /* Line 690 of lalr1.cc  */
-#line 4141 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 4137 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       AxisStep* as = dynamic_cast<AxisStep*>((yysemantic_stack_[(1) - (1)].expr));
       (yyval.expr) = (as ?
@@ -6901,7 +6896,7 @@
   case 427:
 
 /* Line 690 of lalr1.cc  */
-#line 4169 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 4165 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -6910,7 +6905,7 @@
   case 428:
 
 /* Line 690 of lalr1.cc  */
-#line 4333 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 4329 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new NameTest( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
         }
@@ -6919,7 +6914,7 @@
   case 429:
 
 /* Line 690 of lalr1.cc  */
-#line 4337 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 4333 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.node) = new NameTest( LOC((yyloc)), dynamic_cast<Wildcard*>((yysemantic_stack_[(1) - (1)].node)) );
         }
@@ -6928,7 +6923,7 @@
   case 430:
 
 /* Line 690 of lalr1.cc  */
-#line 4347 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 4343 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new Wildcard(LOC((yyloc)), "", "", ParseConstants::wild_all, false);
     }
@@ -6937,7 +6932,7 @@
   case 431:
 
 /* Line 690 of lalr1.cc  */
-#line 4351 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 4347 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new Wildcard(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)), "", ParseConstants::wild_elem, false);
     }
@@ -6946,7 +6941,7 @@
   case 432:
 
 /* Line 690 of lalr1.cc  */
-#line 4355 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 4351 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new Wildcard(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)), "", ParseConstants::wild_elem, true);
     }
@@ -6955,7 +6950,7 @@
   case 433:
 
 /* Line 690 of lalr1.cc  */
-#line 4359 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 4355 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
       (yyval.node) = new Wildcard(LOC((yyloc)), "", SYMTAB((yysemantic_stack_[(1) - (1)].sval)), ParseConstants::wild_prefix, false);
     }
@@ -6964,7 +6959,7 @@
   case 434:
 
 /* Line 690 of lalr1.cc  */
-#line 4368 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 4364 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
        (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
      }
@@ -6973,7 +6968,7 @@
   case 435:
 
 /* Line 690 of lalr1.cc  */
-#line 4372 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 4368 "/home/mbrantner/zorba/sandbox/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)));
      }
@@ -6982,7 +6977,7 @@
   case 436:
 
 /* Line 690 of lalr1.cc  */
-#line 4376 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 4372 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
        (yyval.expr) = new DynamicFunctionInvocation(LOC ((yyloc)), (yysemantic_stack_[(3) - (1)].expr), false);
      }
@@ -6991,7 +6986,7 @@
   case 437:
 
 /* Line 690 of lalr1.cc  */
-#line 4380 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 4376 "/home/mbrantner/zorba/sandbox/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);
      }
@@ -7000,7 +6995,7 @@
   case 438:
 
 /* Line 690 of lalr1.cc  */
-#line 4384 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 4380 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
        StringLiteral* sl = new StringLiteral( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (3)].sval)) );
        (yyval.expr) = new JSONObjectLookup(LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), sl);
@@ -7010,13 +7005,22 @@
   case 439:
 
 /* Line 690 of lalr1.cc  */
+#line 4385 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    {
+       (yyval.expr) = new JSONObjectLookup(LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr));
+     }
+    break;
+
+  case 440:
+
+/* Line 690 of lalr1.cc  */
 #line 4389 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
        (yyval.expr) = new JSONObjectLookup(LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr));
      }
     break;
 
-  case 440:
+  case 441:
 
 /* Line 690 of lalr1.cc  */
 #line 4393 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7025,19 +7029,10 @@
      }
     break;
 
-  case 441:
-
-/* Line 690 of lalr1.cc  */
-#line 4397 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    {
-       (yyval.expr) = new JSONObjectLookup(LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr));
-     }
-    break;
-
   case 442:
 
 /* Line 690 of lalr1.cc  */
-#line 4406 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 4402 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             PredicateList *pl = new PredicateList( LOC((yyloc)) );
             pl->push_back( dynamic_cast<exprnode*>((yysemantic_stack_[(1) - (1)].expr)) );
@@ -7048,7 +7043,7 @@
   case 443:
 
 /* Line 690 of lalr1.cc  */
-#line 4412 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 4408 "/home/mbrantner/zorba/sandbox/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)) );
@@ -7059,7 +7054,7 @@
   case 444:
 
 /* Line 690 of lalr1.cc  */
-#line 4422 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 4418 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
         }
@@ -7068,13 +7063,22 @@
   case 445:
 
 /* Line 690 of lalr1.cc  */
+#line 4426 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    {
+          (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 446:
+
+/* Line 690 of lalr1.cc  */
 #line 4430 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
-  case 446:
+  case 447:
 
 /* Line 690 of lalr1.cc  */
 #line 4434 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7083,7 +7087,7 @@
         }
     break;
 
-  case 447:
+  case 448:
 
 /* Line 690 of lalr1.cc  */
 #line 4438 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7092,7 +7096,7 @@
         }
     break;
 
-  case 448:
+  case 449:
 
 /* Line 690 of lalr1.cc  */
 #line 4442 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7101,7 +7105,7 @@
         }
     break;
 
-  case 449:
+  case 450:
 
 /* Line 690 of lalr1.cc  */
 #line 4446 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7110,7 +7114,7 @@
         }
     break;
 
-  case 450:
+  case 451:
 
 /* Line 690 of lalr1.cc  */
 #line 4450 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7119,7 +7123,7 @@
         }
     break;
 
-  case 451:
+  case 452:
 
 /* Line 690 of lalr1.cc  */
 #line 4454 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7128,7 +7132,7 @@
         }
     break;
 
-  case 452:
+  case 453:
 
 /* Line 690 of lalr1.cc  */
 #line 4458 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7137,7 +7141,7 @@
         }
     break;
 
-  case 453:
+  case 454:
 
 /* Line 690 of lalr1.cc  */
 #line 4462 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7146,25 +7150,25 @@
         }
     break;
 
-  case 454:
-
-/* Line 690 of lalr1.cc  */
-#line 4466 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    {
-          (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
   case 455:
 
 /* Line 690 of lalr1.cc  */
+#line 4467 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    {
+          (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 456:
+
+/* Line 690 of lalr1.cc  */
 #line 4471 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
-  case 456:
+  case 457:
 
 /* Line 690 of lalr1.cc  */
 #line 4475 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7173,7 +7177,7 @@
         }
     break;
 
-  case 457:
+  case 458:
 
 /* Line 690 of lalr1.cc  */
 #line 4479 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7182,25 +7186,25 @@
         }
     break;
 
-  case 458:
-
-/* Line 690 of lalr1.cc  */
-#line 4483 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    {
-          (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
   case 459:
 
 /* Line 690 of lalr1.cc  */
+#line 4487 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 460:
+
+/* Line 690 of lalr1.cc  */
 #line 4491 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
-  case 460:
+  case 461:
 
 /* Line 690 of lalr1.cc  */
 #line 4495 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7209,20 +7213,11 @@
         }
     break;
 
-  case 461:
+  case 462:
 
 /* Line 690 of lalr1.cc  */
 #line 4499 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
-  case 462:
-
-/* Line 690 of lalr1.cc  */
-#line 4503 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    {
             (yyval.expr) = new NullLiteral(LOC((yyloc)));
         }
     break;
@@ -7230,7 +7225,7 @@
   case 463:
 
 /* Line 690 of lalr1.cc  */
-#line 4511 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 4507 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = NumericLiteral::new_literal(
                 LOC((yyloc)), ParseConstants::num_decimal, *(yysemantic_stack_[(1) - (1)].decval)
@@ -7242,7 +7237,7 @@
   case 464:
 
 /* Line 690 of lalr1.cc  */
-#line 4518 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 4514 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = NumericLiteral::new_literal(
                 LOC((yyloc)), ParseConstants::num_integer, *(yysemantic_stack_[(1) - (1)].ival)
@@ -7254,7 +7249,7 @@
   case 465:
 
 /* Line 690 of lalr1.cc  */
-#line 4525 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 4521 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = NumericLiteral::new_literal(
                 LOC((yyloc)), ParseConstants::num_double, *(yysemantic_stack_[(1) - (1)].dval)
@@ -7266,7 +7261,7 @@
   case 466:
 
 /* Line 690 of lalr1.cc  */
-#line 4535 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 4531 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new BooleanLiteral(LOC((yyloc)), true);
         }
@@ -7275,7 +7270,7 @@
   case 467:
 
 /* Line 690 of lalr1.cc  */
-#line 4539 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 4535 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new BooleanLiteral(LOC((yyloc)), false);
         }
@@ -7284,7 +7279,7 @@
   case 468:
 
 /* Line 690 of lalr1.cc  */
-#line 4547 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 4543 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new VarRef(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)));
         }
@@ -7293,7 +7288,7 @@
   case 469:
 
 /* Line 690 of lalr1.cc  */
-#line 4555 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 4551 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new ParenthesizedExpr( LOC((yyloc)), NULL);
         }
@@ -7302,7 +7297,7 @@
   case 470:
 
 /* Line 690 of lalr1.cc  */
-#line 4559 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 4555 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new ParenthesizedExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr) );
         }
@@ -7311,13 +7306,22 @@
   case 471:
 
 /* Line 690 of lalr1.cc  */
+#line 4563 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    {
+            (yyval.expr) = new ContextItemExpr( LOC((yyloc)) );
+        }
+    break;
+
+  case 472:
+
+/* Line 690 of lalr1.cc  */
 #line 4567 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
             (yyval.expr) = new ContextItemExpr( LOC((yyloc)) );
         }
     break;
 
-  case 472:
+  case 473:
 
 /* Line 690 of lalr1.cc  */
 #line 4575 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7326,7 +7330,7 @@
         }
     break;
 
-  case 473:
+  case 474:
 
 /* Line 690 of lalr1.cc  */
 #line 4583 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7335,7 +7339,7 @@
         }
     break;
 
-  case 474:
+  case 475:
 
 /* Line 690 of lalr1.cc  */
 #line 4637 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7344,7 +7348,7 @@
     }
     break;
 
-  case 475:
+  case 476:
 
 /* Line 690 of lalr1.cc  */
 #line 4641 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7367,7 +7371,7 @@
     }
     break;
 
-  case 476:
+  case 477:
 
 /* Line 690 of lalr1.cc  */
 #line 4663 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7378,7 +7382,7 @@
     }
     break;
 
-  case 477:
+  case 478:
 
 /* Line 690 of lalr1.cc  */
 #line 4669 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7389,7 +7393,7 @@
     }
     break;
 
-  case 478:
+  case 479:
 
 /* Line 690 of lalr1.cc  */
 #line 4675 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7400,7 +7404,7 @@
     }
     break;
 
-  case 479:
+  case 480:
 
 /* Line 690 of lalr1.cc  */
 #line 4681 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7411,7 +7415,7 @@
     }
     break;
 
-  case 480:
+  case 481:
 
 /* Line 690 of lalr1.cc  */
 #line 4691 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7420,7 +7424,7 @@
     }
     break;
 
-  case 481:
+  case 482:
 
 /* Line 690 of lalr1.cc  */
 #line 4695 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7429,7 +7433,7 @@
     }
     break;
 
-  case 482:
+  case 483:
 
 /* Line 690 of lalr1.cc  */
 #line 4703 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7438,7 +7442,7 @@
     }
     break;
 
-  case 483:
+  case 484:
 
 /* Line 690 of lalr1.cc  */
 #line 4711 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7451,7 +7455,7 @@
     }
     break;
 
-  case 484:
+  case 485:
 
 /* Line 690 of lalr1.cc  */
 #line 4723 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7460,7 +7464,7 @@
     }
     break;
 
-  case 485:
+  case 486:
 
 /* Line 690 of lalr1.cc  */
 #line 4727 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7469,7 +7473,7 @@
     }
     break;
 
-  case 486:
+  case 487:
 
 /* Line 690 of lalr1.cc  */
 #line 4735 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7478,7 +7482,7 @@
     }
     break;
 
-  case 487:
+  case 488:
 
 /* Line 690 of lalr1.cc  */
 #line 4739 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7487,7 +7491,7 @@
     }
     break;
 
-  case 488:
+  case 489:
 
 /* Line 690 of lalr1.cc  */
 #line 4743 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7496,7 +7500,7 @@
     }
     break;
 
-  case 489:
+  case 490:
 
 /* Line 690 of lalr1.cc  */
 #line 4751 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7509,7 +7513,7 @@
     }
     break;
 
-  case 490:
+  case 491:
 
 /* Line 690 of lalr1.cc  */
 #line 4759 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7531,7 +7535,7 @@
     }
     break;
 
-  case 491:
+  case 492:
 
 /* Line 690 of lalr1.cc  */
 #line 4776 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7544,7 +7548,7 @@
     }
     break;
 
-  case 492:
+  case 493:
 
 /* Line 690 of lalr1.cc  */
 #line 4784 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7566,7 +7570,7 @@
     }
     break;
 
-  case 493:
+  case 494:
 
 /* Line 690 of lalr1.cc  */
 #line 4803 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7588,7 +7592,7 @@
     }
     break;
 
-  case 494:
+  case 495:
 
 /* Line 690 of lalr1.cc  */
 #line 4822 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7610,7 +7614,7 @@
     }
     break;
 
-  case 495:
+  case 496:
 
 /* Line 690 of lalr1.cc  */
 #line 4844 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7621,7 +7625,7 @@
     }
     break;
 
-  case 496:
+  case 497:
 
 /* Line 690 of lalr1.cc  */
 #line 4850 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7633,7 +7637,7 @@
     }
     break;
 
-  case 497:
+  case 498:
 
 /* Line 690 of lalr1.cc  */
 #line 4861 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7644,7 +7648,7 @@
     }
     break;
 
-  case 498:
+  case 499:
 
 /* Line 690 of lalr1.cc  */
 #line 4867 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7656,7 +7660,7 @@
     }
     break;
 
-  case 499:
+  case 500:
 
 /* Line 690 of lalr1.cc  */
 #line 4878 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7667,7 +7671,7 @@
     }
     break;
 
-  case 502:
+  case 503:
 
 /* Line 690 of lalr1.cc  */
 #line 4893 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7677,7 +7681,7 @@
     }
     break;
 
-  case 503:
+  case 504:
 
 /* Line 690 of lalr1.cc  */
 #line 4898 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7687,7 +7691,7 @@
     }
     break;
 
-  case 504:
+  case 505:
 
 /* Line 690 of lalr1.cc  */
 #line 4907 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7696,7 +7700,7 @@
     }
     break;
 
-  case 505:
+  case 506:
 
 /* Line 690 of lalr1.cc  */
 #line 4911 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7705,7 +7709,7 @@
     }
     break;
 
-  case 506:
+  case 507:
 
 /* Line 690 of lalr1.cc  */
 #line 4918 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7716,7 +7720,7 @@
     }
     break;
 
-  case 507:
+  case 508:
 
 /* Line 690 of lalr1.cc  */
 #line 4924 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7727,7 +7731,7 @@
     }
     break;
 
-  case 508:
+  case 509:
 
 /* Line 690 of lalr1.cc  */
 #line 4930 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7739,7 +7743,7 @@
     }
     break;
 
-  case 509:
+  case 510:
 
 /* Line 690 of lalr1.cc  */
 #line 4937 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7751,7 +7755,7 @@
     }
     break;
 
-  case 510:
+  case 511:
 
 /* Line 690 of lalr1.cc  */
 #line 4948 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7760,7 +7764,7 @@
     }
     break;
 
-  case 511:
+  case 512:
 
 /* Line 690 of lalr1.cc  */
 #line 4952 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7769,7 +7773,7 @@
     }
     break;
 
-  case 512:
+  case 513:
 
 /* Line 690 of lalr1.cc  */
 #line 4959 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7780,7 +7784,7 @@
     }
     break;
 
-  case 513:
+  case 514:
 
 /* Line 690 of lalr1.cc  */
 #line 4965 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7791,7 +7795,7 @@
     }
     break;
 
-  case 514:
+  case 515:
 
 /* Line 690 of lalr1.cc  */
 #line 4971 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7803,7 +7807,7 @@
     }
     break;
 
-  case 515:
+  case 516:
 
 /* Line 690 of lalr1.cc  */
 #line 4978 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7815,7 +7819,7 @@
     }
     break;
 
-  case 516:
+  case 517:
 
 /* Line 690 of lalr1.cc  */
 #line 4989 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7824,7 +7828,7 @@
     }
     break;
 
-  case 517:
+  case 518:
 
 /* Line 690 of lalr1.cc  */
 #line 4993 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7833,7 +7837,7 @@
     }
     break;
 
-  case 518:
+  case 519:
 
 /* Line 690 of lalr1.cc  */
 #line 5001 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7842,7 +7846,7 @@
     }
     break;
 
-  case 519:
+  case 520:
 
 /* Line 690 of lalr1.cc  */
 #line 5005 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7851,7 +7855,7 @@
     }
     break;
 
-  case 520:
+  case 521:
 
 /* Line 690 of lalr1.cc  */
 #line 5013 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7860,7 +7864,7 @@
     }
     break;
 
-  case 521:
+  case 522:
 
 /* Line 690 of lalr1.cc  */
 #line 5017 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7869,7 +7873,7 @@
     }
     break;
 
-  case 522:
+  case 523:
 
 /* Line 690 of lalr1.cc  */
 #line 5021 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7879,7 +7883,7 @@
     }
     break;
 
-  case 523:
+  case 524:
 
 /* Line 690 of lalr1.cc  */
 #line 5026 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7889,7 +7893,7 @@
     }
     break;
 
-  case 524:
+  case 525:
 
 /* Line 690 of lalr1.cc  */
 #line 5035 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7898,7 +7902,7 @@
     }
     break;
 
-  case 525:
+  case 526:
 
 /* Line 690 of lalr1.cc  */
 #line 5039 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7907,7 +7911,7 @@
     }
     break;
 
-  case 526:
+  case 527:
 
 /* Line 690 of lalr1.cc  */
 #line 5043 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7916,7 +7920,7 @@
     }
     break;
 
-  case 527:
+  case 528:
 
 /* Line 690 of lalr1.cc  */
 #line 5047 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7925,7 +7929,7 @@
     }
     break;
 
-  case 528:
+  case 529:
 
 /* Line 690 of lalr1.cc  */
 #line 5055 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7934,7 +7938,7 @@
     }
     break;
 
-  case 529:
+  case 530:
 
 /* Line 690 of lalr1.cc  */
 #line 5060 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7943,7 +7947,7 @@
     }
     break;
 
-  case 530:
+  case 531:
 
 /* Line 690 of lalr1.cc  */
 #line 5068 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7952,7 +7956,7 @@
     }
     break;
 
-  case 531:
+  case 532:
 
 /* Line 690 of lalr1.cc  */
 #line 5073 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7961,7 +7965,7 @@
     }
     break;
 
-  case 532:
+  case 533:
 
 /* Line 690 of lalr1.cc  */
 #line 5081 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7970,7 +7974,7 @@
     }
     break;
 
-  case 533:
+  case 534:
 
 /* Line 690 of lalr1.cc  */
 #line 5089 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7979,7 +7983,7 @@
     }
     break;
 
-  case 534:
+  case 535:
 
 /* Line 690 of lalr1.cc  */
 #line 5094 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7988,7 +7992,7 @@
     }
     break;
 
-  case 535:
+  case 536:
 
 /* Line 690 of lalr1.cc  */
 #line 5099 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -7997,7 +8001,7 @@
     }
     break;
 
-  case 536:
+  case 537:
 
 /* Line 690 of lalr1.cc  */
 #line 5104 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8006,7 +8010,7 @@
     }
     break;
 
-  case 537:
+  case 538:
 
 /* Line 690 of lalr1.cc  */
 #line 5109 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8015,7 +8019,7 @@
     }
     break;
 
-  case 538:
+  case 539:
 
 /* Line 690 of lalr1.cc  */
 #line 5114 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8024,7 +8028,7 @@
     }
     break;
 
-  case 540:
+  case 541:
 
 /* Line 690 of lalr1.cc  */
 #line 5125 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8033,7 +8037,7 @@
     }
     break;
 
-  case 541:
+  case 542:
 
 /* Line 690 of lalr1.cc  */
 #line 5133 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8042,7 +8046,7 @@
     }
     break;
 
-  case 542:
+  case 543:
 
 /* Line 690 of lalr1.cc  */
 #line 5137 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8051,7 +8055,7 @@
     }
     break;
 
-  case 543:
+  case 544:
 
 /* Line 690 of lalr1.cc  */
 #line 5154 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8060,7 +8064,7 @@
     }
     break;
 
-  case 544:
+  case 545:
 
 /* Line 690 of lalr1.cc  */
 #line 5158 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8069,7 +8073,7 @@
     }
     break;
 
-  case 545:
+  case 546:
 
 /* Line 690 of lalr1.cc  */
 #line 5166 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8078,7 +8082,7 @@
     }
     break;
 
-  case 546:
+  case 547:
 
 /* Line 690 of lalr1.cc  */
 #line 5174 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8087,7 +8091,7 @@
     }
     break;
 
-  case 547:
+  case 548:
 
 /* Line 690 of lalr1.cc  */
 #line 5182 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8096,7 +8100,7 @@
     }
     break;
 
-  case 548:
+  case 549:
 
 /* Line 690 of lalr1.cc  */
 #line 5186 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8105,7 +8109,7 @@
     }
     break;
 
-  case 549:
+  case 550:
 
 /* Line 690 of lalr1.cc  */
 #line 5194 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8114,7 +8118,7 @@
     }
     break;
 
-  case 550:
+  case 551:
 
 /* Line 690 of lalr1.cc  */
 #line 5198 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8123,7 +8127,7 @@
     }
     break;
 
-  case 551:
+  case 552:
 
 /* Line 690 of lalr1.cc  */
 #line 5206 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8132,7 +8136,7 @@
     }
     break;
 
-  case 552:
+  case 553:
 
 /* Line 690 of lalr1.cc  */
 #line 5214 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8141,7 +8145,7 @@
         }
     break;
 
-  case 553:
+  case 554:
 
 /* Line 690 of lalr1.cc  */
 #line 5218 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8150,7 +8154,7 @@
         }
     break;
 
-  case 554:
+  case 555:
 
 /* Line 690 of lalr1.cc  */
 #line 5222 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8159,7 +8163,7 @@
         }
     break;
 
-  case 555:
+  case 556:
 
 /* Line 690 of lalr1.cc  */
 #line 5227 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8168,7 +8172,7 @@
         }
     break;
 
-  case 556:
+  case 557:
 
 /* Line 690 of lalr1.cc  */
 #line 5262 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8179,7 +8183,7 @@
         }
     break;
 
-  case 557:
+  case 558:
 
 /* Line 690 of lalr1.cc  */
 #line 5268 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8190,7 +8194,7 @@
         }
     break;
 
-  case 558:
+  case 559:
 
 /* Line 690 of lalr1.cc  */
 #line 5274 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8201,7 +8205,7 @@
         }
     break;
 
-  case 559:
+  case 560:
 
 /* Line 690 of lalr1.cc  */
 #line 5284 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8210,7 +8214,7 @@
         }
     break;
 
-  case 560:
+  case 561:
 
 /* Line 690 of lalr1.cc  */
 #line 5288 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8219,7 +8223,7 @@
         }
     break;
 
-  case 561:
+  case 562:
 
 /* Line 690 of lalr1.cc  */
 #line 5292 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8228,7 +8232,7 @@
         }
     break;
 
-  case 562:
+  case 563:
 
 /* Line 690 of lalr1.cc  */
 #line 5297 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8237,7 +8241,7 @@
         }
     break;
 
-  case 563:
+  case 564:
 
 /* Line 690 of lalr1.cc  */
 #line 5301 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8246,7 +8250,7 @@
         }
     break;
 
-  case 564:
+  case 565:
 
 /* Line 690 of lalr1.cc  */
 #line 5306 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8255,7 +8259,7 @@
         }
     break;
 
-  case 565:
+  case 566:
 
 /* Line 690 of lalr1.cc  */
 #line 5310 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8264,7 +8268,7 @@
         }
     break;
 
-  case 566:
+  case 567:
 
 /* Line 690 of lalr1.cc  */
 #line 5314 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8273,7 +8277,7 @@
         }
     break;
 
-  case 567:
+  case 568:
 
 /* Line 690 of lalr1.cc  */
 #line 5318 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8282,7 +8286,7 @@
         }
     break;
 
-  case 568:
+  case 569:
 
 /* Line 690 of lalr1.cc  */
 #line 5325 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8293,7 +8297,7 @@
         }
     break;
 
-  case 569:
+  case 570:
 
 /* Line 690 of lalr1.cc  */
 #line 5331 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8304,7 +8308,7 @@
         }
     break;
 
-  case 570:
+  case 571:
 
 /* Line 690 of lalr1.cc  */
 #line 5341 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8313,7 +8317,7 @@
     }
     break;
 
-  case 571:
+  case 572:
 
 /* Line 690 of lalr1.cc  */
 #line 5349 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8322,7 +8326,7 @@
     }
     break;
 
-  case 572:
+  case 573:
 
 /* Line 690 of lalr1.cc  */
 #line 5357 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8331,7 +8335,7 @@
     }
     break;
 
-  case 573:
+  case 574:
 
 /* Line 690 of lalr1.cc  */
 #line 5361 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8340,7 +8344,7 @@
     }
     break;
 
-  case 574:
+  case 575:
 
 /* Line 690 of lalr1.cc  */
 #line 5365 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8349,7 +8353,7 @@
     }
     break;
 
-  case 575:
+  case 576:
 
 /* Line 690 of lalr1.cc  */
 #line 5369 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8358,7 +8362,7 @@
     }
     break;
 
-  case 576:
+  case 577:
 
 /* Line 690 of lalr1.cc  */
 #line 5373 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8367,7 +8371,7 @@
     }
     break;
 
-  case 577:
+  case 578:
 
 /* Line 690 of lalr1.cc  */
 #line 5377 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8376,7 +8380,7 @@
     }
     break;
 
-  case 578:
+  case 579:
 
 /* Line 690 of lalr1.cc  */
 #line 5381 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8385,7 +8389,7 @@
     }
     break;
 
-  case 579:
+  case 580:
 
 /* Line 690 of lalr1.cc  */
 #line 5385 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8394,7 +8398,7 @@
     }
     break;
 
-  case 580:
+  case 581:
 
 /* Line 690 of lalr1.cc  */
 #line 5389 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8403,7 +8407,7 @@
     }
     break;
 
-  case 581:
+  case 582:
 
 /* Line 690 of lalr1.cc  */
 #line 5393 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8412,7 +8416,7 @@
     }
     break;
 
-  case 582:
+  case 583:
 
 /* Line 690 of lalr1.cc  */
 #line 5401 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8421,7 +8425,7 @@
     }
     break;
 
-  case 583:
+  case 584:
 
 /* Line 690 of lalr1.cc  */
 #line 5409 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8430,7 +8434,7 @@
     }
     break;
 
-  case 584:
+  case 585:
 
 /* Line 690 of lalr1.cc  */
 #line 5413 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8439,7 +8443,7 @@
     }
     break;
 
-  case 585:
+  case 586:
 
 /* Line 690 of lalr1.cc  */
 #line 5417 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8448,7 +8452,7 @@
     }
     break;
 
-  case 586:
+  case 587:
 
 /* Line 690 of lalr1.cc  */
 #line 5425 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8457,7 +8461,7 @@
     }
     break;
 
-  case 587:
+  case 588:
 
 /* Line 690 of lalr1.cc  */
 #line 5432 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8466,7 +8470,7 @@
     }
     break;
 
-  case 588:
+  case 589:
 
 /* Line 690 of lalr1.cc  */
 #line 5440 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8475,7 +8479,7 @@
     }
     break;
 
-  case 589:
+  case 590:
 
 /* Line 690 of lalr1.cc  */
 #line 5448 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8484,7 +8488,7 @@
         }
     break;
 
-  case 590:
+  case 591:
 
 /* Line 690 of lalr1.cc  */
 #line 5452 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8493,7 +8497,7 @@
         }
     break;
 
-  case 591:
+  case 592:
 
 /* Line 690 of lalr1.cc  */
 #line 5456 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8502,7 +8506,7 @@
         }
     break;
 
-  case 592:
+  case 593:
 
 /* Line 690 of lalr1.cc  */
 #line 5464 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8511,7 +8515,7 @@
         }
     break;
 
-  case 593:
+  case 594:
 
 /* Line 690 of lalr1.cc  */
 #line 5468 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8522,7 +8526,7 @@
         }
     break;
 
-  case 594:
+  case 595:
 
 /* Line 690 of lalr1.cc  */
 #line 5474 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8533,7 +8537,7 @@
         }
     break;
 
-  case 595:
+  case 596:
 
 /* Line 690 of lalr1.cc  */
 #line 5480 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8542,7 +8546,7 @@
         }
     break;
 
-  case 596:
+  case 597:
 
 /* Line 690 of lalr1.cc  */
 #line 5484 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8553,7 +8557,7 @@
         }
     break;
 
-  case 597:
+  case 598:
 
 /* Line 690 of lalr1.cc  */
 #line 5494 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8562,7 +8566,7 @@
         }
     break;
 
-  case 598:
+  case 599:
 
 /* Line 690 of lalr1.cc  */
 #line 5502 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8571,7 +8575,7 @@
         }
     break;
 
-  case 599:
+  case 600:
 
 /* Line 690 of lalr1.cc  */
 #line 5506 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8582,7 +8586,7 @@
         }
     break;
 
-  case 600:
+  case 601:
 
 /* Line 690 of lalr1.cc  */
 #line 5512 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8596,7 +8600,7 @@
         }
     break;
 
-  case 601:
+  case 602:
 
 /* Line 690 of lalr1.cc  */
 #line 5521 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8610,7 +8614,7 @@
         }
     break;
 
-  case 602:
+  case 603:
 
 /* Line 690 of lalr1.cc  */
 #line 5530 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8621,7 +8625,7 @@
         }
     break;
 
-  case 603:
+  case 604:
 
 /* Line 690 of lalr1.cc  */
 #line 5536 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8632,7 +8636,7 @@
         }
     break;
 
-  case 604:
+  case 605:
 
 /* Line 690 of lalr1.cc  */
 #line 5542 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8643,7 +8647,7 @@
         }
     break;
 
-  case 605:
+  case 606:
 
 /* Line 690 of lalr1.cc  */
 #line 5552 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8652,7 +8656,7 @@
         }
     break;
 
-  case 606:
+  case 607:
 
 /* Line 690 of lalr1.cc  */
 #line 5569 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8661,7 +8665,7 @@
         }
     break;
 
-  case 607:
+  case 608:
 
 /* Line 690 of lalr1.cc  */
 #line 5576 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8670,7 +8674,7 @@
         }
     break;
 
-  case 608:
+  case 609:
 
 /* Line 690 of lalr1.cc  */
 #line 5591 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8679,7 +8683,7 @@
         }
     break;
 
-  case 609:
+  case 610:
 
 /* Line 690 of lalr1.cc  */
 #line 5618 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8688,7 +8692,7 @@
     }
     break;
 
-  case 610:
+  case 611:
 
 /* Line 690 of lalr1.cc  */
 #line 5622 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8697,7 +8701,7 @@
     }
     break;
 
-  case 611:
+  case 612:
 
 /* Line 690 of lalr1.cc  */
 #line 5630 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8706,7 +8710,7 @@
     }
     break;
 
-  case 612:
+  case 613:
 
 /* Line 690 of lalr1.cc  */
 #line 5638 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8715,7 +8719,7 @@
         }
     break;
 
-  case 613:
+  case 614:
 
 /* Line 690 of lalr1.cc  */
 #line 5642 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8726,7 +8730,7 @@
         }
     break;
 
-  case 614:
+  case 615:
 
 /* Line 690 of lalr1.cc  */
 #line 5653 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8735,7 +8739,7 @@
         }
     break;
 
-  case 615:
+  case 616:
 
 /* Line 690 of lalr1.cc  */
 #line 5670 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8746,7 +8750,7 @@
         }
     break;
 
-  case 616:
+  case 617:
 
 /* Line 690 of lalr1.cc  */
 #line 5676 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8757,7 +8761,7 @@
         }
     break;
 
-  case 617:
+  case 618:
 
 /* Line 690 of lalr1.cc  */
 #line 5682 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8768,7 +8772,7 @@
         }
     break;
 
-  case 618:
+  case 619:
 
 /* Line 690 of lalr1.cc  */
 #line 5692 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8777,7 +8781,7 @@
         }
     break;
 
-  case 619:
+  case 620:
 
 /* Line 690 of lalr1.cc  */
 #line 5696 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8788,7 +8792,7 @@
         }
     break;
 
-  case 620:
+  case 621:
 
 /* Line 690 of lalr1.cc  */
 #line 5702 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8799,7 +8803,7 @@
         }
     break;
 
-  case 621:
+  case 622:
 
 /* Line 690 of lalr1.cc  */
 #line 5708 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8808,7 +8812,7 @@
         }
     break;
 
-  case 622:
+  case 623:
 
 /* Line 690 of lalr1.cc  */
 #line 5712 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8819,7 +8823,7 @@
         }
     break;
 
-  case 623:
+  case 624:
 
 /* Line 690 of lalr1.cc  */
 #line 5718 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8828,7 +8832,7 @@
         }
     break;
 
-  case 624:
+  case 625:
 
 /* Line 690 of lalr1.cc  */
 #line 5722 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8839,7 +8843,7 @@
         }
     break;
 
-  case 625:
+  case 626:
 
 /* Line 690 of lalr1.cc  */
 #line 5728 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8850,7 +8854,7 @@
         }
     break;
 
-  case 626:
+  case 627:
 
 /* Line 690 of lalr1.cc  */
 #line 5734 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8862,7 +8866,7 @@
         }
     break;
 
-  case 627:
+  case 628:
 
 /* Line 690 of lalr1.cc  */
 #line 5741 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8873,7 +8877,7 @@
         }
     break;
 
-  case 628:
+  case 629:
 
 /* Line 690 of lalr1.cc  */
 #line 5751 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8882,7 +8886,7 @@
         }
     break;
 
-  case 629:
+  case 630:
 
 /* Line 690 of lalr1.cc  */
 #line 5756 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8891,7 +8895,7 @@
         }
     break;
 
-  case 630:
+  case 631:
 
 /* Line 690 of lalr1.cc  */
 #line 5764 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8902,7 +8906,7 @@
         }
     break;
 
-  case 631:
+  case 632:
 
 /* Line 690 of lalr1.cc  */
 #line 5770 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8913,7 +8917,7 @@
         }
     break;
 
-  case 632:
+  case 633:
 
 /* Line 690 of lalr1.cc  */
 #line 5780 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8922,7 +8926,7 @@
         }
     break;
 
-  case 633:
+  case 634:
 
 /* Line 690 of lalr1.cc  */
 #line 5802 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8932,7 +8936,7 @@
     }
     break;
 
-  case 634:
+  case 635:
 
 /* Line 690 of lalr1.cc  */
 #line 5811 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8943,7 +8947,7 @@
     }
     break;
 
-  case 635:
+  case 636:
 
 /* Line 690 of lalr1.cc  */
 #line 5817 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8955,7 +8959,7 @@
     }
     break;
 
-  case 636:
+  case 637:
 
 /* Line 690 of lalr1.cc  */
 #line 5830 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8964,7 +8968,7 @@
     }
     break;
 
-  case 637:
+  case 638:
 
 /* Line 690 of lalr1.cc  */
 #line 5844 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8973,7 +8977,7 @@
         }
     break;
 
-  case 638:
+  case 639:
 
 /* Line 690 of lalr1.cc  */
 #line 5851 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8984,7 +8988,7 @@
         }
     break;
 
-  case 639:
+  case 640:
 
 /* Line 690 of lalr1.cc  */
 #line 5857 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -8996,7 +9000,7 @@
         }
     break;
 
-  case 640:
+  case 641:
 
 /* Line 690 of lalr1.cc  */
 #line 5867 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9006,7 +9010,7 @@
     }
     break;
 
-  case 641:
+  case 642:
 
 /* Line 690 of lalr1.cc  */
 #line 5876 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9015,7 +9019,7 @@
     }
     break;
 
-  case 642:
+  case 643:
 
 /* Line 690 of lalr1.cc  */
 #line 5884 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9026,7 +9030,7 @@
         }
     break;
 
-  case 643:
+  case 644:
 
 /* Line 690 of lalr1.cc  */
 #line 5890 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9038,7 +9042,7 @@
         }
     break;
 
-  case 644:
+  case 645:
 
 /* Line 690 of lalr1.cc  */
 #line 5908 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9048,7 +9052,7 @@
         }
     break;
 
-  case 645:
+  case 646:
 
 /* Line 690 of lalr1.cc  */
 #line 5916 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9057,7 +9061,7 @@
         }
     break;
 
-  case 646:
+  case 647:
 
 /* Line 690 of lalr1.cc  */
 #line 5920 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9066,7 +9070,7 @@
         }
     break;
 
-  case 647:
+  case 648:
 
 /* Line 690 of lalr1.cc  */
 #line 5927 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9076,7 +9080,7 @@
         }
     break;
 
-  case 648:
+  case 649:
 
 /* Line 690 of lalr1.cc  */
 #line 5932 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9086,7 +9090,7 @@
         }
     break;
 
-  case 649:
+  case 650:
 
 /* Line 690 of lalr1.cc  */
 #line 5940 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9095,7 +9099,7 @@
         }
     break;
 
-  case 650:
+  case 651:
 
 /* Line 690 of lalr1.cc  */
 #line 5944 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9104,7 +9108,7 @@
         }
     break;
 
-  case 651:
+  case 652:
 
 /* Line 690 of lalr1.cc  */
 #line 5951 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9113,7 +9117,7 @@
         }
     break;
 
-  case 652:
+  case 653:
 
 /* Line 690 of lalr1.cc  */
 #line 5955 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9122,7 +9126,7 @@
         }
     break;
 
-  case 653:
+  case 654:
 
 /* Line 690 of lalr1.cc  */
 #line 5962 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9131,7 +9135,7 @@
         }
     break;
 
-  case 654:
+  case 655:
 
 /* Line 690 of lalr1.cc  */
 #line 5966 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9140,7 +9144,7 @@
         }
     break;
 
-  case 655:
+  case 656:
 
 /* Line 690 of lalr1.cc  */
 #line 5973 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9149,7 +9153,7 @@
         }
     break;
 
-  case 656:
+  case 657:
 
 /* Line 690 of lalr1.cc  */
 #line 5977 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9160,7 +9164,7 @@
         }
     break;
 
-  case 657:
+  case 658:
 
 /* Line 690 of lalr1.cc  */
 #line 5986 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9174,7 +9178,7 @@
         }
     break;
 
-  case 658:
+  case 659:
 
 /* Line 690 of lalr1.cc  */
 #line 5998 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9183,7 +9187,7 @@
         }
     break;
 
-  case 659:
+  case 660:
 
 /* Line 690 of lalr1.cc  */
 #line 6002 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9192,7 +9196,7 @@
         }
     break;
 
-  case 660:
+  case 661:
 
 /* Line 690 of lalr1.cc  */
 #line 6009 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9201,7 +9205,7 @@
         }
     break;
 
-  case 661:
+  case 662:
 
 /* Line 690 of lalr1.cc  */
 #line 6013 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9210,7 +9214,7 @@
         }
     break;
 
-  case 662:
+  case 663:
 
 /* Line 690 of lalr1.cc  */
 #line 6021 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9219,7 +9223,7 @@
         }
     break;
 
-  case 663:
+  case 664:
 
 /* Line 690 of lalr1.cc  */
 #line 6029 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9232,7 +9236,7 @@
         }
     break;
 
-  case 664:
+  case 665:
 
 /* Line 690 of lalr1.cc  */
 #line 6037 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9241,7 +9245,7 @@
         }
     break;
 
-  case 665:
+  case 666:
 
 /* Line 690 of lalr1.cc  */
 #line 6041 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9250,7 +9254,7 @@
         }
     break;
 
-  case 666:
+  case 667:
 
 /* Line 690 of lalr1.cc  */
 #line 6048 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9259,7 +9263,7 @@
         }
     break;
 
-  case 667:
+  case 668:
 
 /* Line 690 of lalr1.cc  */
 #line 6052 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9268,7 +9272,7 @@
         }
     break;
 
-  case 668:
+  case 669:
 
 /* Line 690 of lalr1.cc  */
 #line 6060 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9281,7 +9285,7 @@
         }
     break;
 
-  case 669:
+  case 670:
 
 /* Line 690 of lalr1.cc  */
 #line 6071 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9290,7 +9294,7 @@
         }
     break;
 
-  case 670:
+  case 671:
 
 /* Line 690 of lalr1.cc  */
 #line 6075 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9299,7 +9303,7 @@
         }
     break;
 
-  case 671:
+  case 672:
 
 /* Line 690 of lalr1.cc  */
 #line 6083 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9312,7 +9316,7 @@
         }
     break;
 
-  case 672:
+  case 673:
 
 /* Line 690 of lalr1.cc  */
 #line 6095 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9323,7 +9327,7 @@
         }
     break;
 
-  case 673:
+  case 674:
 
 /* Line 690 of lalr1.cc  */
 #line 6101 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9334,7 +9338,7 @@
         }
     break;
 
-  case 674:
+  case 675:
 
 /* Line 690 of lalr1.cc  */
 #line 6110 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9343,7 +9347,7 @@
         }
     break;
 
-  case 675:
+  case 676:
 
 /* Line 690 of lalr1.cc  */
 #line 6114 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9352,7 +9356,7 @@
         }
     break;
 
-  case 676:
+  case 677:
 
 /* Line 690 of lalr1.cc  */
 #line 6122 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9361,7 +9365,7 @@
         }
     break;
 
-  case 677:
+  case 678:
 
 /* Line 690 of lalr1.cc  */
 #line 6126 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9370,7 +9374,7 @@
         }
     break;
 
-  case 678:
+  case 679:
 
 /* Line 690 of lalr1.cc  */
 #line 6130 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9379,7 +9383,7 @@
         }
     break;
 
-  case 679:
+  case 680:
 
 /* Line 690 of lalr1.cc  */
 #line 6137 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9388,7 +9392,7 @@
         }
     break;
 
-  case 680:
+  case 681:
 
 /* Line 690 of lalr1.cc  */
 #line 6141 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9397,7 +9401,7 @@
         }
     break;
 
-  case 681:
+  case 682:
 
 /* Line 690 of lalr1.cc  */
 #line 6148 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9406,7 +9410,7 @@
         }
     break;
 
-  case 682:
+  case 683:
 
 /* Line 690 of lalr1.cc  */
 #line 6152 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9415,7 +9419,7 @@
         }
     break;
 
-  case 683:
+  case 684:
 
 /* Line 690 of lalr1.cc  */
 #line 6160 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9424,7 +9428,7 @@
         }
     break;
 
-  case 684:
+  case 685:
 
 /* Line 690 of lalr1.cc  */
 #line 6164 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9433,7 +9437,7 @@
         }
     break;
 
-  case 685:
+  case 686:
 
 /* Line 690 of lalr1.cc  */
 #line 6168 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9442,7 +9446,7 @@
         }
     break;
 
-  case 686:
+  case 687:
 
 /* Line 690 of lalr1.cc  */
 #line 6172 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9451,7 +9455,7 @@
         }
     break;
 
-  case 687:
+  case 688:
 
 /* Line 690 of lalr1.cc  */
 #line 6176 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9460,7 +9464,7 @@
         }
     break;
 
-  case 688:
+  case 689:
 
 /* Line 690 of lalr1.cc  */
 #line 6184 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9469,7 +9473,7 @@
         }
     break;
 
-  case 689:
+  case 690:
 
 /* Line 690 of lalr1.cc  */
 #line 6192 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9482,7 +9486,7 @@
         }
     break;
 
-  case 690:
+  case 691:
 
 /* Line 690 of lalr1.cc  */
 #line 6204 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9495,7 +9499,7 @@
         }
     break;
 
-  case 691:
+  case 692:
 
 /* Line 690 of lalr1.cc  */
 #line 6216 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9504,7 +9508,7 @@
         }
     break;
 
-  case 692:
+  case 693:
 
 /* Line 690 of lalr1.cc  */
 #line 6220 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9513,7 +9517,7 @@
         }
     break;
 
-  case 693:
+  case 694:
 
 /* Line 690 of lalr1.cc  */
 #line 6224 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9522,7 +9526,7 @@
         }
     break;
 
-  case 694:
+  case 695:
 
 /* Line 690 of lalr1.cc  */
 #line 6232 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9533,7 +9537,7 @@
         }
     break;
 
-  case 695:
+  case 696:
 
 /* Line 690 of lalr1.cc  */
 #line 6238 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9544,7 +9548,7 @@
         }
     break;
 
-  case 696:
+  case 697:
 
 /* Line 690 of lalr1.cc  */
 #line 6248 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9553,7 +9557,7 @@
         }
     break;
 
-  case 697:
+  case 698:
 
 /* Line 690 of lalr1.cc  */
 #line 6252 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9562,7 +9566,7 @@
         }
     break;
 
-  case 698:
+  case 699:
 
 /* Line 690 of lalr1.cc  */
 #line 6256 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9571,7 +9575,7 @@
         }
     break;
 
-  case 699:
+  case 700:
 
 /* Line 690 of lalr1.cc  */
 #line 6260 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9580,7 +9584,7 @@
         }
     break;
 
-  case 700:
+  case 701:
 
 /* Line 690 of lalr1.cc  */
 #line 6264 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9589,7 +9593,7 @@
         }
     break;
 
-  case 701:
+  case 702:
 
 /* Line 690 of lalr1.cc  */
 #line 6268 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9598,7 +9602,7 @@
         }
     break;
 
-  case 702:
+  case 703:
 
 /* Line 690 of lalr1.cc  */
 #line 6272 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9607,7 +9611,7 @@
         }
     break;
 
-  case 703:
+  case 704:
 
 /* Line 690 of lalr1.cc  */
 #line 6276 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9616,7 +9620,7 @@
         }
     break;
 
-  case 704:
+  case 705:
 
 /* Line 690 of lalr1.cc  */
 #line 6284 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9625,7 +9629,7 @@
         }
     break;
 
-  case 705:
+  case 706:
 
 /* Line 690 of lalr1.cc  */
 #line 6288 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9634,7 +9638,7 @@
         }
     break;
 
-  case 706:
+  case 707:
 
 /* Line 690 of lalr1.cc  */
 #line 6292 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9643,7 +9647,7 @@
         }
     break;
 
-  case 707:
+  case 708:
 
 /* Line 690 of lalr1.cc  */
 #line 6296 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9652,7 +9656,7 @@
         }
     break;
 
-  case 708:
+  case 709:
 
 /* Line 690 of lalr1.cc  */
 #line 6304 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9663,7 +9667,7 @@
         }
     break;
 
-  case 709:
+  case 710:
 
 /* Line 690 of lalr1.cc  */
 #line 6310 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9674,7 +9678,7 @@
         }
     break;
 
-  case 710:
+  case 711:
 
 /* Line 690 of lalr1.cc  */
 #line 6320 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9685,7 +9689,7 @@
         }
     break;
 
-  case 711:
+  case 712:
 
 /* Line 690 of lalr1.cc  */
 #line 6330 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9694,7 +9698,7 @@
         }
     break;
 
-  case 712:
+  case 713:
 
 /* Line 690 of lalr1.cc  */
 #line 6334 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9703,7 +9707,7 @@
         }
     break;
 
-  case 713:
+  case 714:
 
 /* Line 690 of lalr1.cc  */
 #line 6342 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9718,7 +9722,7 @@
         }
     break;
 
-  case 714:
+  case 715:
 
 /* Line 690 of lalr1.cc  */
 #line 6352 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9734,7 +9738,7 @@
         }
     break;
 
-  case 715:
+  case 716:
 
 /* Line 690 of lalr1.cc  */
 #line 6363 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9743,7 +9747,7 @@
         }
     break;
 
-  case 716:
+  case 717:
 
 /* Line 690 of lalr1.cc  */
 #line 6370 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9752,7 +9756,7 @@
         }
     break;
 
-  case 717:
+  case 718:
 
 /* Line 690 of lalr1.cc  */
 #line 6374 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9761,7 +9765,7 @@
         }
     break;
 
-  case 718:
+  case 719:
 
 /* Line 690 of lalr1.cc  */
 #line 6381 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9770,7 +9774,7 @@
         }
     break;
 
-  case 719:
+  case 720:
 
 /* Line 690 of lalr1.cc  */
 #line 6385 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9779,7 +9783,7 @@
         }
     break;
 
-  case 720:
+  case 721:
 
 /* Line 690 of lalr1.cc  */
 #line 6392 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9789,7 +9793,7 @@
         }
     break;
 
-  case 721:
+  case 722:
 
 /* Line 690 of lalr1.cc  */
 #line 6397 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9799,7 +9803,7 @@
         }
     break;
 
-  case 722:
+  case 723:
 
 /* Line 690 of lalr1.cc  */
 #line 6406 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9810,7 +9814,7 @@
         }
     break;
 
-  case 723:
+  case 724:
 
 /* Line 690 of lalr1.cc  */
 #line 6415 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9819,7 +9823,7 @@
         }
     break;
 
-  case 724:
+  case 725:
 
 /* Line 690 of lalr1.cc  */
 #line 6419 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9828,7 +9832,7 @@
         }
     break;
 
-  case 725:
+  case 726:
 
 /* Line 690 of lalr1.cc  */
 #line 6426 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9837,7 +9841,7 @@
         }
     break;
 
-  case 726:
+  case 727:
 
 /* Line 690 of lalr1.cc  */
 #line 6430 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9846,7 +9850,7 @@
         }
     break;
 
-  case 727:
+  case 728:
 
 /* Line 690 of lalr1.cc  */
 #line 6438 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9860,7 +9864,7 @@
         }
     break;
 
-  case 728:
+  case 729:
 
 /* Line 690 of lalr1.cc  */
 #line 6447 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9872,7 +9876,7 @@
         }
     break;
 
-  case 729:
+  case 730:
 
 /* Line 690 of lalr1.cc  */
 #line 6454 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9883,7 +9887,7 @@
         }
     break;
 
-  case 730:
+  case 731:
 
 /* Line 690 of lalr1.cc  */
 #line 6464 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9892,7 +9896,7 @@
         }
     break;
 
-  case 731:
+  case 732:
 
 /* Line 690 of lalr1.cc  */
 #line 6468 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9901,7 +9905,7 @@
         }
     break;
 
-  case 732:
+  case 733:
 
 /* Line 690 of lalr1.cc  */
 #line 6475 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9912,7 +9916,7 @@
         }
     break;
 
-  case 733:
+  case 734:
 
 /* Line 690 of lalr1.cc  */
 #line 6481 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9923,7 +9927,7 @@
         }
     break;
 
-  case 734:
+  case 735:
 
 /* Line 690 of lalr1.cc  */
 #line 6490 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9932,7 +9936,7 @@
         }
     break;
 
-  case 735:
+  case 736:
 
 /* Line 690 of lalr1.cc  */
 #line 6494 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9941,7 +9945,7 @@
         }
     break;
 
-  case 736:
+  case 737:
 
 /* Line 690 of lalr1.cc  */
 #line 6501 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9951,7 +9955,7 @@
         }
     break;
 
-  case 737:
+  case 738:
 
 /* Line 690 of lalr1.cc  */
 #line 6506 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9964,7 +9968,7 @@
         }
     break;
 
-  case 738:
+  case 739:
 
 /* Line 690 of lalr1.cc  */
 #line 6518 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9977,7 +9981,7 @@
         }
     break;
 
-  case 739:
+  case 740:
 
 /* Line 690 of lalr1.cc  */
 #line 6526 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9990,7 +9994,7 @@
         }
     break;
 
-  case 740:
+  case 741:
 
 /* Line 690 of lalr1.cc  */
 #line 6538 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -9999,7 +10003,7 @@
         }
     break;
 
-  case 741:
+  case 742:
 
 /* Line 690 of lalr1.cc  */
 #line 6546 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -10008,7 +10012,7 @@
         }
     break;
 
-  case 742:
+  case 743:
 
 /* Line 690 of lalr1.cc  */
 #line 6550 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -10017,7 +10021,7 @@
         }
     break;
 
-  case 743:
+  case 744:
 
 /* Line 690 of lalr1.cc  */
 #line 6558 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -10026,7 +10030,7 @@
         }
     break;
 
-  case 744:
+  case 745:
 
 /* Line 690 of lalr1.cc  */
 #line 6562 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -10035,7 +10039,7 @@
         }
     break;
 
-  case 745:
+  case 746:
 
 /* Line 690 of lalr1.cc  */
 #line 6566 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -10044,7 +10048,7 @@
         }
     break;
 
-  case 746:
+  case 747:
 
 /* Line 690 of lalr1.cc  */
 #line 6574 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -10053,7 +10057,7 @@
         }
     break;
 
-  case 747:
+  case 748:
 
 /* Line 690 of lalr1.cc  */
 #line 6582 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -10062,7 +10066,7 @@
         }
     break;
 
-  case 748:
+  case 749:
 
 /* Line 690 of lalr1.cc  */
 #line 6586 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -10071,7 +10075,7 @@
         }
     break;
 
-  case 749:
+  case 750:
 
 /* Line 690 of lalr1.cc  */
 #line 6590 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -10080,7 +10084,7 @@
         }
     break;
 
-  case 750:
+  case 751:
 
 /* Line 690 of lalr1.cc  */
 #line 6594 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -10089,7 +10093,7 @@
         }
     break;
 
-  case 751:
+  case 752:
 
 /* Line 690 of lalr1.cc  */
 #line 6602 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -10102,7 +10106,7 @@
         }
     break;
 
-  case 752:
+  case 753:
 
 /* Line 690 of lalr1.cc  */
 #line 6610 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -10115,7 +10119,7 @@
         }
     break;
 
-  case 753:
+  case 754:
 
 /* Line 690 of lalr1.cc  */
 #line 6622 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -10124,7 +10128,7 @@
         }
     break;
 
-  case 754:
+  case 755:
 
 /* Line 690 of lalr1.cc  */
 #line 6626 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -10133,7 +10137,7 @@
         }
     break;
 
-  case 755:
+  case 756:
 
 /* Line 690 of lalr1.cc  */
 #line 6634 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -10142,7 +10146,7 @@
         }
     break;
 
-  case 756:
+  case 757:
 
 /* Line 690 of lalr1.cc  */
 #line 6648 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -10151,7 +10155,7 @@
         }
     break;
 
-  case 757:
+  case 758:
 
 /* Line 690 of lalr1.cc  */
 #line 6652 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -10160,7 +10164,7 @@
         }
     break;
 
-  case 758:
+  case 759:
 
 /* Line 690 of lalr1.cc  */
 #line 6659 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -10170,7 +10174,7 @@
         }
     break;
 
-  case 759:
+  case 760:
 
 /* Line 690 of lalr1.cc  */
 #line 6664 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -10180,7 +10184,7 @@
         }
     break;
 
-  case 760:
+  case 761:
 
 /* Line 690 of lalr1.cc  */
 #line 6672 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -10190,7 +10194,7 @@
         }
     break;
 
-  case 761:
+  case 762:
 
 /* Line 690 of lalr1.cc  */
 #line 6677 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -10200,7 +10204,7 @@
         }
     break;
 
-  case 762:
+  case 763:
 
 /* Line 690 of lalr1.cc  */
 #line 6686 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -10210,10 +10214,19 @@
         }
     break;
 
-  case 763:
-
-/* Line 690 of lalr1.cc  */
-#line 6694 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+  case 764:
+
+/* Line 690 of lalr1.cc  */
+#line 6691 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    {
+          (yyval.expr) = new JSONDirectObjectConstructor(LOC((yyloc)));
+        }
+    break;
+
+  case 765:
+
+/* Line 690 of lalr1.cc  */
+#line 6698 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
           StringLiteral* sl = new StringLiteral( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (1)].sval)) );
           JSONPairList* jpl = new JSONPairList(LOC((yyloc)));
@@ -10222,10 +10235,10 @@
         }
     break;
 
-  case 764:
+  case 766:
 
 /* Line 690 of lalr1.cc  */
-#line 6701 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 6705 "/home/mbrantner/zorba/sandbox/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)));
@@ -10233,10 +10246,10 @@
         }
     break;
 
-  case 765:
+  case 767:
 
 /* Line 690 of lalr1.cc  */
-#line 6707 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 6711 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
           JSONPairList* jpl = dynamic_cast<JSONPairList*>((yysemantic_stack_[(5) - (1)].node));
           assert(jpl);
@@ -10245,10 +10258,10 @@
         }
     break;
 
-  case 766:
+  case 768:
 
 /* Line 690 of lalr1.cc  */
-#line 6714 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 6718 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
           JSONPairList* jpl = dynamic_cast<JSONPairList*>((yysemantic_stack_[(5) - (1)].node));
           assert(jpl);
@@ -10258,10 +10271,10 @@
         }
     break;
 
-  case 767:
+  case 769:
 
 /* Line 690 of lalr1.cc  */
-#line 6725 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 6729 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new JSONObjectInsertExpr(LOC((yyloc)),
                                         (yysemantic_stack_[(5) - (3)].expr),
@@ -10269,10 +10282,10 @@
         }
     break;
 
-  case 768:
+  case 770:
 
 /* Line 690 of lalr1.cc  */
-#line 6731 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 6735 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
           JSONPairList* jpl = dynamic_cast<JSONPairList*>((yysemantic_stack_[(5) - (3)].node));
           (yyval.expr) = new JSONObjectInsertExpr(
@@ -10284,19 +10297,19 @@
         }
     break;
 
-  case 769:
+  case 771:
 
 /* Line 690 of lalr1.cc  */
-#line 6741 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 6745 "/home/mbrantner/zorba/sandbox/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 770:
+  case 772:
 
 /* Line 690 of lalr1.cc  */
-#line 6746 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 6750 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new JSONObjectInsertExpr(LOC((yyloc)),
                                         (yysemantic_stack_[(4) - (2)].expr),
@@ -10304,10 +10317,10 @@
         }
     break;
 
-  case 771:
+  case 773:
 
 /* Line 690 of lalr1.cc  */
-#line 6752 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 6756 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
           JSONPairList* jpl = dynamic_cast<JSONPairList*>((yysemantic_stack_[(4) - (2)].node));
           (yyval.expr) = new JSONObjectInsertExpr(
@@ -10319,37 +10332,37 @@
         }
     break;
 
-  case 772:
+  case 774:
 
 /* Line 690 of lalr1.cc  */
-#line 6762 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 6766 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new JSONArrayInsertExpr(LOC((yyloc)), (yysemantic_stack_[(7) - (2)].expr), (yysemantic_stack_[(7) - (4)].expr), (yysemantic_stack_[(7) - (7)].expr));
         }
     break;
 
-  case 773:
+  case 775:
 
 /* Line 690 of lalr1.cc  */
-#line 6769 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 6773 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new JSONArrayAppendExpr(LOC((yyloc)), (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr));
         }
     break;
 
-  case 774:
+  case 776:
 
 /* Line 690 of lalr1.cc  */
-#line 6773 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 6777 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
           (yyval.expr) = new JSONArrayAppendExpr(LOC((yyloc)), (yysemantic_stack_[(4) - (2)].expr), (yysemantic_stack_[(4) - (4)].expr));
         }
     break;
 
-  case 775:
+  case 777:
 
 /* Line 690 of lalr1.cc  */
-#line 6780 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 6784 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
           rchandle<DynamicFunctionInvocation> lDynamicFunctionInvocation =
           dynamic_cast<DynamicFunctionInvocation*>((yysemantic_stack_[(3) - (3)].expr));
@@ -10373,10 +10386,10 @@
         }
     break;
 
-  case 776:
+  case 778:
 
 /* Line 690 of lalr1.cc  */
-#line 6802 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 6806 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
           rchandle<DynamicFunctionInvocation> lDynamicFunctionInvocation =
           dynamic_cast<DynamicFunctionInvocation*>((yysemantic_stack_[(2) - (2)].expr));
@@ -10400,10 +10413,10 @@
         }
     break;
 
-  case 777:
+  case 779:
 
 /* Line 690 of lalr1.cc  */
-#line 6827 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 6831 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
           rchandle<DynamicFunctionInvocation> lDynamicFunctionInvocation =
           dynamic_cast<DynamicFunctionInvocation*>((yysemantic_stack_[(5) - (3)].expr));
@@ -10430,10 +10443,10 @@
         }
     break;
 
-  case 778:
+  case 780:
 
 /* Line 690 of lalr1.cc  */
-#line 6852 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 6856 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
           rchandle<DynamicFunctionInvocation> lDynamicFunctionInvocation =
           dynamic_cast<DynamicFunctionInvocation*>((yysemantic_stack_[(4) - (2)].expr));
@@ -10460,10 +10473,10 @@
         }
     break;
 
-  case 779:
+  case 781:
 
 /* Line 690 of lalr1.cc  */
-#line 6880 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 6884 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
           rchandle<DynamicFunctionInvocation> lDynamicFunctionInvocation =
           dynamic_cast<DynamicFunctionInvocation*>((yysemantic_stack_[(7) - (5)].expr));
@@ -10490,10 +10503,10 @@
         }
     break;
 
-  case 780:
+  case 782:
 
 /* Line 690 of lalr1.cc  */
-#line 6905 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 6909 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
           rchandle<DynamicFunctionInvocation> lDynamicFunctionInvocation =
           dynamic_cast<DynamicFunctionInvocation*>((yysemantic_stack_[(6) - (4)].expr));
@@ -10520,16 +10533,7 @@
         }
     break;
 
-  case 781:
-
-/* Line 690 of lalr1.cc  */
-#line 6933 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    {
-          (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 782:
+  case 783:
 
 /* Line 690 of lalr1.cc  */
 #line 6937 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -10538,7 +10542,7 @@
         }
     break;
 
-  case 783:
+  case 784:
 
 /* Line 690 of lalr1.cc  */
 #line 6941 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
@@ -10547,64 +10551,73 @@
         }
     break;
 
-  case 784:
-
-/* Line 690 of lalr1.cc  */
-#line 6948 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    {
-          (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonItem);
-        }
-    break;
-
   case 785:
 
 /* Line 690 of lalr1.cc  */
-#line 6953 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 6945 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
-          (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonItem);
+          (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
   case 786:
 
 /* Line 690 of lalr1.cc  */
-#line 6960 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 6952 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
-          (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonObject);
+          (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonItem);
         }
     break;
 
   case 787:
 
 /* Line 690 of lalr1.cc  */
-#line 6965 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 6957 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
-          (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonObject);
+          (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonItem);
         }
     break;
 
   case 788:
 
 /* Line 690 of lalr1.cc  */
-#line 6972 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 6964 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
-          (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonArray);
+          (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonObject);
         }
     break;
 
   case 789:
 
 /* Line 690 of lalr1.cc  */
-#line 6977 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    {
-          (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonArray);
-        }
-    break;
-
-  case 792:
-
-/* Line 690 of lalr1.cc  */
-#line 6994 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 6969 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    {
+          (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonObject);
+        }
+    break;
+
+  case 790:
+
+/* Line 690 of lalr1.cc  */
+#line 6976 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    {
+          (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonArray);
+        }
+    break;
+
+  case 791:
+
+/* Line 690 of lalr1.cc  */
+#line 6981 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    {
+          (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonArray);
+        }
+    break;
+
+  case 794:
+
+/* Line 690 of lalr1.cc  */
+#line 6998 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     {
           auto_ptr<QName> lQName( static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
           zstring const &tmp = lQName->get_qname();
@@ -10616,1487 +10629,1487 @@
         }
     break;
 
-  case 794:
+  case 796:
 
 /* Line 690 of lalr1.cc  */
-#line 7007 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7011 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("attribute"))); }
     break;
 
-  case 795:
+  case 797:
 
 /* Line 690 of lalr1.cc  */
-#line 7008 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7012 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("comment"))); }
     break;
 
-  case 796:
+  case 798:
 
 /* Line 690 of lalr1.cc  */
-#line 7009 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7013 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("document-node"))); }
     break;
 
-  case 797:
+  case 799:
 
 /* Line 690 of lalr1.cc  */
-#line 7010 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7014 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("namespace-node"))); }
     break;
 
-  case 798:
+  case 800:
 
 /* Line 690 of lalr1.cc  */
-#line 7011 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7015 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("element"))); }
     break;
 
-  case 799:
+  case 801:
 
 /* Line 690 of lalr1.cc  */
-#line 7013 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7017 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("if"))); }
     break;
 
-  case 800:
+  case 802:
 
 /* Line 690 of lalr1.cc  */
-#line 7014 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7018 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("node"))); }
     break;
 
-  case 801:
+  case 803:
 
 /* Line 690 of lalr1.cc  */
-#line 7015 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7019 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("processing-instruction"))); }
     break;
 
-  case 802:
+  case 804:
 
 /* Line 690 of lalr1.cc  */
-#line 7016 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7020 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("schema-attribute"))); }
     break;
 
-  case 803:
+  case 805:
 
 /* Line 690 of lalr1.cc  */
-#line 7017 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7021 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("schema-element"))); }
     break;
 
-  case 804:
+  case 806:
 
 /* Line 690 of lalr1.cc  */
-#line 7018 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7022 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("text"))); }
     break;
 
-  case 805:
+  case 807:
 
 /* Line 690 of lalr1.cc  */
-#line 7019 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7023 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("typeswitch"))); }
     break;
 
-  case 806:
+  case 808:
 
 /* Line 690 of lalr1.cc  */
-#line 7020 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7024 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("switch"))); }
     break;
 
-  case 807:
+  case 809:
 
 /* Line 690 of lalr1.cc  */
-#line 7021 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7025 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("empty-sequence"))); }
     break;
 
-  case 808:
+  case 810:
 
 /* Line 690 of lalr1.cc  */
-#line 7022 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7026 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("while"))); }
     break;
 
-  case 810:
+  case 812:
 
 /* Line 690 of lalr1.cc  */
-#line 7027 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7031 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval))); }
     break;
 
-  case 811:
+  case 813:
 
 /* Line 690 of lalr1.cc  */
-#line 7028 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7032 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("xquery"))); }
     break;
 
-  case 812:
+  case 814:
 
 /* Line 690 of lalr1.cc  */
-#line 7029 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7033 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("empty"))); }
     break;
 
-  case 813:
+  case 815:
 
 /* Line 690 of lalr1.cc  */
-#line 7030 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7034 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("boundary-space"))); }
     break;
 
-  case 814:
+  case 816:
 
 /* Line 690 of lalr1.cc  */
-#line 7031 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7035 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ft-option"))); }
     break;
 
-  case 815:
+  case 817:
 
 /* Line 690 of lalr1.cc  */
-#line 7032 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7036 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("base-uri"))); }
     break;
 
-  case 816:
+  case 818:
 
 /* Line 690 of lalr1.cc  */
-#line 7033 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7037 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("lax"))); }
     break;
 
-  case 817:
+  case 819:
 
 /* Line 690 of lalr1.cc  */
-#line 7034 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7038 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("strict"))); }
     break;
 
-  case 818:
+  case 820:
 
 /* Line 690 of lalr1.cc  */
-#line 7035 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7039 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("idiv"))); }
     break;
 
-  case 819:
+  case 821:
 
 /* Line 690 of lalr1.cc  */
-#line 7036 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7040 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("document"))); }
     break;
 
-  case 820:
+  case 822:
 
 /* Line 690 of lalr1.cc  */
-#line 7037 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7041 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ftnot"))); }
     break;
 
-  case 821:
+  case 823:
 
 /* Line 690 of lalr1.cc  */
-#line 7038 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7042 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("not"))); }
     break;
 
-  case 822:
+  case 824:
 
 /* Line 690 of lalr1.cc  */
-#line 7039 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7043 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("sensitive"))); }
     break;
 
-  case 823:
+  case 825:
 
 /* Line 690 of lalr1.cc  */
-#line 7040 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7044 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("insensitive"))); }
     break;
 
-  case 824:
+  case 826:
 
 /* Line 690 of lalr1.cc  */
-#line 7041 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7045 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("diacritics"))); }
     break;
 
-  case 825:
+  case 827:
 
 /* Line 690 of lalr1.cc  */
-#line 7042 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7046 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("without"))); }
     break;
 
-  case 826:
+  case 828:
 
 /* Line 690 of lalr1.cc  */
-#line 7043 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7047 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("stemming"))); }
     break;
 
-  case 827:
+  case 829:
 
 /* Line 690 of lalr1.cc  */
-#line 7044 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7048 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("thesaurus"))); }
     break;
 
-  case 828:
+  case 830:
 
 /* Line 690 of lalr1.cc  */
-#line 7045 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7049 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("stop"))); }
     break;
 
-  case 829:
+  case 831:
 
 /* Line 690 of lalr1.cc  */
-#line 7046 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7050 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("wildcards"))); }
     break;
 
-  case 830:
+  case 832:
 
 /* Line 690 of lalr1.cc  */
-#line 7047 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7051 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("entire"))); }
     break;
 
-  case 831:
+  case 833:
 
 /* Line 690 of lalr1.cc  */
-#line 7048 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7052 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("content"))); }
     break;
 
-  case 832:
+  case 834:
 
 /* Line 690 of lalr1.cc  */
-#line 7049 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7053 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("word"))); }
     break;
 
-  case 833:
+  case 835:
 
 /* Line 690 of lalr1.cc  */
-#line 7050 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7054 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("start"))); }
     break;
 
-  case 834:
+  case 836:
 
 /* Line 690 of lalr1.cc  */
-#line 7051 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7055 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("end"))); }
     break;
 
-  case 835:
+  case 837:
 
 /* Line 690 of lalr1.cc  */
-#line 7052 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7056 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("most"))); }
     break;
 
-  case 836:
+  case 838:
 
 /* Line 690 of lalr1.cc  */
-#line 7053 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7057 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("skip"))); }
     break;
 
-  case 837:
+  case 839:
 
 /* Line 690 of lalr1.cc  */
-#line 7054 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7058 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("copy"))); }
     break;
 
-  case 838:
+  case 840:
 
 /* Line 690 of lalr1.cc  */
-#line 7055 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7059 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("general"))); }
     break;
 
-  case 839:
+  case 841:
 
 /* Line 690 of lalr1.cc  */
-#line 7056 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7060 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("value"))); }
     break;
 
-  case 840:
+  case 842:
 
 /* Line 690 of lalr1.cc  */
-#line 7057 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7061 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("eq"))); }
     break;
 
-  case 841:
+  case 843:
 
 /* Line 690 of lalr1.cc  */
-#line 7058 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7062 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ne"))); }
     break;
 
-  case 842:
+  case 844:
 
 /* Line 690 of lalr1.cc  */
-#line 7059 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7063 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("lt"))); }
     break;
 
-  case 843:
+  case 845:
 
 /* Line 690 of lalr1.cc  */
-#line 7060 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7064 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("le"))); }
     break;
 
-  case 844:
+  case 846:
 
 /* Line 690 of lalr1.cc  */
-#line 7061 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7065 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("gt"))); }
     break;
 
-  case 845:
+  case 847:
 
 /* Line 690 of lalr1.cc  */
-#line 7062 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7066 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ge"))); }
     break;
 
-  case 846:
+  case 848:
 
 /* Line 690 of lalr1.cc  */
-#line 7063 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7067 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("at"))); }
     break;
 
-  case 847:
+  case 849:
 
 /* Line 690 of lalr1.cc  */
-#line 7064 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7068 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("context"))); }
     break;
 
-  case 848:
+  case 850:
 
 /* Line 690 of lalr1.cc  */
-#line 7065 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7069 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("variable"))); }
     break;
 
-  case 849:
+  case 851:
 
 /* Line 690 of lalr1.cc  */
-#line 7066 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7070 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("return"))); }
     break;
 
-  case 850:
+  case 852:
 
 /* Line 690 of lalr1.cc  */
-#line 7067 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7071 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("for"))); }
     break;
 
-  case 851:
+  case 853:
 
 /* Line 690 of lalr1.cc  */
-#line 7068 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7072 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("allowing"))); }
     break;
 
-  case 852:
+  case 854:
 
 /* Line 690 of lalr1.cc  */
-#line 7069 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7073 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("sliding"))); }
     break;
 
-  case 853:
+  case 855:
 
 /* Line 690 of lalr1.cc  */
-#line 7070 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7074 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("tumbling"))); }
     break;
 
-  case 854:
+  case 856:
 
 /* Line 690 of lalr1.cc  */
-#line 7071 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7075 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("previous"))); }
     break;
 
-  case 855:
+  case 857:
 
 /* Line 690 of lalr1.cc  */
-#line 7072 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7076 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("next"))); }
     break;
 
-  case 856:
+  case 858:
 
 /* Line 690 of lalr1.cc  */
-#line 7073 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7077 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("only"))); }
     break;
 
-  case 857:
+  case 859:
 
 /* Line 690 of lalr1.cc  */
-#line 7074 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7078 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("when"))); }
     break;
 
-  case 858:
+  case 860:
 
 /* Line 690 of lalr1.cc  */
-#line 7075 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7079 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("count"))); }
     break;
 
-  case 859:
+  case 861:
 
 /* Line 690 of lalr1.cc  */
-#line 7076 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7080 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("in"))); }
     break;
 
-  case 860:
+  case 862:
 
 /* Line 690 of lalr1.cc  */
-#line 7077 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7081 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("let"))); }
     break;
 
-  case 861:
+  case 863:
 
 /* Line 690 of lalr1.cc  */
-#line 7078 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7082 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("where"))); }
     break;
 
-  case 862:
+  case 864:
 
 /* Line 690 of lalr1.cc  */
-#line 7079 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7083 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("by"))); }
     break;
 
-  case 863:
+  case 865:
 
 /* Line 690 of lalr1.cc  */
-#line 7080 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7084 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("group"))); }
     break;
 
-  case 864:
+  case 866:
 
 /* Line 690 of lalr1.cc  */
-#line 7081 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7085 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("order"))); }
     break;
 
-  case 865:
+  case 867:
 
 /* Line 690 of lalr1.cc  */
-#line 7082 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7086 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("stable"))); }
     break;
 
-  case 866:
+  case 868:
 
 /* Line 690 of lalr1.cc  */
-#line 7083 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7087 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ascending"))); }
     break;
 
-  case 867:
+  case 869:
 
 /* Line 690 of lalr1.cc  */
-#line 7084 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7088 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("descending"))); }
     break;
 
-  case 868:
+  case 870:
 
 /* Line 690 of lalr1.cc  */
-#line 7085 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7089 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("greatest"))); }
     break;
 
-  case 869:
+  case 871:
 
 /* Line 690 of lalr1.cc  */
-#line 7086 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7090 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("least"))); }
     break;
 
-  case 870:
+  case 872:
 
 /* Line 690 of lalr1.cc  */
-#line 7087 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7091 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("collation"))); }
     break;
 
-  case 871:
+  case 873:
 
 /* Line 690 of lalr1.cc  */
-#line 7088 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7092 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("some"))); }
     break;
 
-  case 872:
+  case 874:
 
 /* Line 690 of lalr1.cc  */
-#line 7089 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7093 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("every"))); }
     break;
 
-  case 873:
+  case 875:
 
 /* Line 690 of lalr1.cc  */
-#line 7090 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7094 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("satisfies"))); }
     break;
 
-  case 874:
+  case 876:
 
 /* Line 690 of lalr1.cc  */
-#line 7091 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7095 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("case"))); }
     break;
 
-  case 875:
+  case 877:
 
 /* Line 690 of lalr1.cc  */
-#line 7092 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7096 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("as"))); }
     break;
 
-  case 876:
+  case 878:
 
 /* Line 690 of lalr1.cc  */
-#line 7093 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7097 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("then"))); }
     break;
 
-  case 877:
+  case 879:
 
 /* Line 690 of lalr1.cc  */
-#line 7094 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7098 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("else"))); }
     break;
 
-  case 878:
+  case 880:
 
 /* Line 690 of lalr1.cc  */
-#line 7095 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7099 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("or"))); }
     break;
 
-  case 879:
+  case 881:
 
 /* Line 690 of lalr1.cc  */
-#line 7096 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7100 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("and"))); }
     break;
 
-  case 880:
+  case 882:
 
 /* Line 690 of lalr1.cc  */
-#line 7097 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7101 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("instance"))); }
     break;
 
-  case 881:
+  case 883:
 
 /* Line 690 of lalr1.cc  */
-#line 7098 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7102 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("of"))); }
     break;
 
-  case 882:
+  case 884:
 
 /* Line 690 of lalr1.cc  */
-#line 7099 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7103 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("castable"))); }
     break;
 
-  case 883:
+  case 885:
 
 /* Line 690 of lalr1.cc  */
-#line 7100 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7104 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("to"))); }
     break;
 
-  case 884:
+  case 886:
 
 /* Line 690 of lalr1.cc  */
-#line 7101 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7105 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("div"))); }
     break;
 
-  case 885:
+  case 887:
 
 /* Line 690 of lalr1.cc  */
-#line 7102 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7106 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("mod"))); }
     break;
 
-  case 886:
+  case 888:
 
 /* Line 690 of lalr1.cc  */
-#line 7103 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7107 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("union"))); }
     break;
 
-  case 887:
+  case 889:
 
 /* Line 690 of lalr1.cc  */
-#line 7104 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7108 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("intersect"))); }
     break;
 
-  case 888:
+  case 890:
 
 /* Line 690 of lalr1.cc  */
-#line 7105 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7109 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("except"))); }
     break;
 
-  case 889:
+  case 891:
 
 /* Line 690 of lalr1.cc  */
-#line 7106 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7110 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("validate"))); }
     break;
 
-  case 890:
+  case 892:
 
 /* Line 690 of lalr1.cc  */
-#line 7107 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7111 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("type"))); }
     break;
 
-  case 891:
+  case 893:
 
 /* Line 690 of lalr1.cc  */
-#line 7108 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7112 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("cast"))); }
     break;
 
-  case 892:
+  case 894:
 
 /* Line 690 of lalr1.cc  */
-#line 7109 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7113 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("treat"))); }
     break;
 
-  case 893:
+  case 895:
 
 /* Line 690 of lalr1.cc  */
-#line 7110 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7114 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("is"))); }
     break;
 
-  case 894:
+  case 896:
 
 /* Line 690 of lalr1.cc  */
-#line 7111 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7115 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("preserve"))); }
     break;
 
-  case 895:
+  case 897:
 
 /* Line 690 of lalr1.cc  */
-#line 7112 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7116 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("strip"))); }
     break;
 
-  case 896:
+  case 898:
 
 /* Line 690 of lalr1.cc  */
-#line 7113 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7117 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("namespace"))); }
     break;
 
-  case 897:
+  case 899:
 
 /* Line 690 of lalr1.cc  */
-#line 7114 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7118 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("external"))); }
     break;
 
-  case 898:
+  case 900:
 
 /* Line 690 of lalr1.cc  */
-#line 7115 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7119 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("encoding"))); }
     break;
 
-  case 899:
+  case 901:
 
 /* Line 690 of lalr1.cc  */
-#line 7116 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7120 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("no-preserve"))); }
     break;
 
-  case 900:
+  case 902:
 
 /* Line 690 of lalr1.cc  */
-#line 7117 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7121 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("inherit"))); }
     break;
 
-  case 901:
+  case 903:
 
 /* Line 690 of lalr1.cc  */
-#line 7118 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7122 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("no-inherit"))); }
     break;
 
-  case 902:
+  case 904:
 
 /* Line 690 of lalr1.cc  */
-#line 7119 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7123 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("declare"))); }
     break;
 
-  case 903:
+  case 905:
 
 /* Line 690 of lalr1.cc  */
-#line 7120 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7124 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("construction"))); }
     break;
 
-  case 904:
+  case 906:
 
 /* Line 690 of lalr1.cc  */
-#line 7121 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7125 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ordering"))); }
     break;
 
-  case 905:
+  case 907:
 
 /* Line 690 of lalr1.cc  */
-#line 7122 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7126 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("default"))); }
     break;
 
-  case 906:
+  case 908:
 
 /* Line 690 of lalr1.cc  */
-#line 7123 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7127 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("copy-namespaces"))); }
     break;
 
-  case 907:
+  case 909:
 
 /* Line 690 of lalr1.cc  */
-#line 7124 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7128 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("option"))); }
     break;
 
-  case 908:
+  case 910:
 
 /* Line 690 of lalr1.cc  */
-#line 7125 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7129 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("version"))); }
     break;
 
-  case 909:
+  case 911:
 
 /* Line 690 of lalr1.cc  */
-#line 7126 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7130 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("import"))); }
     break;
 
-  case 910:
+  case 912:
 
 /* Line 690 of lalr1.cc  */
-#line 7127 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7131 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("schema"))); }
     break;
 
-  case 911:
+  case 913:
 
 /* Line 690 of lalr1.cc  */
-#line 7128 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7132 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("module"))); }
     break;
 
-  case 912:
+  case 914:
 
 /* Line 690 of lalr1.cc  */
-#line 7129 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7133 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("function"))); }
     break;
 
-  case 913:
+  case 915:
 
 /* Line 690 of lalr1.cc  */
-#line 7130 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7134 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("score"))); }
     break;
 
-  case 914:
+  case 916:
 
 /* Line 690 of lalr1.cc  */
-#line 7131 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7135 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("contains"))); }
     break;
 
-  case 915:
+  case 917:
 
 /* Line 690 of lalr1.cc  */
-#line 7132 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7136 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("weight"))); }
     break;
 
-  case 916:
+  case 918:
 
 /* Line 690 of lalr1.cc  */
-#line 7133 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7137 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("window"))); }
     break;
 
-  case 917:
+  case 919:
 
 /* Line 690 of lalr1.cc  */
-#line 7134 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7138 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("distance"))); }
     break;
 
-  case 918:
+  case 920:
 
 /* Line 690 of lalr1.cc  */
-#line 7135 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7139 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("occurs"))); }
     break;
 
-  case 919:
+  case 921:
 
 /* Line 690 of lalr1.cc  */
-#line 7136 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7140 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("times"))); }
     break;
 
-  case 920:
+  case 922:
 
 /* Line 690 of lalr1.cc  */
-#line 7137 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7141 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("same"))); }
     break;
 
-  case 921:
+  case 923:
 
 /* Line 690 of lalr1.cc  */
-#line 7138 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7142 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("different"))); }
     break;
 
-  case 922:
+  case 924:
 
 /* Line 690 of lalr1.cc  */
-#line 7139 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7143 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("lowercase"))); }
     break;
 
-  case 923:
+  case 925:
 
 /* Line 690 of lalr1.cc  */
-#line 7140 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7144 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("uppercase"))); }
     break;
 
-  case 924:
+  case 926:
 
 /* Line 690 of lalr1.cc  */
-#line 7141 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7145 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("relationship"))); }
     break;
 
-  case 925:
+  case 927:
 
 /* Line 690 of lalr1.cc  */
-#line 7142 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7146 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("levels"))); }
     break;
 
-  case 926:
+  case 928:
 
 /* Line 690 of lalr1.cc  */
-#line 7143 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7147 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("language"))); }
     break;
 
-  case 927:
+  case 929:
 
 /* Line 690 of lalr1.cc  */
-#line 7144 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7148 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("any"))); }
     break;
 
-  case 928:
+  case 930:
 
 /* Line 690 of lalr1.cc  */
-#line 7145 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7149 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("all"))); }
     break;
 
-  case 929:
+  case 931:
 
 /* Line 690 of lalr1.cc  */
-#line 7146 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7150 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("exactly"))); }
     break;
 
-  case 930:
+  case 932:
 
 /* Line 690 of lalr1.cc  */
-#line 7147 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7151 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("from"))); }
     break;
 
-  case 931:
+  case 933:
 
 /* Line 690 of lalr1.cc  */
-#line 7148 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7152 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("words"))); }
     break;
 
-  case 932:
+  case 934:
 
 /* Line 690 of lalr1.cc  */
-#line 7149 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7153 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("sentences"))); }
     break;
 
-  case 933:
+  case 935:
 
 /* Line 690 of lalr1.cc  */
-#line 7150 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7154 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("sentence"))); }
     break;
 
-  case 934:
+  case 936:
 
 /* Line 690 of lalr1.cc  */
-#line 7151 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7155 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("phrase"))); }
     break;
 
-  case 935:
+  case 937:
 
 /* Line 690 of lalr1.cc  */
-#line 7152 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7156 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("paragraph"))); }
     break;
 
-  case 936:
+  case 938:
 
 /* Line 690 of lalr1.cc  */
-#line 7153 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7157 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("paragraphs"))); }
     break;
 
-  case 937:
+  case 939:
 
 /* Line 690 of lalr1.cc  */
-#line 7155 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7159 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("modify"))); }
     break;
 
-  case 938:
+  case 940:
 
 /* Line 690 of lalr1.cc  */
-#line 7156 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7160 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("first"))); }
     break;
 
-  case 939:
+  case 941:
 
 /* Line 690 of lalr1.cc  */
-#line 7158 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7162 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("before"))); }
     break;
 
-  case 940:
+  case 942:
 
 /* Line 690 of lalr1.cc  */
-#line 7159 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7163 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("after"))); }
     break;
 
-  case 941:
+  case 943:
 
 /* Line 690 of lalr1.cc  */
-#line 7160 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7164 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("revalidation"))); }
     break;
 
-  case 942:
+  case 944:
 
 /* Line 690 of lalr1.cc  */
-#line 7161 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7165 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("with"))); }
     break;
 
-  case 943:
-
-/* Line 690 of lalr1.cc  */
-#line 7162 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("nodes"))); }
-    break;
-
-  case 944:
-
-/* Line 690 of lalr1.cc  */
-#line 7164 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("last"))); }
-    break;
-
   case 945:
 
 /* Line 690 of lalr1.cc  */
 #line 7166 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("into"))); }
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("nodes"))); }
     break;
 
   case 946:
 
 /* Line 690 of lalr1.cc  */
-#line 7167 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("simple"))); }
+#line 7168 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("last"))); }
     break;
 
   case 947:
 
 /* Line 690 of lalr1.cc  */
-#line 7168 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("sequential"))); }
+#line 7170 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("into"))); }
     break;
 
   case 948:
 
 /* Line 690 of lalr1.cc  */
-#line 7169 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("updating"))); }
+#line 7171 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("simple"))); }
     break;
 
   case 949:
 
 /* Line 690 of lalr1.cc  */
-#line 7170 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ordered"))); }
+#line 7172 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("sequential"))); }
     break;
 
   case 950:
 
 /* Line 690 of lalr1.cc  */
-#line 7171 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("unordered"))); }
+#line 7173 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("updating"))); }
     break;
 
   case 951:
 
 /* Line 690 of lalr1.cc  */
-#line 7172 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("returning"))); }
+#line 7174 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ordered"))); }
     break;
 
   case 952:
 
 /* Line 690 of lalr1.cc  */
-#line 7173 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("exit"))); }
+#line 7175 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("unordered"))); }
     break;
 
   case 953:
 
 /* Line 690 of lalr1.cc  */
-#line 7174 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("loop"))); }
+#line 7176 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("returning"))); }
     break;
 
   case 954:
 
 /* Line 690 of lalr1.cc  */
-#line 7175 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("break"))); }
+#line 7177 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("exit"))); }
     break;
 
   case 955:
 
 /* Line 690 of lalr1.cc  */
-#line 7176 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("continue"))); }
+#line 7178 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("loop"))); }
     break;
 
   case 956:
 
 /* Line 690 of lalr1.cc  */
-#line 7177 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("try"))); }
+#line 7179 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("break"))); }
     break;
 
   case 957:
 
 /* Line 690 of lalr1.cc  */
-#line 7178 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("catch"))); }
+#line 7180 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("continue"))); }
     break;
 
   case 958:
 
 /* Line 690 of lalr1.cc  */
-#line 7179 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("using"))); }
+#line 7181 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("try"))); }
     break;
 
   case 959:
 
 /* Line 690 of lalr1.cc  */
-#line 7180 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("set"))); }
+#line 7182 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("catch"))); }
     break;
 
   case 960:
 
 /* Line 690 of lalr1.cc  */
-#line 7181 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("index"))); }
+#line 7183 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("using"))); }
     break;
 
   case 961:
 
 /* Line 690 of lalr1.cc  */
-#line 7182 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("unique"))); }
+#line 7184 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("set"))); }
     break;
 
   case 962:
 
 /* Line 690 of lalr1.cc  */
-#line 7183 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("non"))); }
+#line 7185 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("index"))); }
     break;
 
   case 963:
 
 /* Line 690 of lalr1.cc  */
-#line 7184 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("on"))); }
+#line 7186 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("unique"))); }
     break;
 
   case 964:
 
 /* Line 690 of lalr1.cc  */
-#line 7185 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("range"))); }
+#line 7187 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("non"))); }
     break;
 
   case 965:
 
 /* Line 690 of lalr1.cc  */
-#line 7186 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("equality"))); }
+#line 7188 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("on"))); }
     break;
 
   case 966:
 
 /* Line 690 of lalr1.cc  */
-#line 7187 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("manually"))); }
+#line 7189 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("range"))); }
     break;
 
   case 967:
 
 /* Line 690 of lalr1.cc  */
-#line 7188 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("automatically"))); }
+#line 7190 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("equality"))); }
     break;
 
   case 968:
 
 /* Line 690 of lalr1.cc  */
-#line 7189 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("maintained"))); }
+#line 7191 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("manually"))); }
     break;
 
   case 969:
 
 /* Line 690 of lalr1.cc  */
-#line 7190 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("decimal-format"))); }
+#line 7192 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("automatically"))); }
     break;
 
   case 970:
 
 /* Line 690 of lalr1.cc  */
-#line 7191 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("decimal-separator"))); }
+#line 7193 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("maintained"))); }
     break;
 
   case 971:
 
 /* Line 690 of lalr1.cc  */
-#line 7192 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("grouping-separator"))); }
+#line 7194 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("decimal-format"))); }
     break;
 
   case 972:
 
 /* Line 690 of lalr1.cc  */
-#line 7193 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("infinity"))); }
+#line 7195 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("decimal-separator"))); }
     break;
 
   case 973:
 
 /* Line 690 of lalr1.cc  */
-#line 7194 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("minus-sign"))); }
+#line 7196 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("grouping-separator"))); }
     break;
 
   case 974:
 
 /* Line 690 of lalr1.cc  */
-#line 7195 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("NaN"))); }
+#line 7197 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("infinity"))); }
     break;
 
   case 975:
 
 /* Line 690 of lalr1.cc  */
-#line 7196 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("percent"))); }
+#line 7198 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("minus-sign"))); }
     break;
 
   case 976:
 
 /* Line 690 of lalr1.cc  */
-#line 7197 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("per-mille"))); }
+#line 7199 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("NaN"))); }
     break;
 
   case 977:
 
 /* Line 690 of lalr1.cc  */
-#line 7198 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("zero-digit"))); }
+#line 7200 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("percent"))); }
     break;
 
   case 978:
 
 /* Line 690 of lalr1.cc  */
-#line 7199 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("digit"))); }
+#line 7201 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("per-mille"))); }
     break;
 
   case 979:
 
 /* Line 690 of lalr1.cc  */
-#line 7200 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("pattern-separator"))); }
+#line 7202 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("zero-digit"))); }
     break;
 
   case 980:
 
 /* Line 690 of lalr1.cc  */
-#line 7201 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("collection"))); }
+#line 7203 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("digit"))); }
     break;
 
   case 981:
 
 /* Line 690 of lalr1.cc  */
-#line 7202 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("const"))); }
+#line 7204 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("pattern-separator"))); }
     break;
 
   case 982:
 
 /* Line 690 of lalr1.cc  */
-#line 7203 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("append-only"))); }
+#line 7205 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("collection"))); }
     break;
 
   case 983:
 
 /* Line 690 of lalr1.cc  */
-#line 7204 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("queue"))); }
+#line 7206 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("const"))); }
     break;
 
   case 984:
 
 /* Line 690 of lalr1.cc  */
-#line 7205 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("mutable"))); }
+#line 7207 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("append-only"))); }
     break;
 
   case 985:
 
 /* Line 690 of lalr1.cc  */
-#line 7206 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("read-only"))); }
+#line 7208 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("queue"))); }
     break;
 
   case 986:
 
 /* Line 690 of lalr1.cc  */
-#line 7207 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("integrity"))); }
+#line 7209 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("mutable"))); }
     break;
 
   case 987:
 
 /* Line 690 of lalr1.cc  */
-#line 7208 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("constraint"))); }
+#line 7210 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("read-only"))); }
     break;
 
   case 988:
 
 /* Line 690 of lalr1.cc  */
-#line 7209 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("check"))); }
+#line 7211 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("integrity"))); }
     break;
 
   case 989:
 
 /* Line 690 of lalr1.cc  */
-#line 7210 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("key"))); }
+#line 7212 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("constraint"))); }
     break;
 
   case 990:
 
 /* Line 690 of lalr1.cc  */
-#line 7211 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("foreach"))); }
+#line 7213 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("check"))); }
     break;
 
   case 991:
 
 /* Line 690 of lalr1.cc  */
-#line 7212 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("foreign"))); }
+#line 7214 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("key"))); }
     break;
 
   case 992:
 
 /* Line 690 of lalr1.cc  */
-#line 7213 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("keys"))); }
+#line 7215 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("foreach"))); }
     break;
 
   case 993:
 
 /* Line 690 of lalr1.cc  */
-#line 7214 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ancestor"))); }
+#line 7216 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("foreign"))); }
     break;
 
   case 994:
 
 /* Line 690 of lalr1.cc  */
-#line 7215 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("child"))); }
+#line 7217 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("keys"))); }
     break;
 
   case 995:
 
 /* Line 690 of lalr1.cc  */
-#line 7216 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("descendant"))); }
+#line 7218 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ancestor"))); }
     break;
 
   case 996:
 
 /* Line 690 of lalr1.cc  */
-#line 7217 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("parent"))); }
+#line 7219 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("child"))); }
     break;
 
   case 997:
 
 /* Line 690 of lalr1.cc  */
-#line 7218 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("preceding"))); }
+#line 7220 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("descendant"))); }
     break;
 
   case 998:
 
 /* Line 690 of lalr1.cc  */
-#line 7219 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("self"))); }
+#line 7221 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("parent"))); }
     break;
 
   case 999:
 
 /* Line 690 of lalr1.cc  */
-#line 7220 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("following"))); }
+#line 7222 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("preceding"))); }
     break;
 
   case 1000:
 
 /* Line 690 of lalr1.cc  */
-#line 7221 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ancestor-or-self"))); }
+#line 7223 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("self"))); }
     break;
 
   case 1001:
 
 /* Line 690 of lalr1.cc  */
-#line 7222 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("descendant-or-self"))); }
+#line 7224 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("following"))); }
     break;
 
   case 1002:
 
 /* Line 690 of lalr1.cc  */
-#line 7223 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("following-sibling"))); }
+#line 7225 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ancestor-or-self"))); }
     break;
 
   case 1003:
 
 /* Line 690 of lalr1.cc  */
-#line 7224 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
-    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("preceding-sibling"))); }
+#line 7226 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("descendant-or-self"))); }
     break;
 
   case 1004:
 
 /* Line 690 of lalr1.cc  */
 #line 7227 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("following-sibling"))); }
+    break;
+
+  case 1005:
+
+/* Line 690 of lalr1.cc  */
+#line 7228 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+    { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("preceding-sibling"))); }
+    break;
+
+  case 1006:
+
+/* Line 690 of lalr1.cc  */
+#line 7231 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("position"))); }
     break;
 
-  case 1005:
+  case 1007:
 
 /* Line 690 of lalr1.cc  */
-#line 7236 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
+#line 7240 "/home/mbrantner/zorba/sandbox/src/compiler/parser/jsoniq_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)), true); }
     break;
 
 
 
 /* Line 690 of lalr1.cc  */
-#line 12100 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
+#line 12113 "/home/mbrantner/zorba/build/src/compiler/parser/jsoniq_parser.cpp"
 	default:
           break;
       }
@@ -12370,192 +12383,192 @@
 
   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
      STATE-NUM.  */
-  const short int jsoniq_parser::yypact_ninf_ = -1484;
+  const short int jsoniq_parser::yypact_ninf_ = -1487;
   const short int
   jsoniq_parser::yypact_[] =
   {
-      5031,  8358,  8358,  8358,  8358, -1484, -1484,    28,   234, -1484,
-     557,    17, -1484, -1484, -1484,   325, -1484, -1484, -1484,   338,
-   -1484,   427,   587,   269,   453,   690, -1484,   -26, -1484, -1484,
-   -1484, -1484, -1484, -1484, -1484,   593, -1484, -1484, -1484, -1484,
-   -1484, -1484, -1484,   696, -1484,   667, -1484,   706,   748, -1484,
-     279, -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484,
-   -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484,
-   -1484,   816, -1484, -1484, -1484, -1484, -1484, -1484, -1484,   791,
-   -1484, -1484, -1484, -1484, -1484, 18522, -1484, -1484, -1484, -1484,
-   -1484, -1484, -1484,   809, -1484, -1484, -1484, -1484, -1484, -1484,
-   -1484, -1484, -1484, -1484,  5647, 10472, 10774, 18522, -1484, -1484,
-     821, -1484, -1484, -1484, -1484,   827, -1484, -1484, -1484,  7154,
-   -1484,  7452, -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484,
-   -1484, -1484, -1484, -1484,   846, -1484, -1484, -1484, -1484, -1484,
-   -1484, -1484, -1484,    79,   731,   779, -1484, -1484, -1484, -1484,
-   -1484, -1484, -1484, -1484, -1484, -1484, -1484, 14398, -1484,  5950,
-   -1484, 14700,   165, -1484, -1484, -1484, -1484, -1484, -1484,   907,
-   -1484,   807,   817,   818, -1484, -1484,   909,   913, -1484, -1484,
-   -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484,
-     778, -1484, 14096, -1484, -1484, -1484, -1484, -1484, -1484, -1484,
-   -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484,
-   -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484,
-   -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484,
-   -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484,
-   -1484, 11076, 11378, 11680, -1484,  5339,  7754,  1069, -1484,  8660,
-   -1484, -1484,   770,    91, -1484, -1484, -1484, -1484, -1484, -1484,
-   -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484,    95, -1484,
-   -1484, -1484, -1484, -1484, -1484,   340, -1484, -1484, -1484, -1484,
-   -1484, -1484, -1484, -1484,  8358, -1484, -1484, -1484, -1484,   230,
-   -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484,   139,
-   -1484,   878, -1484, -1484, -1484,   479, -1484,   720, -1484, -1484,
-   -1484, -1484, -1484, -1484, -1484,   902,   978, -1484, -1484,   839,
-     822,   977,    -7,     6,   296,   799, -1484,  1029,   880,   980,
-     981, 13190, -1484,   889, -1484, -1484,   463, -1484, -1484, -1484,
-   -1484,   766, -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484,
-   -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484,
-   -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484,
-   -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484,
-   -1484, -1484, -1484, -1484, -1484,   939,   929, -1484, -1484, -1484,
-   -1484, -1484,   903, -1484,  8358,   904,   905,   906,  8358,    89,
-      89,  1058,   756,   775,   649, 18813, 18522,   516,  1045, 18522,
-     940,   975,    87,  7154,   795,   844, 18522, 18522,   787,   242,
-      96, -1484, -1484, -1484,  7154,  8358,  8358, 12586,    31,   943,
-   12586,  1098,   111,    81, 18522,   982,   956,   992, -1484, 12586,
-   18522,  8358, 12586, 12586, 18522,  8358,   948,   950, 12586, 18522,
-   -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484,
-   -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484,
-   -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484,   960, -1484,
-   18522, -1484,   921,  8056,   983,    41,   985,   939,   951,   952,
-     953, 18522,  5647, -1484,   957,   147, -1484,   589, -1484,    83,
-    1077, 12586, 12586,    93, -1484, -1484, -1484,  1100, 12586,   899,
-   -1484,  1088,  1091, 12586, 12888, 15002,   766, 12586, 12888,  6253,
-     -20,   -11, 12586, 15002,   651, 12586,   886,   888, 18522,   933,
-     934, 12586, 12586,  8358,   881, -1484, -1484,    65, -1484,    60,
-   12586,   890,  7754, -1484, -1484, -1484, -1484, -1484,   557,   690,
-      98,    99,  1124,  8962,  3470,  9264,  3789,   791, -1484, -1484,
-     205,   791, -1484, 12586,  4421, -1484,  1010, -1484,   -26,   961,
-     962,   963,  8358, 12586, -1484, -1484, -1484, -1484, -1484, -1484,
-   -1484, -1484, -1484, 18522, -1484,   847,   849, 18522,  1013, 13492,
-   13492, -1484, -1484, -1484, -1484, -1484, -1484, 13794,  1064, 13794,
-   13794, 13794, 13794, 13794, 13794, 13794, 13794, 13794, 13794, 13794,
-   13794,   901,  1044,  1046,  1047, -1484, -1484, -1484, 15002, 11982,
-   -1484,  6554, 12586,  9868,   988, -1484,   990, 10170, -1484, -1484,
-   -1484, -1484,    11, -1484,    34, -1484, -1484, -1484, -1484, -1484,
-   -1484,  1036,  1037,   269,  1117, -1484, -1484, 18813,   949,    46,
-   18522,   986,   987,   949,  1058,  1021,  1017, -1484, -1484, -1484,
-     319,   908,  1059,   851, 18522,  1015, 12586,  1034, 18522, 18522,
-   -1484,  1028,   979,   991,   233, 18522,  1068,   352, -1484,  8358,
-   -1484,   116, -1484,  7154,  1070,  1120,  7154,  1058,  1071,   702,
-   18522, 12586,   -26,   254,    88, -1484,    49,   994,   117,   120,
-    1016, -1484,   995,  8358,  8358,   323,   717, 12586,   249, -1484,
-   -1484, 12586,  6253, -1484, 12586, 12586, 12586, 12586, -1484, 12586,
-   -1484, 12586, -1484, 18522,  1077, -1484,   278,   404,   408, -1484,
-   -1484, -1484,   411, -1484,   331,   490, -1484, -1484,   766,   245,
-     450,    -8,    21, 12586, 12586,  1078,   751, 12586,   930, 15304,
-     941,   123, -1484,  1032, -1484, -1484,   996,   126,  8056,   423,
-    4729,   881, -1484, -1484, -1484,   944, 12586, -1484,   770,   843,
-    1148,   159, -1484, -1484,   101, -1484, -1484, -1484,   104, -1484,
-     342, -1484, -1484, -1484, -1484, -1484,  4105, -1484, -1484, -1484,
-   18522,  1012, 12586,  1066, -1484, -1484, -1484,  1081, -1484,    38,
-   -1484, -1484,  1081, 18522,    32,   978, -1484, -1484,    58, -1484,
-       6,     6,     3,   296,   296,   296,   296,   799,   799, -1484,
-   -1484, 17063, 17063, 18522, 18522, -1484, -1484,   428, -1484, -1484,
-   -1484, -1484,   229, -1484, -1484, -1484,   378, -1484, -1484, -1484,
-     394,    89, -1484, -1484,   216,   312,   742, -1484,   269, -1484,
-   -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484,   949,
-   -1484,  1053, 17356,  1048, 12586, -1484, -1484, -1484,  1097,  1058,
-    1058,   949, -1484,   759,  1058,   736, 18522,   546,   730,  1165,
-   -1484, -1484,   910,   602, -1484, -1484, -1484, -1484, -1484, -1484,
-   -1484, -1484, -1484, -1484, -1484,   319,   119,   966,   692, 12586,
-   -1484, 18522,  1105,   891,  1058, -1484, -1484,  1049,  1097, 17063,
-    1085,  1110,  1025,  1007,  1080,  1058,  1050,  1083,  1121,  1058,
-   17063, 12586,   -38, -1484, -1484, -1484,  1063,  1101, 12586, 12586,
-    1074, -1484,  1122,  1123,  8358, -1484,  1040,  1041,  1076, 12586,
-    1089,  1042, 12586, -1484,  1106,  1109, -1484,   127,   156,   157,
-    1200, -1484,   366, -1484,   630,  1082, -1484, -1484,  1208, -1484,
-    1209, -1484,   -62, 12586, 12586, 12586,   803, 12586, 12586, 12586,
-   12586, 12586,  1142, -1484, 12586, 12586, -1484, 12586, 12586,   259,
-   15002,  1125, 12586, 12586, -1484,  9566,   112,   993, -1484, -1484,
-   -1484, -1484, -1484, -1484,   493, -1484, -1484, 12586, -1484,   106,
-     313,   342,  9264,  3789,  9264,  1162, -1484, -1484, 12586,   866,
-    1137, -1484, 18522,  1138, -1484, 18231,  1127,  1129, 12586,   -35,
-    1102,    54,   438,   997, -1484, -1484,   750,    32, 12586,    58,
-     615,   749, -1484,   967,   369,   989,   999, -1484, -1484,   844,
-   -1484,   998,   622,  1094,  1096,  1103,  1104,  1108,  1111,  1112,
-    1114,  1115,  1116,  1118, 15891,  1119,  1126,  1128,  1130,  1131,
-    1134, -1484,   675, -1484, -1484, -1484, -1484, -1484, -1484, -1484,
-   -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484,
-   -1484, -1484, -1484, -1484, -1484, -1484,  1113, -1484, -1484, -1484,
-   -1484, 12284, -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484,
-   -1484,   838, -1484,  1230, 17356,   610, -1484, -1484, -1484, -1484,
-   -1484, -1484, -1484, -1484, -1484,   971, -1484, -1484,  1238, -1484,
-   -1484, -1484, -1484, -1484,   699,  1248, -1484,   703, -1484, -1484,
-   -1484,  1094,  1096,  1103,  1108,  1111,  1112,  1114,  1115,  1116,
-    1126, -1484,   675,   675, 15002,  1001,   968, -1484,  1097,   119,
-    1052,  1090,  8358, -1484, -1484, -1484, 17063, -1484,  8358,  1058,
-    1172, -1484, -1484, -1484,  1058,  1172, -1484, -1484, 12586,  1143,
-    8358, 18522, -1484, -1484, 12586, 12586,    73, -1484,   260,   374,
-   -1484, 16184,   511, -1484,   753, -1484,  1132, -1484, -1484,  8358,
-   -1484, 12586, -1484, -1484, 12586, 12586,  1095,  1122,  1194, -1484,
-    1164, -1484,   729, -1484, -1484,  1292, -1484, -1484,  8358, 18522,
-   -1484,   755, -1484, -1484, -1484,  8358,  1133,  1135,  1061,  1065,
-   -1484, -1484, -1484,  1073,  1075, -1484, -1484, -1484,  1204, -1484,
-    1000, -1484, -1484, -1484,  1060, 12586,   532, 18522,  1136, -1484,
-    1147,  1149,  1150,  1155, -1484,   878,   655,  4729,   993, -1484,
-    9566,  4729, -1484, -1484,  1148,   583, -1484, -1484, -1484,  1137,
-   -1484,  1058, -1484,   920, -1484,    48,  1205, -1484, 12586,   723,
-    1066, 18522, -1484,    68, 18522, -1484, 12586,  1166, 12586,  1187,
-   12586,   194,  1168, 12586,  1170, -1484,  1201,  1203, 12586, 18522,
-     836,  1241, -1484, -1484, -1484,   448,  1139, -1484,    58,  1079,
-   -1484, -1484,   291, -1484,   737,   173,  1084,    58,   737, 13794,
-   -1484,   310, -1484, -1484, -1484, -1484, -1484, -1484,    58,  1177,
-    1043,   908,   173, -1484, -1484,  1038,  1249, -1484, -1484, -1484,
-    1144,    44, 17649, 15598,  1145,  6854, 18522, 18522,  1156, 17940,
-    1157, -1484,  1158,  1159,  1160,  1161,  1163,  1169,  1171, -1484,
-   -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484,
-   -1484, -1484,  1302,   474,  1306,   474,  1062,  1228, -1484, -1484,
-    1179, 18522,  1092, -1484, -1484, 15002, -1484,  1152, -1484,  1216,
-    1225,  1256,  1058,  1172, -1484, 12586,  1173, -1484, -1484, -1484,
-    1174, -1484,   272, 12586,  8358,  1175,   302, -1484, 18522,   760,
-   -1484, 16477,   294, -1484, 16770,  1176, -1484, -1484,  1180, -1484,
-   -1484, -1484, 12586,   876,  1200, 18522,   790, -1484,  1181,  1200,
-   18522, -1484,  1182, -1484, -1484, 12586, 12586, 12586, 12586,  1035,
-   12586, 12586, -1484, 12586, -1484, 12586, 12586, 12586, 12586,  9566,
-     502, -1484, -1484, -1484, -1484, -1484,  1205, -1484, -1484, -1484,
-    1058, 12586, -1484,  1217, -1484, -1484, 12586,  1220, -1484, -1484,
-   12586, -1484,   683, -1484, 12586,  1221, 12586, -1484, 12586, 18522,
-   18522, -1484,   848, -1484, 12586, -1484, -1484, -1484,  1185, 13794,
-   -1484, -1484, -1484, -1484, -1484,    76, 13794, 13794,   403, -1484,
-     989, -1484,   486, -1484,   999,    58,  1210, -1484, -1484,  1086,
-   -1484, -1484, -1484, -1484, -1484, -1484,  1184,  1186, -1484,   484,
-     492,  1278,  1188, -1484,   508, -1484,  1189, -1484,  1191,  1192,
-    1193, -1484, -1484,   510,   535, -1484, -1484, -1484, -1484, -1484,
-   -1484, -1484, -1484, -1484,   412,   412, -1484,   474, -1484, -1484,
-     585, -1484,  1346,    14,  1281,  1195, 15002,   -27,  1093,  1211,
-   -1484,  9566, 12586,  1058, -1484, -1484, -1484, 12586, 12586, -1484,
-   -1484, -1484,  9566,  9566,  1289,  8358, 17063, 18522,   767, 18522,
-   12586, 18522,   768,  9566, -1484,   327,    37,  1200, 18522, -1484,
-    1196,  1200, -1484, -1484, -1484, -1484, -1484, 12586, -1484, -1484,
-   -1484, -1484,   160,   198,   213, 12586, -1484, -1484, -1484,  1279,
-   12586, -1484, 12586, -1484, 12586,  1239, -1484, 12586, -1484, -1484,
-   -1484,  1334, -1484, -1484, -1484,   296, 13794, 13794,     3,   752,
-   -1484, -1484, -1484, -1484, -1484, -1484, 12586, -1484, -1484, -1484,
-   18522, -1484, 18522, -1484, 17063, -1484, 17063,  1294, -1484, -1484,
-   -1484, -1484, 18522, -1484, 18522, -1484, -1484, -1484, -1484,  1361,
-   -1484, -1484, -1484,  1140,  1283, -1484, -1484,  1284, -1484,   478,
-   18522,  1276,  1167, 18522, 15002, -1484, -1484,  1172, -1484, -1484,
-   17063, -1484, -1484, -1484,  1301, 12586,  1212, -1484,  1305,  9566,
-   -1484, 18522,   657,   758, -1484,  1206,  1200, -1484,  1207, -1484,
-    1202,  1122,  1123,   464, -1484,  1279, -1484, -1484, 12586, -1484,
-    1290,     3,     3, 13794,   470,  1214,  1215,  1263,  1223,  1224,
-   -1484, -1484, 17063,  1226,  1227, -1484, -1484,  1281, 15002, -1484,
-    1205,  1107, 18522,  1297,  1183,  1284,   774, 17063,  8358, 17063,
-    1231, -1484, -1484,  1325,   724, -1484, -1484, -1484, -1484,  1236,
-     833, -1484, -1484, -1484,  1229, -1484,  9566,   879, -1484, -1484,
-   -1484, 18522,     3, -1484, -1484, -1484, -1484, -1484, -1484, -1484,
-   -1484, -1484, -1484, -1484, -1484, 12586,  1141, 18522,  1304,  8358,
-     777, -1484, -1484,   780, 12586, -1484, -1484, -1484, -1484, -1484,
-   -1484, -1484,  1307, -1484, -1484,  1146,  1151, 18522, -1484, -1484,
-   12586,  9566, 18522,  1153, 12586,  1154,  1234, 15002, -1484, 15002,
-    9566, -1484,  1233,  1178, 18522,  1198,  1310, 18522,  1197, 15002,
-   -1484
+      5092,  8430,  8430,  8430,  8430, -1487, -1487,   322,   413, -1487,
+     577,   432, -1487, -1487, -1487,   476, -1487, -1487, -1487,   494,
+   -1487,   501,   719,   535,   541,   857, -1487,    76, -1487, -1487,
+   -1487, -1487, -1487, -1487, -1487,   567, -1487, -1487, -1487, -1487,
+   -1487, -1487, -1487,    52, -1487,   612, -1487,   616,   655, -1487,
+      11, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487,
+   -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487,
+   -1487,   688, -1487, -1487, -1487, -1487, -1487, -1487, -1487,   629,
+   -1487, -1487, -1487, -1487, -1487, 18628, -1487, -1487, -1487, -1487,
+   -1487, -1487, -1487, -1487,   743, -1487, -1487, -1487, -1487, -1487,
+   -1487, -1487, -1487, -1487, -1487,  5710, 10551, 10854, 18628, -1487,
+   -1487,   750, -1487, -1487, -1487, -1487,   758, -1487, -1487, -1487,
+    7222, -1487,  7521, -1487, -1487, -1487, -1487, -1487, -1487, -1487,
+   -1487, -1487, -1487, -1487, -1487,   772, -1487, -1487, -1487, -1487,
+   -1487, -1487, -1487, -1487,    88,   763,   773, -1487, -1487, -1487,
+   -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487, 14490, -1487,
+    6014, -1487, 14793,   266, -1487, -1487, -1487, -1487, -1487, -1487,
+     877, -1487,   713,   751,   752, -1487, -1487,   844,   851, -1487,
+   -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487,
+   -1487,   741, -1487, 14187, -1487, -1487, -1487, -1487, -1487, -1487,
+   -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487,
+   -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487,
+   -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487,
+   -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487,
+   -1487, -1487, 11157, 11460, 11763, -1487,  5401,  7824,  1015, -1487,
+    8733, -1487, -1487,   721,    87, -1487, -1487, -1487, -1487, -1487,
+   -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487,    89,
+   -1487, -1487, -1487, -1487, -1487, -1487,   520, -1487, -1487, -1487,
+   -1487, -1487, -1487, -1487, -1487,  8430, -1487, -1487, -1487, -1487,
+       8, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487,
+     164, -1487,   859, -1487, -1487, -1487,   191, -1487,   115, -1487,
+   -1487, -1487, -1487, -1487, -1487, -1487,   880,   959, -1487, -1487,
+     826,   798,   954,   659,   305,   746,    39, -1487,  1005,   856,
+     957,   958, 13278, -1487,   865, -1487, -1487,    13, -1487, -1487,
+   -1487, -1487,   670, -1487, -1487, -1487, -1487, -1487, -1487, -1487,
+   -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487,
+   -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487,
+   -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487,
+   -1487, -1487, -1487, -1487, -1487, -1487,   915,   905, -1487, -1487,
+   -1487, -1487, -1487,   878, -1487,  8430,   881,   882,   883,  8430,
+     353,   353,  1037,   726,   727,   593, 18920, 18628,   -14,  1023,
+   18628,   917,   953,   702,  7222,   813,   821, 18628, 18628,   769,
+     841,    38, -1487, -1487, -1487,  7222,  8430,  8430, 12672,   258,
+     926, 12672,  1083,   192,   351, 18628,   965,   941,   978, -1487,
+   12672, 18628,  8430, 12672, 12672, 18628,  8430,   943,   945, 12672,
+   18628, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487,
+   -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487,
+   -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487,   960,
+   -1487, 18628, -1487, -1487,   916,  8127,   980,    34,   982,   915,
+     948,   949,   950, 18628,  5710, -1487,   946,   201, -1487,   457,
+   -1487,   121,  1074, 12672, 12672,   168, -1487, -1487, -1487,  1095,
+   12672,   896, -1487,  1084,  1087, 12672, 12975, 15096,   670, 12672,
+   12975,  6318,    25,     4, 12672, 15096,   314, 12672,   884,   888,
+   18628,   925,   930, 12672, 12672,  8430,   867, -1487, -1487,    53,
+   -1487,    46, 12672,   887,  7824, -1487, -1487, -1487, -1487, -1487,
+     577,   857,    91,    93,  1123,  9036,  3526,  9339,  3846,   629,
+   -1487, -1487,   270,   629, -1487, 12672,  4480, -1487,  1008, -1487,
+      76,   962,   956,   963,  8430, 12672, -1487, -1487, -1487, -1487,
+   -1487, -1487, -1487, -1487, -1487, 18628, -1487,   840,   843, 18628,
+    1012, 13581, 13581, -1487, -1487, -1487, -1487, -1487, -1487, 13884,
+    1063, 13884, 13884, 13884, 13884, 13884, 13884, 13884, 13884, 13884,
+   13884, 13884, 13884,   899,  1045,  1046,  1047, -1487, -1487, -1487,
+   15096, 12066, -1487,  6620, 12672,  9945,   987, -1487,   993, 10248,
+   -1487, -1487, -1487, -1487,   293, -1487,   294, -1487, -1487, -1487,
+   -1487, -1487, -1487,  1038,  1039,   535,  1116, -1487, -1487, 18920,
+    1007,   694, 18628,   986,   988,  1007,  1037,  1026,  1018, -1487,
+   -1487, -1487,   538,   904,  1062,   855, 18628,  1017, 12672,  1044,
+   18628, 18628, -1487,  1031,   981,   983,   110, 18628,  1071,   320,
+   -1487,  8430, -1487,   123, -1487,  7222,  1073,  1127,  7222,  1037,
+    1077,   356, 18628, 12672,    76,   209,    16, -1487,    48,   991,
+     136,   139,  1024, -1487,   992,  8430,  8430,   232,   506, 12672,
+      24, -1487, -1487, 12672,  6318, -1487, 12672, 12672, 12672, 12672,
+   -1487, 12672, -1487, 12672, -1487, 18628,  1074, -1487,   452,   241,
+     302, -1487, -1487, -1487,   363, -1487,    12,   514, -1487, -1487,
+     670,   372,   374,   299,   283, 12672, 12672,  1085,   662, 12672,
+     938, 15399,   947,   273, -1487,  1041, -1487, -1487,   990,   144,
+    8127,   397,  4789,   867, -1487, -1487, -1487,   944, 12672, -1487,
+     721,   847,  1154,   180, -1487, -1487,    94, -1487, -1487, -1487,
+     105, -1487,   103, -1487, -1487, -1487, -1487, -1487,  4163, -1487,
+   -1487, -1487, 18628,  1016, 12672,  1070, -1487, -1487, -1487,  1086,
+   -1487,    36, -1487, -1487,  1086, 18628,    45,   959, -1487, -1487,
+     211, -1487,   305,   305,    -5,   746,   746,   746,   746,    39,
+      39, -1487, -1487, 17164, 17164, 18628, 18628, -1487, -1487,   416,
+   -1487, -1487, -1487, -1487,   230, -1487, -1487, -1487,   483, -1487,
+   -1487, -1487,   529,   353, -1487, -1487,   528,   689,   647, -1487,
+     535, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487,
+   -1487,  1007, -1487,  1057, 17458,  1048, 12672, -1487, -1487, -1487,
+    1101,  1037,  1037,  1007, -1487,   886,  1037,   710, 18628,   588,
+     709,  1168, -1487, -1487,   907,   597, -1487, -1487, -1487, -1487,
+   -1487, -1487, -1487, -1487, -1487, -1487, -1487,   538,    96,   968,
+     676, 12672, -1487, 18628,  1107,   898,  1037, -1487, -1487,  1050,
+    1101, 17164,  1088,  1111,  1022,  1011,  1079,  1037,  1053,  1090,
+    1120,  1037, 17164, 12672,    67, -1487, -1487, -1487,  1064,  1099,
+   12672, 12672,  1076, -1487,  1119,  1121,  8430, -1487,  1040,  1042,
+    1072, 12672,  1089,  1043, 12672, -1487,  1106,  1109, -1487,   152,
+     179,   198,  1195, -1487,   543, -1487,    98,  1081, -1487, -1487,
+    1205, -1487,  1208, -1487,   -68, 12672, 12672, 12672,   325, 12672,
+   12672, 12672, 12672, 12672,  1141, -1487, 12672, 12672, -1487, 12672,
+   12672,   486, 15096,  1122, 12672, 12672, -1487,  9642,   111,   989,
+   -1487, -1487, -1487, -1487, -1487, -1487,   251, -1487, -1487, 12672,
+   -1487,   108,    62,   103,  9339,  3846,  9339,  1159, -1487, -1487,
+   12672,   812,  1135, -1487, 18628,  1136, -1487, 18336,  1117,  1126,
+   12672,   -57,  1098,    37,    58,   994, -1487, -1487,   770,    45,
+   12672,   211,   461,   282, -1487,   964,   472,   995,   984, -1487,
+   -1487,   821, -1487,   979,   661,  1100,  1102,  1103,  1104,  1105,
+    1112,  1113,  1114,  1115,  1118,  1124, 15988,  1125,  1128,  1129,
+    1130,  1131,  1132, -1487,   634, -1487, -1487, -1487, -1487, -1487,
+   -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487,
+   -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487,  1133, -1487,
+   -1487, -1487, -1487, 12369, -1487, -1487, -1487, -1487, -1487, -1487,
+   -1487, -1487, -1487,   768, -1487,  1224, 17458,   868, -1487, -1487,
+   -1487, -1487, -1487, -1487, -1487, -1487, -1487,   972, -1487, -1487,
+    1228, -1487, -1487, -1487, -1487, -1487,   674,  1238, -1487,   762,
+   -1487, -1487, -1487,  1100,  1102,  1103,  1105,  1112,  1113,  1114,
+    1115,  1118,  1128, -1487,   634,   634, 15096,   976,   966, -1487,
+    1101,    96,  1060,  1082,  8430, -1487, -1487, -1487, 17164, -1487,
+    8430,  1037,  1167, -1487, -1487, -1487,  1037,  1167, -1487, -1487,
+   12672,  1137,  8430, 18628, -1487, -1487, 12672, 12672,   849, -1487,
+     347,   852, -1487, 16282,   863, -1487,   869, -1487,  1091, -1487,
+   -1487,  8430, -1487, 12672, -1487, -1487, 12672, 12672,  1096,  1119,
+    1194, -1487,  1163, -1487,   757, -1487, -1487,  1292, -1487, -1487,
+    8430, 18628, -1487,   842, -1487, -1487, -1487,  8430,  1108,  1134,
+    1066,  1067, -1487, -1487, -1487,  1069,  1075, -1487, -1487, -1487,
+    1202, -1487,   996, -1487, -1487, -1487,  1058, 12672,   542, 18628,
+    1139, -1487,  1145,  1151,  1152,  1157, -1487,   859,   590,  4789,
+     989, -1487,  9642,  4789, -1487, -1487,  1154,   430, -1487, -1487,
+   -1487,  1135, -1487,  1037, -1487,   891, -1487,    55,  1206, -1487,
+   12672,   608,  1070, 18628, -1487,   343, 18628, -1487, 12672,  1166,
+   12672,  1187, 12672,   237,  1170, 12672,  1171, -1487,  1198,  1203,
+   12672, 18628,   961,  1243, -1487, -1487, -1487,   442,  1140, -1487,
+     211,  1068, -1487, -1487,   -55, -1487,   162,    -7,  1078,   211,
+     162, 13884, -1487,   556, -1487, -1487, -1487, -1487, -1487, -1487,
+     211,  1174,  1049,   904,    -7, -1487, -1487,  1033,  1249, -1487,
+   -1487, -1487,  1142,   330, 17752, 15694,  1143,  6921, 18628, 18628,
+    1144, 18044,  1146, -1487,  1147,  1149,  1150,  1156,  1158,  1160,
+    1161, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487,
+   -1487, -1487, -1487, -1487,  1301,   -10,  1311,   -10,  1092,  1233,
+   -1487, -1487,  1176, 18628,  1093, -1487, -1487, 15096, -1487,  1165,
+   -1487,  1218,  1225,  1255,  1037,  1167, -1487, 12672,  1169, -1487,
+   -1487, -1487,  1172, -1487,   354, 12672,  8430,  1173,   479, -1487,
+   18628,   269, -1487, 16576,   471, -1487, 16870,  1175, -1487, -1487,
+    1178, -1487, -1487, -1487, 12672,   873,  1195, 18628,   923, -1487,
+    1179,  1195, 18628, -1487,  1180, -1487, -1487, 12672, 12672, 12672,
+   12672,  1032, 12672, 12672, -1487, 12672, -1487, 12672, 12672, 12672,
+   12672,  9642,   274, -1487, -1487, -1487, -1487, -1487,  1206, -1487,
+   -1487, -1487,  1037, 12672, -1487,  1214, -1487, -1487, 12672,  1210,
+   -1487, -1487, 12672, -1487,   480, -1487, 12672,  1213, 12672, -1487,
+   12672, 18628, 18628, -1487,   804, -1487, 12672, -1487, -1487, -1487,
+    1181, 13884, -1487, -1487, -1487, -1487, -1487,   421, 13884, 13884,
+     663, -1487,   995, -1487,   519, -1487,   984,   211,  1215, -1487,
+   -1487,  1094, -1487, -1487, -1487, -1487, -1487, -1487,  1182,  1183,
+   -1487,   530,   546,  1273,  1184, -1487,   554, -1487,  1185, -1487,
+    1186,  1188,  1189, -1487, -1487,   562,   569, -1487, -1487, -1487,
+   -1487, -1487, -1487, -1487, -1487, -1487,   523,   523, -1487,   -10,
+   -1487, -1487,   579, -1487,  1347,    28,  1282,  1192, 15096,   -35,
+    1097,  1211, -1487,  9642, 12672,  1037, -1487, -1487, -1487, 12672,
+   12672, -1487, -1487, -1487,  9642,  9642,  1287,  8430, 17164, 18628,
+     657, 18628, 12672, 18628,   683,  9642, -1487,   536,   306,  1195,
+   18628, -1487,  1190,  1195, -1487, -1487, -1487, -1487, -1487, 12672,
+   -1487, -1487, -1487, -1487,   203,   226,   235, 12672, -1487, -1487,
+   -1487,  1277, 12672, -1487, 12672, -1487, 12672,  1236, -1487, 12672,
+   -1487, -1487, -1487,  1332, -1487, -1487, -1487,   746, 13884, 13884,
+      -5,   705, -1487, -1487, -1487, -1487, -1487, -1487, 12672, -1487,
+   -1487, -1487, 18628, -1487, 18628, -1487, 17164, -1487, 17164,  1293,
+   -1487, -1487, -1487, -1487, 18628, -1487, 18628, -1487, -1487, -1487,
+   -1487,  1358, -1487, -1487, -1487,  1148,  1283, -1487, -1487,  1284,
+   -1487,    74, 18628,  1274,  1191, 18628, 15096, -1487, -1487,  1167,
+   -1487, -1487, 17164, -1487, -1487, -1487,  1299, 12672,  1209, -1487,
+    1303,  9642, -1487, 18628,   601,   598, -1487,  1197,  1195, -1487,
+    1200, -1487,  1201,  1119,  1121,   460, -1487,  1277, -1487, -1487,
+   12672, -1487,  1285,    -5,    -5, 13884,   462,  1216,  1217,  1256,
+    1221,  1222, -1487, -1487, 17164,  1223,  1226, -1487, -1487,  1282,
+   15096, -1487,  1206,  1110, 18628,  1288,  1196,  1284,   685, 17164,
+    8430, 17164,  1229, -1487, -1487,  1309,   765, -1487, -1487, -1487,
+   -1487,  1231,   680, -1487, -1487, -1487,  1219, -1487,  9642,   874,
+   -1487, -1487, -1487, 18628,    -5, -1487, -1487, -1487, -1487, -1487,
+   -1487, -1487, -1487, -1487, -1487, -1487, -1487, 12672,  1138, 18628,
+    1294,  8430,   697, -1487, -1487,   714, 12672, -1487, -1487, -1487,
+   -1487, -1487, -1487, -1487,  1295, -1487, -1487,  1153,  1155, 18628,
+   -1487, -1487, 12672,  9642, 18628,  1164, 12672,  1177,  1232, 15096,
+   -1487, 15096,  9642, -1487,  1227,  1162, 18628,  1199,  1304, 18628,
+    1193, 15096, -1487
   };
 
   /* YYDEFACT[S] -- default reduction number in state S.  Performed when
@@ -12564,779 +12577,816 @@
   const unsigned short int
   jsoniq_parser::yydefact_[] =
   {
-       167,   170,   170,   170,     0,   810,  1005,   122,   124,   608,
-     902,   911,   851,   815,   813,   795,   903,   906,   858,   819,
-     796,   798,   260,   912,   799,   909,   880,   860,   835,   797,
-     855,   856,   907,   904,   854,   801,   910,   802,   803,   947,
-     959,   946,   852,   871,   865,   804,   853,   806,   805,   948,
-     889,   890,   857,   832,   969,   970,   971,   972,   973,   974,
-     975,   976,   977,   978,   979,   993,  1000,   879,   875,   866,
-     846,   794,   874,   882,   891,   994,   870,   463,   847,   848,
-     905,   995,  1001,   867,   884,     0,   471,   465,   877,   812,
-     868,   869,   898,   872,   888,   897,   999,  1002,   818,   859,
-     900,   464,   887,   893,   170,     0,     0,     0,   400,   885,
-     896,   901,   899,   878,   864,   949,   862,   863,   996,     0,
-     399,     0,   997,  1003,   894,   849,   873,   998,   213,   895,
-     876,   883,   892,   886,   950,   840,   845,   844,   843,   842,
-     841,   807,   861,     0,   811,     0,   908,   833,   462,   466,
-     467,   940,   939,   941,   817,   816,   836,     0,   800,     0,
-     943,     0,     0,   839,   881,   938,   945,   944,   937,   837,
-     942,   954,   955,   952,   953,   951,   808,   956,   957,   958,
-     928,   927,   914,   831,   824,   921,   917,   834,   830,   929,
-     261,   820,   821,   814,   823,   926,   925,   922,   918,   935,
-     936,   934,   924,   920,   913,   822,   933,   932,   826,   828,
-     827,   919,   923,   915,   829,   916,   825,   931,   980,   981,
-     982,   983,   984,   985,   961,   962,   960,   966,   967,   968,
-     963,   964,   965,   838,   986,   987,   988,   989,   990,   991,
-     992,     0,     0,     0,  1004,   167,   167,     0,     2,   167,
-       9,    11,    25,     0,    30,    33,    38,    39,    40,    41,
-      42,    43,    44,    34,    60,    61,    35,    36,     0,    78,
-      81,    82,    37,    83,    84,     0,   120,    85,    86,    87,
-      88,    20,   164,   165,   166,   173,   176,   454,   177,     0,
-     178,   179,   180,   181,   182,   183,   184,   187,   188,     0,
-     214,   222,   217,   249,   255,     0,   247,     0,   248,   224,
-     218,   186,   219,   185,   220,   223,   357,   359,   361,   363,
-     365,   367,   371,   373,   376,   381,   384,   387,   389,   391,
-     393,     0,   397,   404,   403,   405,     0,   420,   406,   425,
-     426,   427,   434,   445,   459,   461,   446,   447,   448,   451,
-     452,   449,   453,   480,   481,   450,   484,   486,   487,   488,
-     485,   533,   534,   535,   536,   537,   538,   539,   460,    45,
-     225,   226,   228,   227,   229,   221,   456,   457,   458,   455,
-     231,   234,   230,   232,   233,     0,   793,   809,   902,   911,
-     909,   811,     0,   168,   169,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   128,   130,   131,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   279,   280,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     194,   795,   819,   798,   850,   912,   799,   860,   801,   871,
-     804,   806,   805,   889,   794,   848,   872,   896,   949,   950,
-     837,   954,   955,   952,   808,   956,   930,   821,   468,   793,
-       0,   791,     0,     0,   214,     0,     0,   792,   799,   806,
-     805,     0,   170,   756,   956,     0,   222,     0,   469,     0,
-     500,     0,     0,     0,   792,   423,   424,     0,     0,     0,
-     529,     0,     0,   800,   943,     0,   776,   800,   943,     0,
-       0,     0,   800,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   362,   758,     0,   760,     0,
-       0,     0,   167,     3,     4,     1,    10,    12,     0,     0,
-       0,     0,     6,   167,     0,   167,     0,     0,   121,   174,
-       0,     0,   192,     0,     0,   201,     0,   260,     0,     0,
-       0,     0,     0,     0,   261,   206,   235,   254,   250,   256,
-     251,   253,   252,     0,   259,     0,     0,     0,     0,     0,
-       0,   408,   413,   412,   411,   410,   409,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   402,   401,   398,     0,     0,
-     421,     0,     0,     0,   435,   442,     0,     0,   541,   543,
-     547,   549,     0,   126,     0,   790,    49,    46,    47,    50,
-      51,     0,     0,     0,     0,    52,    53,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   615,   616,   617,
-       0,   105,   144,     0,     0,   114,     0,     0,     0,     0,
-     129,     0,     0,     0,     0,     0,   136,     0,   140,   170,
-     483,     0,    62,     0,    71,     0,     0,     0,    63,     0,
-       0,     0,     0,     0,     0,   328,     0,     0,     0,     0,
-       0,   606,     0,     0,     0,     0,   196,     0,     0,   190,
-     189,     0,     0,   762,     0,     0,     0,     0,   468,     0,
-     757,     0,   470,   501,   500,   497,     0,     0,     0,   531,
-     530,   422,     0,   528,     0,     0,   628,   629,   775,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   634,     0,   204,   205,     0,     0,     0,     0,
-       0,   209,   210,   759,   761,     0,     0,     5,    26,     0,
-      27,     0,     7,    31,     0,    17,     8,    32,     0,    21,
-     902,    79,    18,    80,    22,   195,     0,   193,   215,   216,
-       0,     0,     0,     0,   207,   236,   297,   258,   262,     0,
-     237,   238,   257,     0,     0,   358,   360,   364,     0,   368,
-     375,   374,   372,   378,   379,   380,   377,   382,   383,   386,
-     385,     0,     0,     0,     0,   407,   418,     0,   440,   439,
-     441,   438,     0,   476,   436,   478,     0,   443,   482,   474,
-       0,     0,   123,   125,     0,     0,     0,   104,     0,    94,
-      96,    97,    98,    99,   101,   102,   103,    95,   100,    90,
-      91,     0,     0,   110,     0,   106,   108,   109,   116,     0,
-       0,    89,    48,     0,     0,     0,     0,     0,     0,     0,
-     706,   711,     0,     0,   707,   741,   694,   696,   697,   698,
-     700,   702,   701,   699,   703,     0,     0,     0,     0,     0,
-     113,     0,   146,     0,     0,   546,   540,     0,   142,     0,
-       0,   137,     0,     0,     0,     0,     0,     0,    64,     0,
-       0,     0,     0,   278,   284,   281,     0,     0,     0,     0,
-       0,   545,     0,     0,     0,   414,     0,     0,     0,     0,
-     197,     0,     0,   764,     0,     0,   763,     0,     0,     0,
-     500,   498,     0,   489,     0,     0,   472,   473,     0,    13,
-       0,    15,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   770,   771,     0,     0,   778,     0,   800,     0,
-       0,     0,     0,     0,   202,     0,     0,     0,   431,   432,
-     433,   430,   642,   429,     0,   428,   211,     0,   774,     0,
-       0,     0,   167,     0,   167,     0,   175,   246,     0,   312,
-     308,   310,     0,   298,   299,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   239,   240,     0,   245,     0,     0,
-       0,     0,   672,   369,   645,   649,   651,   653,   655,   658,
-     665,   666,   674,   795,   796,   798,   912,   797,   801,   802,
-     803,   804,   794,   562,     0,   807,   800,   787,   789,   785,
-     564,   388,   552,   559,   560,   581,   572,   580,   579,   578,
-     577,   574,   576,   573,   575,   565,   609,   610,   566,   567,
-     781,   782,   783,   570,   390,   392,   395,   571,   394,   419,
-     444,     0,   437,   475,   127,    58,    59,    56,    57,   133,
-     132,     0,    92,     0,     0,     0,   111,   112,   117,    76,
-      77,    54,    55,    75,   712,     0,   715,   742,     0,   705,
-     704,   709,   708,   740,     0,     0,   717,     0,   713,   716,
-     695,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   145,   148,   150,     0,     0,     0,   115,   118,     0,
-       0,     0,   170,   143,   138,   141,     0,   191,     0,     0,
-      73,    67,    70,    69,     0,    65,   551,   282,     0,     0,
-     170,     0,   326,   330,     0,     0,     0,   333,     0,     0,
-     339,     0,     0,   346,     0,   350,     0,   416,   415,   170,
-     198,     0,   200,   327,     0,     0,     0,     0,     0,   501,
-       0,   491,     0,   524,   521,     0,   525,   526,     0,     0,
-     520,     0,   495,   523,   522,     0,     0,     0,     0,     0,
-     621,   622,   618,     0,     0,   626,   627,   623,   767,   768,
-       0,   632,   777,   630,     0,     0,     0,     0,     0,   636,
-     799,   806,   805,   956,   203,     0,     0,     0,   637,   638,
-       0,     0,   212,   773,    28,     0,    19,    23,    24,   309,
-     321,     0,   322,     0,   313,   314,   315,   316,     0,   301,
-       0,     0,   264,     0,     0,   265,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   241,     0,     0,     0,     0,
-     291,     0,   288,   293,   244,     0,     0,   656,   669,     0,
-     366,   370,     0,   688,     0,     0,     0,     0,     0,     0,
-     644,   646,   647,   683,   684,   685,   687,   686,     0,     0,
-     660,   659,     0,   663,   667,   681,   679,   678,   671,   675,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   555,     0,     0,     0,     0,     0,     0,     0,   556,
-     558,   557,   553,   396,   477,   479,   135,   134,    93,   107,
-     729,   710,     0,   734,     0,   734,   723,   718,   149,   151,
-       0,     0,     0,   119,   147,     0,    29,     0,   139,     0,
-       0,    72,     0,    66,   283,     0,     0,   329,   331,   336,
-       0,   334,     0,     0,     0,     0,     0,   340,     0,     0,
-     354,     0,     0,   347,     0,     0,   351,   417,     0,   199,
-     765,   766,     0,     0,   500,     0,     0,   532,     0,   500,
-       0,   496,     0,    14,    16,     0,     0,     0,     0,     0,
-       0,     0,   780,     0,   635,     0,     0,     0,     0,     0,
-       0,   639,   643,   325,   323,   324,   317,   318,   319,   311,
-       0,     0,   306,     0,   300,   263,     0,     0,   277,   269,
-       0,   273,     0,   267,     0,     0,     0,   286,     0,     0,
-       0,   243,   289,   292,     0,   673,   664,   670,     0,     0,
-     743,   744,   754,   753,   752,     0,     0,     0,     0,   745,
-     650,   751,     0,   648,   652,     0,     0,   657,   661,     0,
-     682,   677,   680,   676,   588,   583,     0,     0,   598,     0,
-       0,     0,     0,   568,     0,   586,     0,   589,     0,     0,
-       0,   587,   592,     0,     0,   561,   614,   554,   582,   786,
-     788,   784,   563,   730,     0,     0,   728,   735,   736,   732,
-       0,   727,     0,   725,     0,     0,     0,     0,     0,     0,
-     542,     0,     0,     0,    68,   285,   548,     0,     0,   337,
-     341,   335,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   544,     0,     0,   500,     0,   527,
-       0,   500,   550,   619,   620,   624,   625,     0,   772,   631,
-     779,   633,     0,     0,     0,     0,   640,   320,   307,   302,
-       0,   266,     0,   275,     0,     0,   271,     0,   274,   287,
-     295,   296,   290,   242,   668,   755,     0,     0,   747,     0,
-     693,   692,   691,   690,   689,   654,     0,   746,   584,   585,
-       0,   602,     0,   599,     0,   611,     0,     0,   591,   590,
-     597,   605,     0,   595,     0,   593,   739,   738,   737,     0,
-     731,   724,   722,     0,   719,   720,   714,   152,   154,   156,
-       0,     0,     0,     0,     0,   208,   356,    74,   332,   338,
-       0,   352,   348,   355,     0,     0,     0,   342,     0,     0,
-     344,     0,   510,   504,   499,     0,   500,   490,     0,   769,
-       0,     0,     0,     0,   305,   303,   270,   268,     0,   276,
-       0,   749,   748,     0,     0,     0,     0,   606,     0,     0,
-     612,   569,     0,     0,     0,   733,   726,     0,     0,   158,
-     157,     0,     0,     0,     0,   153,     0,     0,     0,     0,
-       0,   518,   512,     0,   511,   513,   519,   516,   506,     0,
-     505,   507,   517,   492,     0,   493,     0,     0,   641,   304,
-     272,     0,   750,   662,   603,   604,   607,   600,   601,   613,
-     596,   594,   721,   155,   159,     0,     0,     0,     0,     0,
-       0,   345,   343,     0,     0,   503,   514,   515,   502,   508,
-     509,   494,     0,   294,   160,     0,     0,     0,   353,   349,
-       0,     0,     0,     0,     0,     0,     0,     0,   162,     0,
-       0,   161,     0,     0,     0,     0,     0,     0,     0,     0,
-     163
+       167,   170,   170,   170,     0,   812,  1007,   122,   124,   609,
+     904,   913,   853,   817,   815,   797,   905,   908,   860,   821,
+     798,   800,   260,   914,   801,   911,   882,   862,   837,   799,
+     857,   858,   909,   906,   856,   803,   912,   804,   805,   949,
+     961,   948,   854,   873,   867,   806,   855,   808,   807,   950,
+     891,   892,   859,   834,   971,   972,   973,   974,   975,   976,
+     977,   978,   979,   980,   981,   995,  1002,   881,   877,   868,
+     848,   796,   876,   884,   893,   996,   872,   463,   849,   850,
+     907,   997,  1003,   869,   886,     0,   472,   471,   465,   879,
+     814,   870,   871,   900,   874,   890,   899,  1001,  1004,   820,
+     861,   902,   464,   889,   895,     0,     0,     0,     0,   400,
+     887,   898,   903,   901,   880,   866,   951,   864,   865,   998,
+       0,   399,     0,   999,  1005,   896,   851,   875,  1000,   213,
+     897,   878,   885,   894,   888,   952,   842,   847,   846,   845,
+     844,   843,   809,   863,     0,   813,     0,   910,   835,   462,
+     466,   467,   942,   941,   943,   819,   818,   838,     0,   802,
+       0,   945,     0,     0,   841,   883,   940,   947,   946,   939,
+     839,   944,   956,   957,   954,   955,   953,   810,   958,   959,
+     960,   930,   929,   916,   833,   826,   923,   919,   836,   832,
+     931,   261,   822,   823,   816,   825,   928,   927,   924,   920,
+     937,   938,   936,   926,   922,   915,   824,   935,   934,   828,
+     830,   829,   921,   925,   917,   831,   918,   827,   933,   982,
+     983,   984,   985,   986,   987,   963,   964,   962,   968,   969,
+     970,   965,   966,   967,   840,   988,   989,   990,   991,   992,
+     993,   994,     0,     0,     0,  1006,   167,   167,     0,     2,
+     167,     9,    11,    25,     0,    30,    33,    38,    39,    40,
+      41,    42,    43,    44,    34,    60,    61,    35,    36,     0,
+      78,    81,    82,    37,    83,    84,     0,   120,    85,    86,
+      87,    88,    20,   164,   165,   166,   173,   176,   454,   177,
+       0,   178,   179,   180,   181,   182,   183,   184,   187,   188,
+       0,   214,   222,   217,   249,   255,     0,   247,     0,   248,
+     224,   218,   186,   219,   185,   220,   223,   357,   359,   361,
+     363,   365,   367,   371,   373,   376,   381,   384,   387,   389,
+     391,   393,     0,   397,   404,   403,   405,     0,   420,   406,
+     425,   426,   427,   434,   445,   459,   461,   446,   447,   448,
+     451,   452,   449,   453,   481,   482,   450,   485,   487,   488,
+     489,   486,   534,   535,   536,   537,   538,   539,   540,   460,
+      45,   225,   226,   228,   227,   229,   221,   456,   457,   458,
+     455,   231,   234,   230,   232,   233,     0,   795,   811,   904,
+     913,   911,   813,     0,   168,   169,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   128,   130,   131,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   279,   280,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   194,   797,   821,   800,   852,   914,   801,   862,   803,
+     873,   806,   808,   807,   891,   796,   850,   874,   898,   951,
+     952,   839,   956,   957,   954,   810,   958,   932,   823,   468,
+     795,     0,   793,   764,     0,     0,   214,     0,     0,   794,
+     801,   808,   807,     0,     0,   757,   958,     0,   222,     0,
+     469,     0,   501,     0,     0,     0,   794,   423,   424,     0,
+       0,     0,   530,     0,     0,   802,   945,     0,   778,   802,
+     945,     0,     0,     0,   802,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   362,   759,     0,
+     761,     0,     0,     0,   167,     3,     4,     1,    10,    12,
+       0,     0,     0,     0,     6,   167,     0,   167,     0,     0,
+     121,   174,     0,     0,   192,     0,     0,   201,     0,   260,
+       0,     0,     0,     0,     0,     0,   261,   206,   235,   254,
+     250,   256,   251,   253,   252,     0,   259,     0,     0,     0,
+       0,     0,     0,   408,   413,   412,   411,   410,   409,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   402,   401,   398,
+       0,     0,   421,     0,     0,     0,   435,   442,     0,     0,
+     542,   544,   548,   550,     0,   126,     0,   792,    49,    46,
+      47,    50,    51,     0,     0,     0,     0,    52,    53,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   616,
+     617,   618,     0,   105,   144,     0,     0,   114,     0,     0,
+       0,     0,   129,     0,     0,     0,     0,     0,   136,     0,
+     140,   170,   484,     0,    62,     0,    71,     0,     0,     0,
+      63,     0,     0,     0,     0,     0,     0,   328,     0,     0,
+       0,     0,     0,   607,     0,     0,     0,     0,   196,     0,
+       0,   190,   189,     0,     0,   763,     0,     0,     0,     0,
+     468,     0,   758,     0,   470,   502,   501,   498,     0,     0,
+       0,   532,   531,   422,     0,   529,     0,     0,   629,   630,
+     777,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   635,     0,   204,   205,     0,     0,
+       0,     0,     0,   209,   210,   760,   762,     0,     0,     5,
+      26,     0,    27,     0,     7,    31,     0,    17,     8,    32,
+       0,    21,   904,    79,    18,    80,    22,   195,     0,   193,
+     215,   216,     0,     0,     0,     0,   207,   236,   297,   258,
+     262,     0,   237,   238,   257,     0,     0,   358,   360,   364,
+       0,   368,   375,   374,   372,   378,   379,   380,   377,   382,
+     383,   386,   385,     0,     0,     0,     0,   407,   418,     0,
+     440,   439,   441,   438,     0,   477,   436,   479,     0,   443,
+     483,   475,     0,     0,   123,   125,     0,     0,     0,   104,
+       0,    94,    96,    97,    98,    99,   101,   102,   103,    95,
+     100,    90,    91,     0,     0,   110,     0,   106,   108,   109,
+     116,     0,     0,    89,    48,     0,     0,     0,     0,     0,
+       0,     0,   707,   712,     0,     0,   708,   742,   695,   697,
+     698,   699,   701,   703,   702,   700,   704,     0,     0,     0,
+       0,     0,   113,     0,   146,     0,     0,   547,   541,     0,
+     142,     0,     0,   137,     0,     0,     0,     0,     0,     0,
+      64,     0,     0,     0,     0,   278,   284,   281,     0,     0,
+       0,     0,     0,   546,     0,     0,     0,   414,     0,     0,
+       0,     0,   197,     0,     0,   766,     0,     0,   765,     0,
+       0,     0,   501,   499,     0,   490,     0,     0,   473,   474,
+       0,    13,     0,    15,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   772,   773,     0,     0,   780,     0,
+     802,     0,     0,     0,     0,     0,   202,     0,     0,     0,
+     431,   432,   433,   430,   643,   429,     0,   428,   211,     0,
+     776,     0,     0,     0,   167,     0,   167,     0,   175,   246,
+       0,   312,   308,   310,     0,   298,   299,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   239,   240,     0,   245,
+       0,     0,     0,     0,   673,   369,   646,   650,   652,   654,
+     656,   659,   666,   667,   675,   797,   798,   800,   914,   799,
+     803,   804,   805,   806,   796,   563,     0,   809,   802,   789,
+     791,   787,   565,   388,   553,   560,   561,   582,   573,   581,
+     580,   579,   578,   575,   577,   574,   576,   566,   610,   611,
+     567,   568,   783,   784,   785,   571,   390,   392,   395,   572,
+     394,   419,   444,     0,   437,   476,   127,    58,    59,    56,
+      57,   133,   132,     0,    92,     0,     0,     0,   111,   112,
+     117,    76,    77,    54,    55,    75,   713,     0,   716,   743,
+       0,   706,   705,   710,   709,   741,     0,     0,   718,     0,
+     714,   717,   696,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   145,   148,   150,     0,     0,     0,   115,
+     118,     0,     0,     0,   170,   143,   138,   141,     0,   191,
+       0,     0,    73,    67,    70,    69,     0,    65,   552,   282,
+       0,     0,   170,     0,   326,   330,     0,     0,     0,   333,
+       0,     0,   339,     0,     0,   346,     0,   350,     0,   416,
+     415,   170,   198,     0,   200,   327,     0,     0,     0,     0,
+       0,   502,     0,   492,     0,   525,   522,     0,   526,   527,
+       0,     0,   521,     0,   496,   524,   523,     0,     0,     0,
+       0,     0,   622,   623,   619,     0,     0,   627,   628,   624,
+     769,   770,     0,   633,   779,   631,     0,     0,     0,     0,
+       0,   637,   801,   808,   807,   958,   203,     0,     0,     0,
+     638,   639,     0,     0,   212,   775,    28,     0,    19,    23,
+      24,   309,   321,     0,   322,     0,   313,   314,   315,   316,
+       0,   301,     0,     0,   264,     0,     0,   265,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   241,     0,     0,
+       0,     0,   291,     0,   288,   293,   244,     0,     0,   657,
+     670,     0,   366,   370,     0,   689,     0,     0,     0,     0,
+       0,     0,   645,   647,   648,   684,   685,   686,   688,   687,
+       0,     0,   661,   660,     0,   664,   668,   682,   680,   679,
+     672,   676,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   556,     0,     0,     0,     0,     0,     0,
+       0,   557,   559,   558,   554,   396,   478,   480,   135,   134,
+      93,   107,   730,   711,     0,   735,     0,   735,   724,   719,
+     149,   151,     0,     0,     0,   119,   147,     0,    29,     0,
+     139,     0,     0,    72,     0,    66,   283,     0,     0,   329,
+     331,   336,     0,   334,     0,     0,     0,     0,     0,   340,
+       0,     0,   354,     0,     0,   347,     0,     0,   351,   417,
+       0,   199,   767,   768,     0,     0,   501,     0,     0,   533,
+       0,   501,     0,   497,     0,    14,    16,     0,     0,     0,
+       0,     0,     0,     0,   782,     0,   636,     0,     0,     0,
+       0,     0,     0,   640,   644,   325,   323,   324,   317,   318,
+     319,   311,     0,     0,   306,     0,   300,   263,     0,     0,
+     277,   269,     0,   273,     0,   267,     0,     0,     0,   286,
+       0,     0,     0,   243,   289,   292,     0,   674,   665,   671,
+       0,     0,   744,   745,   755,   754,   753,     0,     0,     0,
+       0,   746,   651,   752,     0,   649,   653,     0,     0,   658,
+     662,     0,   683,   678,   681,   677,   589,   584,     0,     0,
+     599,     0,     0,     0,     0,   569,     0,   587,     0,   590,
+       0,     0,     0,   588,   593,     0,     0,   562,   615,   555,
+     583,   788,   790,   786,   564,   731,     0,     0,   729,   736,
+     737,   733,     0,   728,     0,   726,     0,     0,     0,     0,
+       0,     0,   543,     0,     0,     0,    68,   285,   549,     0,
+       0,   337,   341,   335,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   545,     0,     0,   501,
+       0,   528,     0,   501,   551,   620,   621,   625,   626,     0,
+     774,   632,   781,   634,     0,     0,     0,     0,   641,   320,
+     307,   302,     0,   266,     0,   275,     0,     0,   271,     0,
+     274,   287,   295,   296,   290,   242,   669,   756,     0,     0,
+     748,     0,   694,   693,   692,   691,   690,   655,     0,   747,
+     585,   586,     0,   603,     0,   600,     0,   612,     0,     0,
+     592,   591,   598,   606,     0,   596,     0,   594,   740,   739,
+     738,     0,   732,   725,   723,     0,   720,   721,   715,   152,
+     154,   156,     0,     0,     0,     0,     0,   208,   356,    74,
+     332,   338,     0,   352,   348,   355,     0,     0,     0,   342,
+       0,     0,   344,     0,   511,   505,   500,     0,   501,   491,
+       0,   771,     0,     0,     0,     0,   305,   303,   270,   268,
+       0,   276,     0,   750,   749,     0,     0,     0,     0,   607,
+       0,     0,   613,   570,     0,     0,     0,   734,   727,     0,
+       0,   158,   157,     0,     0,     0,     0,   153,     0,     0,
+       0,     0,     0,   519,   513,     0,   512,   514,   520,   517,
+     507,     0,   506,   508,   518,   493,     0,   494,     0,     0,
+     642,   304,   272,     0,   751,   663,   604,   605,   608,   601,
+     602,   614,   597,   595,   722,   155,   159,     0,     0,     0,
+       0,     0,     0,   345,   343,     0,     0,   504,   515,   516,
+     503,   509,   510,   495,     0,   294,   160,     0,     0,     0,
+     353,   349,     0,     0,     0,     0,     0,     0,     0,     0,
+     162,     0,     0,   161,     0,     0,     0,     0,     0,     0,
+       0,     0,   163
   };
 
   /* YYPGOTO[NTERM-NUM].  */
   const short int
   jsoniq_parser::yypgoto_[] =
   {
-     -1484, -1484,  -230,  -177, -1484,  1199,  1218, -1484,  1232,  -467,
-   -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484,
-    -870, -1484, -1484, -1484, -1484,  -193,  -508, -1484,   772,   -48,
-   -1484, -1484, -1484, -1484, -1484,   321,   568, -1484, -1484,    16,
-    -178,  1051, -1484,  1018, -1484, -1484,  -566, -1484,   522, -1484,
-     286, -1484,  -228,  -281, -1484,  -474, -1484,    39,    27,    33,
-    -272,  -164, -1484,  -772, -1484, -1484,   439, -1484, -1484, -1484,
-   -1484, -1484, -1484, -1484, -1484, -1484, -1484,   679, -1484,   -95,
-    1712,     0, -1484, -1484, -1484, -1484,   414, -1484, -1484,  -289,
-   -1484,     5, -1484, -1484,   855,  -943,  -782,  -760, -1484, -1484,
-     754, -1484, -1484,   -29,   163, -1484, -1484, -1484,   177, -1483,
-   -1484,   441,   182, -1484, -1484,   189, -1208, -1484,   984,   284,
-   -1484, -1484,   281,  -912, -1484, -1484,   280, -1484, -1484, -1143,
-   -1155, -1484,   274, -1334, -1484, -1484,   871,  -127, -1484,   872,
-     864, -1484, -1484,  -587,   452,  -560,   449,   451, -1484, -1484,
-   -1484,   644, -1484, -1484,  1213, -1484, -1484, -1484, -1484,  -755,
-    -303,  -599, -1484, -1484,   219, -1484,  -139, -1484,   852, -1484,
-    -375, -1484, -1484,   854,   856, -1484, -1484, -1484, -1484,   845,
-   -1484, -1484, -1484, -1484,  -898, -1484,   271, -1484,   757,  -703,
-   -1484, -1484, -1484, -1484, -1484,  -262,  -255, -1128,  -932, -1484,
-   -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484,
-    -644,  -771,   -84,  -777, -1484, -1484, -1484,  -823, -1484, -1484,
-   -1484, -1484, -1484, -1484, -1484, -1484,   149,   151,  -616,  -149,
-    -567, -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484,
-   -1484, -1484,   248, -1484, -1484,   238, -1484,   240,  -958, -1484,
-   -1484, -1484,   181,   172,    -4,   462, -1484, -1484, -1484, -1484,
-   -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484, -1484,   183,
-   -1484, -1484, -1484,     1,   456,   601, -1484, -1484, -1484, -1484,
-   -1484,   371, -1484, -1484, -1449, -1484, -1484, -1484,  -472, -1484,
-     136, -1484,   -33, -1484, -1484, -1484, -1484, -1246, -1484,   197,
-   -1484, -1484, -1484, -1484, -1484,   -99, -1484, -1484, -1484, -1484,
-   -1484,  -818, -1484, -1484, -1484,  -369,  -105,   252,  1190, -1484
+     -1487, -1487,  -194,  -183, -1487,  1204,  1207, -1487,  1220,  -476,
+   -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487,
+    -888, -1487, -1487, -1487, -1487,  -203,  -509, -1487,   771,    84,
+   -1487, -1487, -1487, -1487, -1487,   323,   568, -1487, -1487,     9,
+     -48,  1051, -1487,  1006, -1487, -1487,  -569, -1487,   522, -1487,
+     281, -1487,  -228,  -281, -1487,  -474, -1487,    22,    95,    33,
+    -272,  -164, -1487,  -781, -1487, -1487,   390, -1487, -1487, -1487,
+   -1487, -1487, -1487, -1487, -1487, -1487, -1487,   679, -1487,   -95,
+    1766,     0, -1487, -1487, -1487, -1487,   414, -1487, -1487,  -290,
+   -1487,     5, -1487, -1487,   860,  -958,  -756,  -749, -1487, -1487,
+     766, -1487, -1487,   -29,   159, -1487, -1487, -1487,   187, -1486,
+   -1487,   451,   194, -1487, -1487,   195, -1211, -1487,   985,   295,
+   -1487, -1487,   291,  -913, -1487, -1487,   289, -1487, -1487, -1161,
+   -1156, -1487,   286, -1345, -1487, -1487,   890,  -147, -1487,   875,
+     885, -1487, -1487,  -594,   424,  -576,   420,   427, -1487, -1487,
+   -1487,   652, -1487, -1487,  1212, -1487, -1487, -1487, -1487,  -755,
+    -311,  -600, -1487, -1487,   229, -1487,  -140, -1487,   853, -1487,
+    -357, -1487, -1487,   861,   862, -1487, -1487, -1487, -1487,   854,
+   -1487, -1487, -1487, -1487,  -905, -1487,   284, -1487,   761,  -703,
+   -1487, -1487, -1487, -1487, -1487,  -253,  -244, -1135,  -886, -1487,
+   -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487,
+    -681,  -783,   -99,  -787, -1487, -1487, -1487,  -830, -1487, -1487,
+   -1487, -1487, -1487, -1487, -1487, -1487,   160,   161,  -672,  -139,
+    -581, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487,
+   -1487, -1487,   257, -1487, -1487,   247, -1487,   249,  -969, -1487,
+   -1487, -1487,   199,   183,     3,   475, -1487, -1487, -1487, -1487,
+   -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487, -1487,   196,
+   -1487, -1487, -1487,    10,   469,   615, -1487, -1487, -1487, -1487,
+   -1487,   384, -1487, -1487, -1459, -1487, -1487, -1487,  -489, -1487,
+     147, -1487,   -24, -1487, -1487, -1487, -1487, -1252, -1487,   206,
+   -1487, -1487, -1487, -1487, -1487,  -107, -1487, -1487, -1487, -1487,
+   -1487,  -827, -1487, -1487, -1487,  -364,  -105,   252,  1030, -1487
   };
 
   /* YYDEFGOTO[NTERM-NUM].  */
   const short int
   jsoniq_parser::yydefgoto_[] =
   {
-        -1,   247,   564,   248,   249,   250,   251,   252,   253,   254,
-     255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
-    1160,   687,   265,   266,   267,   268,   269,   270,   859,   860,
-     861,   271,   272,   273,   865,   866,   867,   274,   419,   275,
-     276,   632,   277,   421,   422,   423,   429,   677,   678,   278,
-    1141,   279,  1657,  1658,   280,   281,   282,   482,   283,   284,
-     285,   286,   287,   680,   288,   289,   450,   290,   291,   292,
-     293,   294,   295,   575,   296,   297,   761,   762,   298,   299,
-     300,   496,   302,   576,   588,  1026,  1027,   303,   577,   304,
-     579,   497,   306,   307,   797,   798,  1290,   436,   308,   437,
-     438,   804,  1291,  1292,  1293,   580,   581,  1013,  1014,  1452,
-     582,  1010,  1011,  1264,  1265,  1266,  1267,   309,   694,   695,
-     310,  1176,  1177,  1392,   311,  1179,  1180,   312,   313,  1182,
-    1183,  1184,  1185,  1399,   314,   315,   316,   317,   318,   319,
-     320,  1300,   321,   322,   323,   324,   325,   326,   327,   328,
-     329,  1085,   330,   331,   332,   333,   597,   334,   335,   336,
-     337,   338,   339,   340,   992,   993,   341,   624,   625,   342,
-     343,   344,   345,   346,   347,   348,   349,   350,   351,   836,
-     352,   353,   354,   355,   356,   357,  1211,   724,   725,   726,
-    1684,  1739,  1740,  1733,  1734,  1741,  1735,  1212,  1213,   358,
-     359,  1214,   360,   361,   362,   363,   364,   365,   366,   367,
-     922,  1400,  1352,  1062,  1514,  1063,  1086,  1064,  1065,  1066,
-    1067,  1068,  1069,  1070,  1071,  1072,  1073,  1074,   700,  1706,
-     368,  1075,  1076,  1077,  1078,   369,   370,   371,   372,   373,
-     374,   751,   752,   375,  1248,  1249,  1596,   994,  1033,  1310,
-    1311,  1034,  1035,  1036,  1037,  1038,  1320,  1497,  1498,  1039,
-    1323,  1040,  1478,  1041,  1042,  1328,  1329,  1503,  1501,  1312,
-    1313,  1314,  1315,  1623,   661,   886,   887,   888,   889,   890,
-     891,  1128,  1545,  1654,  1129,  1543,  1652,   892,  1365,  1540,
-    1536,  1537,  1538,   893,   894,  1316,  1324,  1488,  1317,  1484,
-    1301,   376,   377,   378,   379,   485,   380,   381,   382,   383,
-     384,  1079,  1080,  1081,  1082,  1161,   486,   385,   386,   387
+        -1,   248,   566,   249,   250,   251,   252,   253,   254,   255,
+     256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
+    1162,   689,   266,   267,   268,   269,   270,   271,   861,   862,
+     863,   272,   273,   274,   867,   868,   869,   275,   420,   276,
+     277,   634,   278,   422,   423,   424,   430,   679,   680,   279,
+    1143,   280,  1659,  1660,   281,   282,   283,   393,   284,   285,
+     286,   287,   288,   682,   289,   290,   451,   291,   292,   293,
+     294,   295,   296,   577,   297,   298,   763,   764,   299,   300,
+     301,   498,   303,   578,   590,  1028,  1029,   304,   579,   305,
+     581,   499,   307,   308,   799,   800,  1292,   437,   309,   438,
+     439,   806,  1293,  1294,  1295,   582,   583,  1015,  1016,  1454,
+     584,  1012,  1013,  1266,  1267,  1268,  1269,   310,   696,   697,
+     311,  1178,  1179,  1394,   312,  1181,  1182,   313,   314,  1184,
+    1185,  1186,  1187,  1401,   315,   316,   317,   318,   319,   320,
+     321,  1302,   322,   323,   324,   325,   326,   327,   328,   329,
+     330,  1087,   331,   332,   333,   334,   599,   335,   336,   337,
+     338,   339,   340,   341,   994,   995,   342,   626,   627,   343,
+     344,   345,   346,   347,   348,   349,   350,   351,   352,   838,
+     353,   354,   355,   356,   357,   358,  1213,   726,   727,   728,
+    1686,  1741,  1742,  1735,  1736,  1743,  1737,  1214,  1215,   359,
+     360,  1216,   361,   362,   363,   364,   365,   366,   367,   368,
+     924,  1402,  1354,  1064,  1516,  1065,  1088,  1066,  1067,  1068,
+    1069,  1070,  1071,  1072,  1073,  1074,  1075,  1076,   702,  1708,
+     369,  1077,  1078,  1079,  1080,   370,   371,   372,   373,   374,
+     375,   753,   754,   376,  1250,  1251,  1598,   996,  1035,  1312,
+    1313,  1036,  1037,  1038,  1039,  1040,  1322,  1499,  1500,  1041,
+    1325,  1042,  1480,  1043,  1044,  1330,  1331,  1505,  1503,  1314,
+    1315,  1316,  1317,  1625,   663,   888,   889,   890,   891,   892,
+     893,  1130,  1547,  1656,  1131,  1545,  1654,   894,  1367,  1542,
+    1538,  1539,  1540,   895,   896,  1318,  1326,  1490,  1319,  1486,
+    1303,   377,   378,   379,   380,   487,   381,   382,   383,   384,
+     385,  1081,  1082,  1083,  1084,  1163,   488,   386,   387,   388
   };
 
   /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
      positive, shift that token.  If negative, reduce the rule which
      number is the opposite.  If YYTABLE_NINF_, syntax error.  */
-  const short int jsoniq_parser::yytable_ninf_ = -931;
+  const short int jsoniq_parser::yytable_ninf_ = -933;
   const short int
   jsoniq_parser::yytable_[] =
   {
-       301,   301,   301,   301,   301,   305,   305,   305,   305,   305,
-     495,   499,   559,   534,   503,   812,   578,  1019,   516,   825,
-    1178,   952,   524,   554,   633,   633,   420,  1403,   393,   393,
-     393,   397,   636,   620,   394,   394,   394,   398,   556,  1020,
-     392,   395,   396,   813,   814,   815,   816,   781,   783,  1165,
-    1061,  1084,   930,  1031,   830,  1413,  1210,  1447,  1448,   551,
-     521,   552,   940,   684,   688,   535,   552,  1568,   543,   544,
-    1572,  1296,  1272,  1142,  1100,  1016,  1499,   846,  1143,   775,
-     779,   782,   784,  1421,   552,  1105,   773,   777,     9,  1023,
-    1133,  1279,   552,  1660,   434,  1655,   552,   558,   712,   552,
-     552,   729,   552,   711,   301,   552,  1168,   552,  1137,   305,
-     509,   635,  1485,   552,  1276,   711,  1694,   552,   552,     9,
-     841,   552,   559,     7,     8,   603,   559,   552,   552,  1616,
-     712,   393,  1682,   651,   920,   652,  1017,   483,  1154,  -171,
-     552,   635,   862,   841,   405,   920,   537,   539,   552,  1166,
-     712,   675,  1017,   600,   604,  1021,  1261,   552,   552,  1131,
-     776,   552,  1169,   600,  1132,  1133,  1017,   605,   653,   563,
-      77,   601,   408,  1134,   563,  1175,  1218,  1263,  1219,   424,
-    1135,   601,  1136,  1137,    87,   863,   399,  1018,  1390,   560,
-     864,  1138,   563,  1001,   602,   654,   685,   927,   929,   552,
-     842,    77,   606,  1280,  1661,  -172,   552,  1617,   578,   101,
-     667,   559,  1749,  1028,   552,    87,  1029,  1456,  1139,   743,
-     676,   563,  1683,   843,  1108,   563,   563,   713,   744,   563,
-     552,   970,   981,  1505,   552,   563,   563,   121,  1597,  1281,
-     101,   435,   558,   686,   435,   301,   301,  1200,   563,   301,
-     305,   305,  1024,   435,   305,   552,   563,   655,  1403,  1277,
-     971,  1282,   781,   783,  1153,   563,   563,  1396,  1762,   563,
-     730,  1485,   722,   683,  1031,  1031,  1486,  1342,   928,   148,
-     149,   150,  1101,   553,   301,   872,  1662,   555,  1421,   305,
-     768,   770,  1025,  1002,  1383,   510,  1004,  1653,  1254,   560,
-     794,   773,   777,   560,  1210,   913,   932,   563,   656,   933,
-     148,   149,   150,  1210,   563,   985,  1196,   435,   918,   671,
-     769,   771,   563,  1030,   552,  -171,  1142,  1342,  1455,  1357,
-     786,  1143,   674,   435,   720,   681,  1726,   478,   563,   561,
-    1477,   962,   563,  1464,   693,  1197,  1198,   698,   699,  1690,
-    1140,   401,   402,   705,   403,   404,   487,   444,   927,   500,
-     774,   778,  1393,   563,   982,   767,  1095,     7,     8,     7,
-       8,   504,   407,   507,  1393,   875,   738,   876,  1284,   764,
-     621,   665,   763,  1096,   746,  1378,   666,  1691,   560,   668,
-     405,  -172,   400,  1770,   301,  1773,   525,   669,   301,   305,
-     406,   526,  1692,   305,  1393,   552,   727,   728,  1302,   552,
-     953,   487,   552,   732,  1569,   622,  1090,   623,   408,   907,
-     742,   877,   562,   409,   552,   301,   301,   428,  1255,   552,
-     305,   305,   563,  1032,   445,  1486,  1487,   757,   759,   942,
-     926,   301,  1057,  1058,  1059,   301,   305,  1681,  1394,   552,
-     305,  1719,   672,   673,   557,   410,   411,  1005,   398,   398,
-    1558,   910,  1097,   806,   958,   552,  1094,  1302,   697,   963,
-     964,   552,   702,   435,   398,   413,  1175,   954,   398,  1098,
-     425,  1303,  1570,   301,   965,   527,   559,  1091,   305,  1395,
-    1563,  1457,   301,   426,   781,   783,   781,   305,  1201,   607,
-    1109,  1110,  1235,  1091,  1373,  1113,   446,   447,   608,   938,
-    1362,  1480,  1764,   563,  1006,  1570,   831,   563,  1210,   393,
-     563,  1465,   566,   959,   827,   394,   567,   832,  1256,  1257,
-    1258,   568,   563,   301,   920,  1151,  1358,   563,   305,   414,
-    1303,   911,   301,  1031,  1003,  1370,   966,   305,   771,  1747,
-     569,  1481,  1031,   301,   301,   301,   301,   563,   305,   305,
-     305,   305,  1513,  1031,   420,  1202,   758,  1092,  1304,  1305,
-    1364,  1306,   301,   563,   920,   999,   878,   305,   914,   563,
-     415,   917,   427,  1093,     7,     8,  1261,  1283,  1308,   879,
-     955,   880,  1403,  1630,   956,   401,   402,   957,   403,   404,
-    1309,  1632,   881,   882,   883,   405,   884,   945,   885,   987,
-     979,   430,  1534,  1401,  1089,   406,   407,  1636,   619,  1642,
-     947,   948,   949,   960,   759,  1453,  1402,  1304,  1305,   651,
-    1306,   652,   566,   408,  1475,   416,   567,  1307,   409,  1203,
-    1204,   568,   121,   417,  1644,     9,   600,  1308,  1250,   570,
-    1748,   418,   571,   621,  1032,  1032,  1753,  1595,   644,  1309,
-     569,   648,  1731,   986,   601,   504,  1203,   572,   662,   663,
-     410,   411,   412,  1631,   967,   968,   504,  1535,  1620,   301,
-    1605,  1633,   961,  1667,   305,  1621,   689,   645,   622,   969,
-     623,   654,   696,   573,  1649,  1622,   701,  1637,   566,  1643,
-    1125,   706,   567,   301,   301,  1251,   393,   568,   305,   305,
-    -850,  1576,   394,  1244,  1251,   431,  1580,  1126,   912,   413,
-     646,   583,  1492,   584,  1645,   432,   569,    77,   620,  1731,
-     936,   937,   696,  1203,  -850,  1205,   398,   398,  1203,  1204,
-    1031,    87,   574,   718,   487,  -850,   781,   747,   439,   863,
-    1736,  1742,   433,   655,   864,  1206,   786,  1207,   301,   570,
-    1127,  1620,   571,   305,  1203,  1204,   101,  1203,  1621,   771,
-    1028,   487,   621,  1029,  1650,  1433,  1549,   721,  1622,  1396,
-     753,  1017,  1206,   414,  1207,  1208,   301,  1737,   585,   107,
-    1381,   305,  1732,   586,   121,  1673,   420,  1362,   920,  1203,
-    1204,  1125,  1736,   573,   548,  1286,   119,   622,  1742,   623,
-    1287,  1102,  1208,   920,  1363,  1119,   440,   641,  1126,   920,
-     549,  1349,   441,  1102,   415,   570,  1120,  1209,   571,  1288,
-    1252,  1450,  1604,   642,  1205,   799,   148,   149,   150,   799,
-     587,  1236,  1203,  1439,   776,   143,   921,   975,  1017,  1206,
-     416,  1207,   574,  1350,  1206,  1404,  1207,  1364,   417,  1776,
-    1205,   939,  1737,  1710,   442,  1711,   418,  1451,  1405,   573,
-    1289,  1351,   621,   504,  1685,  1325,  1326,  1000,  1688,  1208,
-    1206,  1099,  1207,  1206,  1208,  1207,  1379,   621,   107,  1111,
-    1112,  1286,  1443,   549,  1738,  1205,  1287,   679,  1327,  1618,
-    1619,  -930,   868,  1286,  1298,   119,   443,   622,  1287,   623,
-    1208,   449,   600,  1208,   107,  1206,   898,  1207,   574,  1615,
-     902,   903,   622,  1032,   623,  -930,  1415,   908,   121,   480,
-     601,   119,  1032,  1295,   301,   504,  -930,   609,   504,   305,
-     637,  1759,   923,  1032,   143,  1208,  1017,  1659,  1565,   107,
-     511,   610,  1420,  1703,   638,  1675,  1679,   578,  1206,   639,
-    1207,  1186,  1769,  1260,   487,  1790,   119,   398,  1791,  1779,
-     143,   448,  1566,   640,  1261,   950,   501,  1356,  1401,  1566,
-    1566,  1401,   502,  1744,  1262,  1245,  1566,  1578,  1208,  1566,
-    1246,  1575,  1566,   679,  1782,  1263,   785,  1145,   512,  1121,
-     787,   508,   301,   301,   301,   143,  1146,   305,   305,   305,
-    1122,  1482,   995,  1554,  1705,  1720,  1708,   420,  1483,  1114,
-    1115,  1116,   657,   658,   659,  1117,  1713,   528,  1714,  1701,
-    1702,   849,   850,   851,   852,   853,   854,   855,   856,   857,
-     858,  1223,  1007,  1224,   591,   592,   593,   594,   595,   596,
-    1444,  1445,   810,   811,   529,  1022,   817,   818,  1368,  1369,
-     819,   820,  1646,  1647,   530,  1659,   531,   532,   533,   545,
-     565,   589,   590,  1083,  1083,  1087,  1087,   598,   599,   534,
-     611,  1598,   612,   613,   618,   614,   626,   627,   635,   628,
-     629,   630,   631,   647,   649,   650,   660,   664,   679,   682,
-     691,   692,   690,   703,   707,   704,   711,   709,   714,   715,
-     716,   717,   719,   723,  1083,   733,  1752,   731,   734,  1659,
-    1032,   735,  1560,   749,   750,   754,   755,   772,  1118,   766,
-     790,   791,   760,   803,   792,   793,   808,   800,   821,   801,
-     822,   838,   823,   824,   622,   844,   845,   847,   869,   870,
-     873,   874,   301,  1148,   901,   896,   897,   305,   301,   899,
-     895,  1083,   904,   305,   909,   905,   916,   794,   915,   919,
-     301,   934,  1083,   977,   974,   305,   983,   906,   980,   393,
-     931,   935,  1001,   997,  1008,   394,  1012,  1103,   984,   301,
-    1015,  1377,   864,   920,   305,  1123,  1150,   393,  1801,  1144,
-    1802,  1149,  1124,   394,  1152,   675,  1156,  1158,   301,  1386,
-    1810,  1157,  1162,   305,  1159,   301,   393,  1163,  1170,  1164,
-     305,  1171,   394,  1174,  1175,  1181,  1187,  1188,  1408,  1194,
-    1518,  1189,  1195,  1191,  1192,  1418,  1199,  1215,  1216,  1217,
-    1230,   398,  1422,   653,  1247,  1237,  1268,  1270,   398,  1274,
-    1245,  1278,  1330,  1318,  1331,  1246,  1273,  1285,  1299,  1353,
-       9,  1332,  1333,  1360,  1269,  1319,  1334,   799,  1361,  1335,
-    1336,  1322,  1337,  1338,  1339,   479,  1340,  1343,  1366,  1665,
-    1372,  1382,  1376,   758,  1344,  1375,  1345,  1385,  1346,  1347,
-    1669,  1560,  1348,  1671,  1371,  1412,  1401,   479,  1414,  1417,
-    1425,  1680,  1429,  1431,  1426,  1436,  1083,  1437,  1438,   479,
-    1250,   479,  1427,  1261,  1428,  1460,  1462,  1466,  1407,  1468,
-    1474,  1469,  1430,  1470,  1435,  1423,  1495,  1424,  1476,  1502,
-    1500,  1496,  1533,  1504,  1515,  1479,  1539,  1544,  1550,  1542,
-    1489,  1592,  1593,  1594,  1551,  1521,  1525,  1526,  1527,  1528,
-    1529,  1546,  1530,  1552,  1553,  1548,  1083,  1587,  1531,  1556,
-    1532,  1600,  1557,  1562,  1573,  1626,  1574,  1579,  1582,  1602,
-    1607,  1614,  1627,  1628,  1634,  1629,  1651,  1635,  1638,  1125,
-    1639,  1640,  1641,  1664,  1656,  1670,  1663,  1450,  1698,  1700,
-    1712,  1715,  1717,  1718,   301,  1687,  1722,  1727,  1723,   305,
-    1728,  1729,  1746,  1754,  1755,  1743,  1745,  1671,  1083,  1756,
-    1751,  1716,  1757,  1758,  1768,  1760,  1761,  1767,  1765,  1774,
-    1775,  1778,  1800,   696,  1787,   871,  1359,  1792,  1781,  1806,
-    1807,  1106,  1155,  1083,  1803,  1374,  1725,  1763,   670,  1245,
-     996,  1294,   802,  1612,  1246,  1793,   925,  1454,   546,  1259,
-    1449,   634,  1785,  1473,  1446,  1387,  1771,  1391,  1406,  1397,
-     805,  1419,  1794,   809,   708,  1797,  1799,   547,  1088,   807,
-    1442,  1804,   840,  1416,  1379,   828,   837,   829,  1780,  1777,
-    1506,   951,  1507,  1709,   550,  1434,  1441,  1440,  1490,   753,
-    1494,  1625,  1297,  1624,  1493,  1321,  1130,  1788,  1367,   995,
-    1693,  1541,     0,   995,  1648,  1491,     0,     0,     0,  1809,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,  1788,
-       0,     0,     0,   799,     0,     0,  1458,     0,  1771,     0,
-       0,  1704,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,  1472,     0,     0,   617,     0,     0,     0,     0,     0,
-       0,  1245,     0,     0,     0,     0,  1246,     0,     0,     0,
-       0,     0,  1245,  1245,     0,   301,     0,  1246,  1246,     0,
-     305,     0,     0,  1245,     0,     0,     0,     0,  1246,     0,
-       0,     0,     0,     0,  1510,  1083,     0,   504,  1519,  1520,
-       0,  1524,     0,     0,     0,   643,   479,     0,     0,   479,
-       0,     0,     0,   479,     0,     0,   479,   479,     0,     0,
-       0,     0,     0,     0,   479,     0,     0,     0,     0,     0,
-       0,     0,     0,  1547,   479,     0,     0,     0,     0,     0,
-     479,     0,     0,     0,   479,     0,     0,     0,     0,   479,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-    1564,     0,     0,  1083,     0,     0,  1083,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,  1577,     0,     0,
-     479,     0,  1581,     0,     0,     0,     0,     0,     0,  1245,
-       0,   479,     0,     0,  1246,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   479,     0,
-       0,  1610,  1611,     0,     0,     0,     0,     0,   301,     0,
-       0,     0,     0,   305,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,  1245,     0,     0,     0,
-       0,  1246,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   301,
-       0,     0,     0,   479,   305,     0,     0,   479,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,  1245,     0,     0,     0,     0,  1246,     0,     0,     0,
-    1245,     0,     0,     0,     0,  1246,     0,     0,     0,     0,
-       0,   479,     0,     0,     0,     0,   484,     0,  1083,  1674,
-       0,  1676,     0,  1678,     0,     0,     0,     0,     0,     0,
-    1686,     0,     0,     0,     0,     0,     0,   848,     0,     0,
-     479,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   479,     0,     0,     0,   479,   479,
-       0,     0,     0,     0,     0,   479,     0,     0,     0,     0,
-       0,   520,     0,   479,     0,     0,   479,     0,     0,     0,
-     479,     0,  1707,     0,  1707,     0,  1083,     0,  1083,     0,
-       0,     0,     0,     0,   701,     0,   701,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,  1721,   479,     0,  1724,     0,     0,     0,     0,
-       0,     0,  1083,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,  1730,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     479,     0,     0,     0,     0,   541,     0,     0,     0,     0,
-       0,     0,     0,     0,  1083,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,  1766,     0,     0,     0,     0,  1083,
-     479,  1083,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   479,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,  1783,     0,     0,     0,     0,     0,     0,
-       0,   479,   479,   479,   479,     0,     0,     0,     0,  1786,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,  1795,
-       0,     0,     0,     0,  1796,     0,     0,     0,     0,     0,
-       0,     0,   479,     0,     0,     0,  1805,     0,     0,  1808,
-       0,     0,     0,     0,     0,     0,   479,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   479,     0,     0,     0,     0,     0,     0,     0,   479,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     479,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   479,     0,   484,   479,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   736,   737,     0,     0,   739,
-     740,   741,     0,     0,   745,     0,     0,   748,     0,     0,
-       0,     0,     0,   756,   479,     0,     0,     0,     0,     0,
-       0,     0,   765,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   788,   789,     0,     0,     0,
-       0,     0,     0,     0,   795,   796,     0,     0,     0,     0,
-       0,     0,     0,     0,   479,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   835,     0,     0,     0,   835,
-       0,     0,     0,     0,     0,     0,   479,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   479,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   479,     0,     0,     0,     0,     0,     0,   900,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   479,
-       0,     0,     0,   924,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   941,
-       0,     0,     0,   943,   944,     0,   946,   479,     0,     0,
-       0,     0,     0,   795,     0,     0,     0,   479,     0,     0,
-       0,   479,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   972,   973,     0,     0,   976,
-       0,   479,     0,     0,   479,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   998,   479,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   789,     0,
-       0,     0,     0,     0,  1009,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   479,   479,     0,   479,   479,   479,     0,   479,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   479,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,  1107,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   479,     0,
-       0,   479,     0,     0,   479,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   479,     0,     0,     0,     0,
-     479,  1147,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,  1167,     0,     0,     0,     0,     0,     0,
-    1172,  1173,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,  1190,     0,     0,  1193,     0,     0,     0,     0,   479,
-     479,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,  1220,  1221,  1222,     0,  1225,
-    1226,  1227,  1228,  1229,     0,     0,  1231,  1232,     0,  1233,
-    1234,     0,     0,     0,  1238,  1239,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,  1253,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-    1009,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-    1275,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   479,   479,     0,   479,
-       0,   479,     0,     0,     0,     0,     0,     0,   479,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,  1355,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     479,     0,   479,     0,   479,     0,   479,     0,     0,     0,
-       0,     0,   479,     0,   479,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     479,     0,     0,   479,     0,     0,     0,     0,     0,     0,
-     479,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-    1380,   479,     0,     0,     0,     0,     0,     0,     0,     0,
-    1384,     0,     0,     0,     0,     0,  1388,  1389,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   479,  1409,     0,     0,  1410,  1411,     0,     0,
-       0,     0,   479,     0,     0,     0,     0,   479,     0,   479,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   479,     0,     0,     0,     0,     0,  1432,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   479,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   479,     0,     0,
-    1009,     0,   479,     0,     0,     0,     0,     0,  1459,     0,
-    1461,     0,  1463,     0,   479,  1467,     0,   479,     0,     0,
-    1471,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,  1555,     0,     0,
-       0,     0,     0,     0,     0,  1559,  1561,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,  1380,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,  1583,  1584,  1585,
-    1586,     0,  1588,  1589,     0,  1590,     0,  1591,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,  1599,     0,     0,     0,     0,  1601,     0,
-       0,     0,  1603,     0,     0,     0,  1606,     0,  1608,     0,
-    1609,     0,     0,     0,     0,     0,  1613,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,  1666,     0,     0,     0,     0,  1668,
-    1561,     0,     0,     0,     0,     0,     0,  1672,     0,     0,
-       0,     0,  1677,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,  1689,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,  1695,     0,  1696,     0,  1697,     0,     0,  1699,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,  1672,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-    1750,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-    1772,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-    -167,   776,     0,     0,     0,     0,     0,  1784,     0,     0,
-       0,  1789,     0,     0,     0,     0,  1772,     0,     0,     0,
-       0,     1,     2,     3,     4,     5,     6,     7,     8,     0,
-       9,     0,  1789,     0,    10,   389,  1798,    12,    13,    14,
-      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
-      25,    26,    27,    28,    29,    30,     0,    31,    32,    33,
+       302,   302,   302,   302,   302,   306,   306,   306,   306,   306,
+     814,   497,   501,   561,   536,   505,   580,   932,   518,   421,
+     827,  1180,   526,   954,   396,   397,   622,   942,  1405,   815,
+     816,   817,   818,  1167,   395,   395,   395,   399,   638,  1415,
+    1063,  1086,   832,   635,   635,  1021,   537,   554,   783,   785,
+     553,  1212,  1022,   523,   554,  1033,  1449,  1450,  1570,  1274,
+     556,  1574,  1298,   545,   546,     7,     8,  1102,  1144,   686,
+     690,  1145,  1501,  1018,  1281,   558,   848,  1107,  1423,   775,
+     779,   777,   781,   784,   786,  1662,   406,  1657,   554,   445,
+     554,  1487,   554,  1278,   554,   554,   394,   394,   394,   398,
+     402,   403,  1025,   404,   405,   302,   554,  1205,  1206,   554,
+     306,   554,   554,   714,   409,  1696,   585,   563,   586,   511,
+    1023,   408,   554,   561,   554,   929,  1487,   561,  1156,  1536,
+       7,     8,   922,   929,  1019,  1019,  1133,   554,   485,  1168,
+     554,  1134,  1135,   714,   922,   554,   960,   539,   541,   713,
+    1136,   406,   669,   554,   922,   565,   602,  1137,   647,  1138,
+    1139,   407,   565,  1263,  -171,   554,  1482,   446,  1140,   621,
+     922,  1220,   441,  1221,   603,  1171,   731,  1257,   611,   409,
+     554,   778,  1263,   587,   410,  1265,  1020,  1282,   588,  1110,
+     562,   648,   612,   122,  1537,  1141,   435,  1663,   931,   554,
+     484,   564,   554,  1207,   554,   961,  1483,   930,  1285,   580,
+     554,  1751,  1170,   561,  1003,   944,   411,   412,  1007,   565,
+     565,   715,   637,   436,  1208,   414,  1209,   554,   560,  1155,
+     565,   554,   565,   554,   568,   589,   554,  1599,   569,   447,
+     448,     9,   554,   570,   746,   565,   302,   302,   565,  1202,
+     302,   306,   306,   565,  1210,   306,  1488,  1489,   108,  1405,
+    1764,   565,   571,   783,   785,   745,  1026,  1283,  1398,  1344,
+    -172,   554,  1279,   565,  1284,   120,  1033,  1033,  1385,  1664,
+     555,  1103,   557,  1423,   770,   302,   772,  1004,   565,   415,
+     306,  1488,   874,  1655,   775,   779,  1211,   909,  1006,  1212,
+     562,  1256,   796,   554,   562,   512,  1027,   565,  1212,   658,
+     565,   724,   565,   915,   144,  1457,   436,   436,   565,  1344,
+     673,  1144,  1359,    77,  1145,   920,   934,  1728,  1142,   935,
+     416,  1479,   670,   676,   987,   565,   683,   479,    88,   565,
+     671,   565,  1198,  1286,   565,   695,   732,   436,   700,   701,
+     565,  -171,   776,   780,   707,   685,   436,   489,   771,   773,
+     502,   769,   572,   102,   554,   573,   766,  1030,   788,  1199,
+    1031,   765,   506,   560,   509,  1380,  1135,   740,   677,   565,
+     574,   637,   983,     9,  1772,   748,  1775,  1466,  1200,   722,
+     562,   122,   714,  1692,  1139,   302,   928,   417,   554,   302,
+     306,  1684,   843,   843,   306,   418,   575,  1252,   729,   730,
+     749,   565,   489,   419,   744,   734,  1693,   554,  1092,   940,
+    1059,  1060,  1061,   713,   605,  1694,   302,   302,   957,   912,
+    1597,   306,   306,   149,   150,   151,   623,  1484,  1300,   759,
+     761,  1019,   302,   554,  1485,   808,   302,   306,   678,  1395,
+    1721,   306,   922,  1034,   606,   576,  1395,  -172,  1567,   399,
+     399,   554,   122,   554,  1253,    77,   687,   607,   964,  1375,
+     968,   624,   565,   625,  1618,   399,   653,  1032,   654,   399,
+      88,   400,  1568,   844,   845,   302,  1096,  1253,   561,   958,
+     306,     9,  1685,  1458,   302,   783,   785,   783,   527,   306,
+     568,   923,   608,   528,   569,   102,   565,  1111,  1112,   570,
+     913,  1766,  1115,  1212,   688,   984,  1008,   436,   833,  1459,
+    1507,   674,   675,   973,  1360,   565,   829,   399,   571,   834,
+    1258,  1259,  1260,  1749,  1467,   302,  1396,   699,   656,   972,
+     306,   704,  1153,  1560,   302,  1033,  1372,     7,     8,   306,
+     959,   565,  1515,  1619,  1033,   302,   302,   302,   302,   421,
+     306,   306,   306,   306,  1225,  1033,  1226,  1001,   760,   565,
+    1304,   565,   401,    77,   302,   149,   150,   151,  1019,   306,
+     916,  1395,  1005,   919,   989,   955,   773,   529,    88,   484,
+    1455,  1571,  1093,  1405,   877,   425,   878,   965,   966,   969,
+     970,   657,   922,  1091,     7,     8,  1733,  1205,   623,   947,
+    1205,   981,   967,   102,   971,   402,   403,  1030,   404,   405,
+    1031,  1364,   949,   950,   951,   406,   761,  1739,   572,  1477,
+    1606,   573,   426,   568,   559,   407,   408,   569,  1093,  1632,
+     879,   122,   570,   624,  1305,   625,   723,  1750,   962,  1755,
+     427,   941,   956,   409,  1304,  1634,  1683,   428,   410,   646,
+    1572,   571,   650,  1638,   623,   988,   506,  1669,  1565,   664,
+     665,  1644,   575,  1094,  1034,  1034,  1203,   506,  1646,  1097,
+     602,   302,  1366,   149,   150,   151,   306,   691,  1651,  1205,
+     411,   412,   413,   698,   429,  1127,  1098,   703,   603,   624,
+     431,   625,   708,   914,   922,   302,   302,   963,  1607,  1739,
+     306,   306,  1128,  1578,   395,  1246,  1452,  1494,  1582,  1095,
+    1633,   576,   622,   440,  1208,  1572,  1209,  1208,  1305,  1209,
+    1237,  1306,  1307,   698,  1308,  1740,  1635,  1734,   399,   399,
+     414,  1309,  1033,  1204,  1639,   720,   489,   783,   653,   450,
+     654,  1310,  1645,  1453,  1210,   550,  1129,  1210,   977,  1647,
+     302,   572,   643,  1311,   573,   306,  1205,  1206,   442,  1652,
+    1733,   551,  1364,   489,  1205,   443,   394,  1551,   644,  1441,
+    1398,  1351,   755,   655,   623,  1675,  1435,  1101,   302,  1365,
+     864,   421,   623,   306,   788,  1622,   880,  1383,  1738,  1744,
+     938,   939,  1623,   681,   415,   575,  1208,   773,  1209,   881,
+     656,   882,  1624,  1352,   444,  1306,  1307,  1781,  1308,   624,
+     602,   625,   883,   884,   885,  1288,   886,   624,   887,   625,
+    1289,  1353,  1254,  1366,   865,  1310,  1210,   801,   603,   866,
+    1099,   801,  1238,  -852,   449,   416,  1677,  1311,   778,  1290,
+    1738,  1205,  1206,  1712,   576,  1713,  1744,  1100,  1121,  1288,
+    1127,   604,  1207,   481,  1289,  -932,   602,  -852,  1019,  1122,
+    1568,   417,  1681,   657,  1771,   506,  1687,  1128,  -852,   418,
+    1690,  1002,   432,  1208,   603,  1209,  1792,   419,  1381,  -932,
+    1291,  1208,   433,  1209,  1620,  1621,  1568,   551,  1568,  1445,
+    -932,  1778,  1019,  1793,   870,  1617,   503,  1705,  1358,  1262,
+    1568,   639,   641,  1210,   504,  1327,  1328,   108,   900,   434,
+    1263,  1210,   904,   905,   681,   640,   642,  1568,   510,   910,
+    1264,  1761,  1205,  1206,   120,  1297,   302,   506,  1329,  1622,
+     506,   306,  1265,  1034,   925,  1104,  1623,  1207,  1661,   787,
+     609,  1177,  1034,   789,  1177,  1417,  1624,  1104,   580,   610,
+    1707,   531,  1710,  1034,  1392,  1403,   489,  1397,  1208,   399,
+    1209,  1406,  1715,   144,  1716,  1403,  1403,   952,  1404,  1123,
+    1722,   667,  1147,   513,  1407,  1746,   668,  1247,  1577,  1784,
+    1124,  1148,  1248,   514,  1116,  1117,  1118,   530,  1210,   532,
+    1119,   533,   108,   534,   302,   302,   302,   535,   865,   306,
+     306,   306,   421,   866,   997,   547,  1288,  1113,  1114,   120,
+    1556,  1289,  1446,  1447,  1703,  1704,   812,   813,  1207,   819,
+     820,  1188,   593,   594,   595,   596,   597,   598,   821,   822,
+    1422,   659,   660,   661,  1009,  1370,  1371,  1648,  1649,  1208,
+     591,  1209,   567,   592,   600,   601,   613,  1024,   144,   614,
+     615,   620,   616,   628,   629,   630,  1661,   637,   631,   632,
+     633,   649,   651,   652,   662,  1085,  1085,  1089,  1089,  1210,
+     666,   536,   681,   108,   684,   692,   693,   694,  1600,   851,
+     852,   853,   854,   855,   856,   857,   858,   859,   860,   705,
+     120,   706,   721,   711,   713,   709,   716,   717,   718,   719,
+     725,  1754,   733,   735,   736,   480,  1085,   737,   756,   762,
+    1661,  1580,   751,   757,  1562,   752,   774,   768,   792,   794,
+    1120,   802,   805,   793,   803,   810,   795,   823,   480,   144,
+    1034,   824,   825,   826,   624,   840,   849,   846,   847,   871,
+     480,   872,   480,   876,   302,  1150,   875,   897,   898,   306,
+     302,   899,   901,  1085,   903,   306,   906,   911,   907,   796,
+     908,   917,   302,   918,  1085,   921,  1379,   306,   933,   937,
+     936,   976,   979,   986,   999,   982,   985,   395,  1003,  1010,
+    1014,   302,  1105,   866,  1388,  1017,   306,   922,  1125,  1803,
+    1126,  1804,  1146,  1151,  1152,   395,  1154,  1158,   677,  1159,
+     302,  1812,  1160,  1410,  1161,   306,  1164,   302,  1166,  1173,
+    1172,  1177,   306,  1183,   395,  1165,  1176,  1189,  1191,  1190,
+    1196,  1201,  1520,  1197,  1193,  1218,  1194,  1217,  1219,  1232,
+     655,  1249,  1239,   399,  1270,  1272,  1276,  1275,  1280,   394,
+     399,  1321,  1247,  1324,     9,  1287,  1301,  1248,  1363,  1332,
+    1320,  1333,  1334,  1335,  1336,  1362,  1271,   394,  1368,   801,
+    1373,  1337,  1338,  1339,  1340,  1378,  1384,  1341,  1409,  1374,
+    1355,  1667,  1387,  1342,  1345,   760,   394,  1346,  1347,  1348,
+    1349,  1350,  1671,  1562,  1377,  1673,  1403,  1414,  1416,  1419,
+    1431,  1425,  1433,  1682,  1438,  1420,  1427,  1428,  1085,  1429,
+    1439,  1440,  1424,  1252,  1263,  1430,  1462,  1464,  1471,  1432,
+    1468,  1470,  1476,  1472,  1497,  1481,  1502,  1426,  1437,  1504,
+    1478,  1535,  1506,  1517,  1523,  1491,  1527,  1528,  1498,  1529,
+    1530,  1541,  1546,  1594,  1595,  1596,  1531,  1553,  1532,  1548,
+    1533,  1534,  1552,  1555,  1554,  1589,  1558,  1550,  1085,  1602,
+    1604,  1559,  1564,  1609,  1575,  1576,  1581,  1584,  1616,  1636,
+    1544,  1628,  1630,  1631,  1637,  1640,  1641,  1653,  1642,  1643,
+    1127,  1629,  1658,  1672,  1666,  1452,  1700,  1702,  1717,  1714,
+    1689,  1665,  1719,  1720,  1724,  1729,   302,  1745,  1730,  1731,
+    1747,   306,  1748,  1758,  1777,  1753,  1756,  1757,  1769,  1673,
+    1085,  1759,  1760,  1762,  1789,  1794,  1763,  1780,  1776,  1783,
+    1718,  1802,  1767,  1725,  1809,   698,   873,   672,  1770,  1805,
+    1361,  1808,  1376,  1108,  1157,  1085,   645,   480,  1727,  1765,
+     480,  1247,   998,  1296,   480,  1614,  1248,   480,   480,   804,
+    1787,  1475,   636,  1795,   548,   480,  1806,   549,  1773,  1456,
+     927,  1261,  1448,  1421,  1451,   480,   710,  1796,  1389,  1393,
+    1399,   480,  1408,   552,   809,   480,  1381,  1799,  1090,   839,
+     480,   807,  1444,   842,   830,   831,   811,   953,  1418,  1782,
+    1801,   755,  1779,  1508,  1509,  1711,  1436,  1443,  1442,  1790,
+    1627,   997,  1695,  1496,  1626,   997,  1811,  1299,  1492,  1495,
+    1323,   480,  1132,  1369,  1543,  1650,  1493,     0,     0,     0,
+       0,  1790,     0,   480,     0,   801,     0,     0,  1460,     0,
+    1773,     0,     0,  1706,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,  1474,   619,     0,     0,     0,     0,     0,
+       0,     0,     0,  1247,     0,     0,     0,     0,  1248,     0,
+     480,     0,     0,     0,  1247,  1247,     0,   302,     0,  1248,
+    1248,     0,   306,     0,     0,  1247,     0,     0,     0,     0,
+    1248,     0,     0,     0,     0,     0,  1512,  1085,     0,   506,
+    1521,  1522,     0,  1526,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   480,     0,     0,     0,   480,
+       0,     0,     0,     0,     0,  1549,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,  1566,   480,     0,  1085,     0,     0,  1085,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,  1579,
+       0,     0,     0,     0,  1583,     0,     0,     0,     0,   850,
+       0,  1247,   480,     0,     0,     0,  1248,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   480,     0,     0,     0,
+     480,   480,     0,     0,     0,     0,     0,   480,     0,     0,
+       0,     0,     0,     0,     0,   480,     0,     0,   480,     0,
+       0,     0,   480,  1612,  1613,     0,     0,     0,     0,     0,
+     302,     0,     0,     0,     0,   306,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,  1247,     0,
+       0,     0,     0,  1248,     0,   480,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   302,     0,     0,     0,     0,   306,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   480,  1247,     0,     0,     0,     0,  1248,     0,
+       0,     0,  1247,     0,     0,     0,     0,  1248,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+    1085,  1676,   480,  1678,     0,  1680,     0,     0,     0,     0,
+       0,     0,  1688,     0,     0,   480,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   480,   480,   480,   480,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   486,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,  1709,     0,  1709,     0,  1085,     0,
+    1085,     0,     0,     0,   480,     0,   703,     0,   703,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   480,     0,
+       0,     0,     0,     0,  1723,     0,     0,  1726,     0,     0,
+       0,     0,     0,     0,  1085,     0,   522,     0,     0,     0,
+       0,     0,     0,   480,     0,  1732,     0,     0,     0,     0,
+       0,   480,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   480,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,  1085,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,  1768,     0,     0,     0,
+       0,  1085,     0,  1085,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,  1785,     0,     0,     0,     0,
+     543,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,  1788,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,  1797,     0,     0,   480,     0,  1798,   480,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,  1807,     0,
+       0,  1810,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   480,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   480,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   480,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   480,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   480,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   480,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     486,     0,     0,     0,     0,     0,     0,     0,     0,   480,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   480,
+       0,   738,   739,   480,     0,   741,   742,   743,     0,     0,
+     747,     0,     0,   750,     0,     0,     0,     0,     0,   758,
+       0,     0,     0,   480,     0,     0,   480,     0,   767,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   480,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   790,   791,     0,     0,     0,     0,     0,     0,     0,
+     797,   798,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   480,   480,     0,   480,   480,   480,
+       0,   480,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   837,     0,     0,     0,   837,     0,     0,     0,     0,
+       0,     0,     0,   480,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     480,     0,     0,   480,   902,     0,   480,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   480,     0,     0,
+       0,     0,   480,     0,     0,     0,     0,     0,     0,   926,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   943,     0,     0,     0,   945,
+     946,     0,   948,     0,     0,     0,     0,     0,     0,   797,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   480,   480,     0,     0,     0,     0,     0,     0,     0,
+       0,   974,   975,     0,     0,   978,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,  1000,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   791,     0,     0,     0,     0,     0,
+    1011,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   480,   480,
+       0,   480,     0,   480,     0,     0,     0,     0,     0,     0,
+     480,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,  1109,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   480,     0,   480,     0,   480,  1149,   480,     0,
+       0,     0,     0,     0,   480,     0,   480,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,  1169,
+       0,     0,   480,     0,     0,   480,  1174,  1175,     0,     0,
+       0,     0,   480,     0,     0,     0,     0,  1192,     0,     0,
+    1195,     0,     0,   480,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,  1222,  1223,  1224,     0,  1227,  1228,  1229,  1230,  1231,
+       0,     0,  1233,  1234,   480,  1235,  1236,     0,     0,     0,
+    1240,  1241,     0,     0,   480,     0,     0,     0,     0,   480,
+       0,   480,     0,     0,     0,  1255,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,  1011,     0,     0,     0,
+       0,     0,     0,   480,     0,     0,  1277,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   480,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   480,
+       0,     0,     0,     0,   480,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   480,     0,     0,   480,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,  1357,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,  1382,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,  1386,     0,     0,     0,
+       0,     0,  1390,  1391,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,  1411,
+       0,     0,  1412,  1413,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,  1434,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,  1011,     0,     0,     0,
+       0,     0,     0,     0,  1461,     0,  1463,     0,  1465,     0,
+       0,  1469,     0,     0,     0,     0,  1473,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,  1557,     0,     0,     0,     0,     0,     0,
+       0,  1561,  1563,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+    1382,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,  1585,  1586,  1587,  1588,     0,  1590,  1591,
+       0,  1592,     0,  1593,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,  1601,
+       0,     0,     0,     0,  1603,     0,     0,     0,  1605,     0,
+       0,     0,  1608,     0,  1610,     0,  1611,     0,     0,     0,
+       0,     0,  1615,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+    1668,     0,     0,     0,     0,  1670,  1563,     0,     0,     0,
+       0,     0,     0,  1674,     0,     0,     0,     0,  1679,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,  1691,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,  1697,     0,
+    1698,     0,  1699,     0,     0,  1701,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,  1674,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,  1752,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,  1774,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,  -167,   778,     0,     0,
+       0,     0,     0,  1786,     0,     0,     0,  1791,     0,     0,
+       0,     0,  1774,     0,     0,     0,     0,     1,     2,     3,
+       4,     5,     6,     7,     8,     0,     9,     0,  1791,     0,
+      10,   390,  1800,    12,    13,    14,    15,    16,    17,    18,
+      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
+      29,    30,     0,    31,    32,    33,    34,    35,    36,    37,
+      38,    39,    40,    41,    42,    43,     0,    44,    45,    46,
+      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
+      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
+      67,     0,    68,    69,    70,    71,     0,     0,    72,    73,
+      74,     0,     0,    75,    76,     0,     0,     0,    77,    78,
+      79,    80,    81,    82,    83,    84,    85,    86,    87,     0,
+       0,     0,     0,    88,     0,    89,    90,    91,    92,     0,
+      93,     0,     0,     0,    94,    95,    96,    97,    98,     0,
+       0,     0,     0,     0,     0,    99,   100,   101,   102,   103,
+     104,     0,   105,   106,     0,   107,   108,   109,   110,   111,
+       0,     0,     0,     0,   112,   113,   114,   115,   116,   117,
+     118,   119,     0,   120,     0,   121,   122,     0,     0,   123,
+     124,   125,     0,     0,     0,   126,     0,   127,   128,   129,
+       0,     0,     0,     0,     0,   130,     0,   131,   132,   133,
+     134,   135,   136,   137,   138,   139,   140,   141,     0,     0,
+     142,   143,   144,     0,   392,     0,   147,   148,   149,   150,
+     151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
+     161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
+     171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
+     181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
+     191,     0,   192,   193,   194,     0,   195,   196,   197,   198,
+     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
+     209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
+     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
+     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
+     239,   240,   241,   242,     0,   243,  -167,   778,   244,   245,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     1,     2,     3,
+       4,     5,     6,     7,     8,     0,     9,     0,     0,     0,
+     782,   390,     0,    12,    13,    14,    15,    16,    17,    18,
+      19,    20,    21,    22,    23,    24,   391,    26,    27,    28,
+      29,    30,     0,    31,    32,    33,    34,    35,    36,    37,
+      38,    39,    40,    41,    42,    43,     0,    44,    45,    46,
+      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
+      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
+      67,     0,    68,    69,    70,    71,     0,     0,    72,    73,
+      74,     0,     0,    75,    76,     0,     0,     0,    77,    78,
+      79,    80,    81,    82,    83,    84,    85,    86,    87,     0,
+       0,     0,     0,    88,     0,    89,    90,    91,    92,     0,
+      93,     0,     0,     0,    94,    95,    96,    97,    98,     0,
+       0,     0,     0,     0,     0,    99,   100,   101,   102,   103,
+     104,     0,   105,   106,     0,   107,   108,   109,   110,   111,
+       0,     0,     0,     0,   112,   113,   114,   115,   116,   117,
+     118,   119,     0,   120,     0,   121,   122,     0,     0,   123,
+     124,   125,     0,     0,     0,   126,     0,   127,   128,   129,
+       0,     0,     0,     0,     0,   130,     0,   131,   132,   133,
+     134,   135,   136,   137,   138,   139,   140,   141,     0,     0,
+     142,   143,   144,     0,   392,     0,   147,   148,   149,   150,
+     151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
+     161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
+     171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
+     181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
+     191,     0,   192,   193,   194,     0,   195,   196,   197,   198,
+     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
+     209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
+     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
+     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
+     239,   240,   241,   242,   778,   243,     0,     0,   244,   245,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     1,     2,     3,     4,     5,     6,
+       7,     8,     0,     9,     0,     0,     0,   389,   390,     0,
+      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
+      22,    23,    24,   391,    26,    27,    28,    29,    30,     0,
+      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
+      41,    42,    43,     0,    44,    45,    46,    47,    48,    49,
+      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
+      60,    61,    62,    63,    64,    65,    66,    67,     0,    68,
+      69,    70,    71,     0,     0,    72,    73,    74,     0,     0,
+      75,    76,     0,     0,     0,    77,    78,    79,    80,    81,
+      82,    83,    84,    85,    86,    87,     0,     0,     0,     0,
+      88,     0,    89,    90,    91,    92,     0,    93,     0,     0,
+       0,    94,    95,    96,    97,    98,     0,     0,     0,     0,
+       0,     0,    99,   100,   101,   102,   103,   104,     0,   105,
+     106,     0,   107,   108,   109,   110,   111,     0,     0,     0,
+       0,   112,   113,   114,   115,   116,   117,   118,   119,     0,
+     120,     0,   121,   122,     0,     0,   123,   124,   125,     0,
+       0,     0,   126,     0,   127,   128,   129,     0,     0,     0,
+       0,     0,   130,     0,   131,   132,   133,   134,   135,   136,
+     137,   138,   139,   140,   141,     0,     0,   142,   143,   144,
+       0,   392,     0,   147,   148,   149,   150,   151,   152,   153,
+     154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
+     164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
+     174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
+     184,   185,   186,   187,   188,   189,   190,   191,     0,   192,
+     193,   194,     0,   195,   196,   197,   198,   199,   200,   201,
+     202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
+     212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
+     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
+     232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
+     242,   778,   243,     0,     0,   244,   245,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     1,     2,     3,     4,     5,     6,     0,     0,     0,
+       9,     0,     0,     0,   389,   390,     0,    12,    13,    14,
+      15,    16,    17,    18,    19,    20,    21,    22,    23,   490,
+     391,    26,    27,    28,    29,    30,     0,    31,    32,    33,
       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
-       0,    44,    45,    46,    47,    48,    49,    50,    51,    52,
+       0,    44,    45,    46,   491,   492,    49,    50,    51,    52,
       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
       63,    64,    65,    66,    67,     0,    68,    69,    70,    71,
        0,     0,    72,    73,    74,     0,     0,    75,    76,     0,
-       0,     0,    77,    78,    79,    80,    81,    82,    83,    84,
-      85,    86,     0,     0,     0,     0,    87,     0,    88,    89,
-      90,    91,     0,    92,     0,     0,     0,    93,    94,    95,
-      96,    97,     0,     0,     0,     0,     0,     0,    98,    99,
-     100,   101,   102,   103,     0,   104,   105,     0,   106,   107,
-     108,   109,   110,     0,     0,     0,     0,   111,   112,   113,
-     114,   115,   116,   117,   118,     0,   119,     0,   120,   121,
-       0,     0,   122,   123,   124,     0,     0,     0,   125,     0,
-     126,   127,   128,     0,     0,     0,     0,     0,   129,     0,
-     130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
-     140,     0,     0,   141,   142,   143,     0,   391,     0,   146,
+       0,     0,    77,    78,   466,    80,    81,    82,    83,    84,
+     493,    86,    87,     0,     0,     0,     0,    88,     0,    89,
+      90,    91,    92,     0,    93,     0,     0,     0,    94,    95,
+      96,    97,    98,     0,     0,     0,     0,     0,     0,    99,
+     100,   101,   102,   103,   104,     0,   494,   106,     0,   107,
+     108,   109,   110,   111,     0,     0,     0,     0,   112,   113,
+     114,   115,   116,   117,   118,   119,     0,   120,     0,   121,
+     122,     0,     0,   123,   124,   125,     0,     0,     0,   126,
+       0,   127,   128,     0,     0,     0,     0,     0,     0,   130,
+       0,   131,   132,   133,   134,   135,   136,   137,   138,   139,
+     140,   141,     0,     0,   142,   143,   144,     0,   392,     0,
      147,   148, 

Follow ups