/* * DO NOT EDIT THIS FILE! * * Parser generated by BisonGen on Mon Oct 3 16:21:24 2005. */ [0] query ::= arc-expression | resource-expression | constant-expression | function-call | variable-reference | wrapped-query | sliced-query | list-constant [1] string ::= DOUBLE_QUOTES string_chars DOUBLE_QUOTES | DOUBLE_QUOTES DOUBLE_QUOTES [2] string_chars ::= CHARACTER_PLUS | escape_chars | string_chars CHARACTER_PLUS | string_chars escape_chars [3] escape_chars ::= STRING_ESCAPE | unicode_escape [4] unicode_escape ::= UNICODE_ESCAPE [5] uriref ::= LT absoluteURI GT | LT GT [6] absoluteURI ::= CHARACTER_PLUS | unicode_escape | CHARACTER_PLUS absoluteURI | unicode_escape absoluteURI [7] lang-string ::= string AT LANGUAGE [8] datatype-string ::= string DOUBLE_CARROT uriref-qname [9] wrapped-query ::= LEFT_PAREN query RIGHT_PAREN [10] sliced-query ::= resource-expression slice-operator | function-call slice-operator | variable-reference slice-operator | wrapped-query slice-operator | sliced-query slice-operator [11] arc-expression ::= forward-arc-expression | backward-arc-expression [12] resource-expression ::= node-expression | literal-expression [13] node-expression ::= uriref-pattern | qname-pattern | qname-constant-pattern [14] literal-expression ::= literal-pattern | typed-literal-pattern | language-literal-pattern [15] constant-expression ::= string-constant | boolean-constant | number-constant [16] forward-arc-expression ::= forward-start-expression forward-operator arc-predicate-expression FORWARD_ARROW arc-end-expression [17] forward-operator ::= PIPE_DASH | DASH [18] backward-arc-expression ::= arc-end-expression BACKWARD_ARROW arc-predicate-expression backward-operator backward-start-expression [19] backward-operator ::= DASH_PIPE | DASH [20] function-reference ::= AMPERSAND function-name [21] argument-expression ::= query | dot-expression | function-reference | anonymous-function | wild-card [22] dot-expression ::= DOT [23] function-call ::= function-name LEFT_PAREN argument-list RIGHT_PAREN [24] argument-list ::= | fixed-argument-list | keyword-argument-list | fixed-argument-list COMMA keyword-argument-list [25] fixed-argument-list ::= argument-expression | fixed-argument-list COMMA argument-expression [26] keyword-argument-list ::= keyword-argument | keyword-argument COMMA keyword-argument-list [27] keyword-argument ::= argument-name EQUALS argument-expression [28] anonymous-function ::= ANONYMOUS_FUNCTION_START function-argument-definition-list COLON argument-expression RIGHT_PAREN [29] function-argument-definition-list ::= | function-fixed-argument-definition-list | keyword-argument-definition-list | function-fixed-argument-definition-list COMMA keyword-argument-definition-list [30] keyword-argument-definition-list ::= keyword-argument | keyword-argument COMMA keyword-argument-definition-list [31] variable-name ::= qname [32] function-name ::= qname [33] function-fixed-argument-definition-list ::= argument-name | function-fixed-argument-definition-list COMMA argument-name [34] argument-name ::= qname [35] qname ::= NCNAME | QNAME [36] arc-start-expression ::= function-call | anonymous-function | resource-expression | variable-reference | wild-card | wrapped-query | list-constant [37] forward-start-expression ::= arc-start-expression | forward-arc-expression [38] backward-start-expression ::= arc-start-expression | backward-arc-expression [39] arc-predicate-expression ::= function-call | anonymous-function | node-expression | wild-card | variable-reference | wrapped-query | list-constant [40] arc-end-expression ::= function-call | anonymous-function | resource-expression | wild-card | variable-reference | wrapped-query | list-constant | constant-expression [41] slice-operator ::= LEFT_SQUARE SIMPLE_NUMBER RIGHT_SQUARE | LEFT_SQUARE SIMPLE_NUMBER COLON RIGHT_SQUARE | LEFT_SQUARE COLON SIMPLE_NUMBER RIGHT_SQUARE | LEFT_SQUARE SIMPLE_NUMBER COLON SIMPLE_NUMBER RIGHT_SQUARE [42] variable-reference ::= DOLLAR variable-name [43] wild-card ::= WILD_CARD [44] string-constant ::= string [45] uriref-pattern ::= uriref [46] qname-constant-pattern ::= qname [47] qname-pattern ::= WILD_CARD_COLON NCNAME | NCNAME COLON_WILD_CARD [48] literal-pattern ::= lang-string | datatype-string [49] list-constant ::= LEFT_SQUARE RIGHT_SQUARE | LEFT_SQUARE query-list RIGHT_SQUARE [50] query-list ::= argument-expression | query-list COMMA argument-expression [51] typed-literal-pattern ::= string DOUBLE_CARROT typed-literal-pattern-string-type | WILD_CARD DOUBLE_CARROT typed-literal-pattern-wild-type [52] typed-literal-pattern-string-type ::= qname-pattern | BANG qname-pattern | WILD_CARD | BANG WILD_CARD [53] typed-literal-pattern-wild-type ::= uriref | BANG uriref | qname | BANG qname [54] language-literal-pattern ::= string AT WILD_CARD | string AT BANG WILD_CARD | WILD_CARD AT LANGUAGE | WILD_CARD AT BANG LANGUAGE [55] number-constant ::= SIMPLE_NUMBER | COMPLEX_NUMBER [56] boolean-constant ::= TRUE | FALSE [57] uriref-qname ::= uriref | qname [58] LT ::= '<' [59] DOUBLE_QUOTES ::= '\x22' [60] DOUBLE_QUOTES ::= '\x22\x22\x22' [61] EQUALS ::= '=' [62] LEFT_PAREN ::= '\(' [63] RIGHT_PAREN ::= '\)' [64] ANONYMOUS_FUNCTION_START ::= '\(\!' [65] LEFT_SQUARE ::= '\[' [66] RIGHT_SQUARE ::= '\]' [67] DOLLAR ::= '\$' [68] DOT ::= '\.' [69] COLON ::= '\:' [70] FORWARD_ARROW ::= '->' [71] BACKWARD_ARROW ::= '\<-' [72] DASH ::= '-' [73] PIPE_DASH ::= '\|{ws}*\-' [74] DASH_PIPE ::= '\-{ws}*\|' [75] COMMA ::= ',' [76] BANG ::= '!' [77] TRUE ::= 'true' [78] FALSE ::= 'false' [79] WILD_CARD ::= '\*' [80] COLON_WILD_CARD ::= '\:\*' [81] AMPERSAND ::= '&' [82] WILD_CARD_COLON ::= '\*\:' [83] DOUBLE_CARROT ::= '\^\^' [84] QNAME ::= '{NCName}?:{NCName}' [85] NCNAME ::= '{NCName}' [86] SIMPLE_NUMBER ::= '[+-]?{Digit}+' [87] COMPLEX_NUMBER ::= '[+-]?{Digit}+(\.{Digit}*)?([eE][+-]?{Digit}+)' [88] COMPLEX_NUMBER ::= '[+-]?{Digit}+\.{Digit}*' [89] DOUBLE_QUOTES ::= '\x27' [90] AT ::= '\@'