Module: SPARQL::Grammar::Meta
- Included in:
- Parser
- Defined in:
- lib/sparql/grammar/parser/meta.rb
Overview
This file is automatically generated by script/build_meta Branch and Regexp tables derived from /Users/gregg/Projects/sparql-grammar/etc/sparql-selectors.n3 Note, branch tables completed with conflicts, may need to be resolved manually:
Conflict: in :UnaryExpression:
"+" is the condition for ["\"+\"", ":PrimaryExpression"].
We are changing it to :PrimaryExpression.
Conflict: in :UnaryExpression:
"-" is the condition for ["\"-\"", ":PrimaryExpression"].
We are changing it to :PrimaryExpression.
Constant Summary
- BRANCHES =
{ :AdditiveExpression => { "!" => [:MultiplicativeExpression, :_Add_Sub_MultiplicativeExpression_Star], "(" => [:MultiplicativeExpression, :_Add_Sub_MultiplicativeExpression_Star], "+" => [:MultiplicativeExpression, :_Add_Sub_MultiplicativeExpression_Star], "-" => [:MultiplicativeExpression, :_Add_Sub_MultiplicativeExpression_Star], "BOUND" => [:MultiplicativeExpression, :_Add_Sub_MultiplicativeExpression_Star], "DATATYPE" => [:MultiplicativeExpression, :_Add_Sub_MultiplicativeExpression_Star], "LANG" => [:MultiplicativeExpression, :_Add_Sub_MultiplicativeExpression_Star], "LANGMATCHES" => [:MultiplicativeExpression, :_Add_Sub_MultiplicativeExpression_Star], "REGEX" => [:MultiplicativeExpression, :_Add_Sub_MultiplicativeExpression_Star], "STR" => [:MultiplicativeExpression, :_Add_Sub_MultiplicativeExpression_Star], :BooleanLiteral => [:MultiplicativeExpression, :_Add_Sub_MultiplicativeExpression_Star], :DECIMAL => [:MultiplicativeExpression, :_Add_Sub_MultiplicativeExpression_Star], :DOUBLE => [:MultiplicativeExpression, :_Add_Sub_MultiplicativeExpression_Star], :INTEGER => [:MultiplicativeExpression, :_Add_Sub_MultiplicativeExpression_Star], :IRI_REF => [:MultiplicativeExpression, :_Add_Sub_MultiplicativeExpression_Star], :PNAME_LN => [:MultiplicativeExpression, :_Add_Sub_MultiplicativeExpression_Star], :PNAME_NS => [:MultiplicativeExpression, :_Add_Sub_MultiplicativeExpression_Star], :STRING_LITERAL1 => [:MultiplicativeExpression, :_Add_Sub_MultiplicativeExpression_Star], :STRING_LITERAL2 => [:MultiplicativeExpression, :_Add_Sub_MultiplicativeExpression_Star], :STRING_LITERAL_LONG1 => [:MultiplicativeExpression, :_Add_Sub_MultiplicativeExpression_Star], :STRING_LITERAL_LONG2 => [:MultiplicativeExpression, :_Add_Sub_MultiplicativeExpression_Star], :VAR1 => [:MultiplicativeExpression, :_Add_Sub_MultiplicativeExpression_Star], :VAR2 => [:MultiplicativeExpression, :_Add_Sub_MultiplicativeExpression_Star], "ISBLANK" => [:MultiplicativeExpression, :_Add_Sub_MultiplicativeExpression_Star], "ISIRI" => [:MultiplicativeExpression, :_Add_Sub_MultiplicativeExpression_Star], "ISLITERAL" => [:MultiplicativeExpression, :_Add_Sub_MultiplicativeExpression_Star], "ISURI" => [:MultiplicativeExpression, :_Add_Sub_MultiplicativeExpression_Star], "SAMETERM" => [:MultiplicativeExpression, :_Add_Sub_MultiplicativeExpression_Star], }, :ArgList => { "(" => ["(", :_Expression_COMMA_Expression_Star, ")"], :NIL => [:NIL], }, :AskQuery => { "ASK" => ["ASK", :_DatasetClause_Star, :WhereClause], }, :BaseDecl => { "BASE" => ["BASE", :IRI_REF], }, :BlankNode => { :ANON => [:ANON], :BLANK_NODE_LABEL => [:BLANK_NODE_LABEL], }, :BlankNodePropertyList => { "[" => ["[", :PropertyListNotEmpty, "]"], }, :BrackettedExpression => { "(" => ["(", :Expression, ")"], }, :BuiltInCall => { "BOUND" => ["BOUND", "(", :Var, ")"], "DATATYPE" => ["DATATYPE", "(", :Expression, ")"], "LANG" => ["LANG", "(", :Expression, ")"], "LANGMATCHES" => ["LANGMATCHES", "(", :Expression, ",", :Expression, ")"], "REGEX" => [:RegexExpression], "STR" => ["STR", "(", :Expression, ")"], "ISBLANK" => ["ISBLANK", "(", :Expression, ")"], "ISIRI" => ["ISIRI", "(", :Expression, ")"], "ISLITERAL" => ["ISLITERAL", "(", :Expression, ")"], "ISURI" => ["ISURI", "(", :Expression, ")"], "SAMETERM" => ["SAMETERM", "(", :Expression, ",", :Expression, ")"], }, :Collection => { "(" => ["(", :_GraphNode_Plus, ")"], }, :ConditionalAndExpression => { "!" => [:ValueLogical, :_AND_ValueLogical_Star], "(" => [:ValueLogical, :_AND_ValueLogical_Star], "+" => [:ValueLogical, :_AND_ValueLogical_Star], "-" => [:ValueLogical, :_AND_ValueLogical_Star], "BOUND" => [:ValueLogical, :_AND_ValueLogical_Star], "DATATYPE" => [:ValueLogical, :_AND_ValueLogical_Star], "LANG" => [:ValueLogical, :_AND_ValueLogical_Star], "LANGMATCHES" => [:ValueLogical, :_AND_ValueLogical_Star], "REGEX" => [:ValueLogical, :_AND_ValueLogical_Star], "STR" => [:ValueLogical, :_AND_ValueLogical_Star], :BooleanLiteral => [:ValueLogical, :_AND_ValueLogical_Star], :DECIMAL => [:ValueLogical, :_AND_ValueLogical_Star], :DOUBLE => [:ValueLogical, :_AND_ValueLogical_Star], :INTEGER => [:ValueLogical, :_AND_ValueLogical_Star], :IRI_REF => [:ValueLogical, :_AND_ValueLogical_Star], :PNAME_LN => [:ValueLogical, :_AND_ValueLogical_Star], :PNAME_NS => [:ValueLogical, :_AND_ValueLogical_Star], :STRING_LITERAL1 => [:ValueLogical, :_AND_ValueLogical_Star], :STRING_LITERAL2 => [:ValueLogical, :_AND_ValueLogical_Star], :STRING_LITERAL_LONG1 => [:ValueLogical, :_AND_ValueLogical_Star], :STRING_LITERAL_LONG2 => [:ValueLogical, :_AND_ValueLogical_Star], :VAR1 => [:ValueLogical, :_AND_ValueLogical_Star], :VAR2 => [:ValueLogical, :_AND_ValueLogical_Star], "ISBLANK" => [:ValueLogical, :_AND_ValueLogical_Star], "ISIRI" => [:ValueLogical, :_AND_ValueLogical_Star], "ISLITERAL" => [:ValueLogical, :_AND_ValueLogical_Star], "ISURI" => [:ValueLogical, :_AND_ValueLogical_Star], "SAMETERM" => [:ValueLogical, :_AND_ValueLogical_Star], }, :ConditionalOrExpression => { "!" => [:ConditionalAndExpression, :_OR_ConditionalAndExpression_Star], "(" => [:ConditionalAndExpression, :_OR_ConditionalAndExpression_Star], "+" => [:ConditionalAndExpression, :_OR_ConditionalAndExpression_Star], "-" => [:ConditionalAndExpression, :_OR_ConditionalAndExpression_Star], "BOUND" => [:ConditionalAndExpression, :_OR_ConditionalAndExpression_Star], "DATATYPE" => [:ConditionalAndExpression, :_OR_ConditionalAndExpression_Star], "LANG" => [:ConditionalAndExpression, :_OR_ConditionalAndExpression_Star], "LANGMATCHES" => [:ConditionalAndExpression, :_OR_ConditionalAndExpression_Star], "REGEX" => [:ConditionalAndExpression, :_OR_ConditionalAndExpression_Star], "STR" => [:ConditionalAndExpression, :_OR_ConditionalAndExpression_Star], :BooleanLiteral => [:ConditionalAndExpression, :_OR_ConditionalAndExpression_Star], :DECIMAL => [:ConditionalAndExpression, :_OR_ConditionalAndExpression_Star], :DOUBLE => [:ConditionalAndExpression, :_OR_ConditionalAndExpression_Star], :INTEGER => [:ConditionalAndExpression, :_OR_ConditionalAndExpression_Star], :IRI_REF => [:ConditionalAndExpression, :_OR_ConditionalAndExpression_Star], :PNAME_LN => [:ConditionalAndExpression, :_OR_ConditionalAndExpression_Star], :PNAME_NS => [:ConditionalAndExpression, :_OR_ConditionalAndExpression_Star], :STRING_LITERAL1 => [:ConditionalAndExpression, :_OR_ConditionalAndExpression_Star], :STRING_LITERAL2 => [:ConditionalAndExpression, :_OR_ConditionalAndExpression_Star], :STRING_LITERAL_LONG1 => [:ConditionalAndExpression, :_OR_ConditionalAndExpression_Star], :STRING_LITERAL_LONG2 => [:ConditionalAndExpression, :_OR_ConditionalAndExpression_Star], :VAR1 => [:ConditionalAndExpression, :_OR_ConditionalAndExpression_Star], :VAR2 => [:ConditionalAndExpression, :_OR_ConditionalAndExpression_Star], "ISBLANK" => [:ConditionalAndExpression, :_OR_ConditionalAndExpression_Star], "ISIRI" => [:ConditionalAndExpression, :_OR_ConditionalAndExpression_Star], "ISLITERAL" => [:ConditionalAndExpression, :_OR_ConditionalAndExpression_Star], "ISURI" => [:ConditionalAndExpression, :_OR_ConditionalAndExpression_Star], "SAMETERM" => [:ConditionalAndExpression, :_OR_ConditionalAndExpression_Star], }, :Constraint => { "(" => [:BrackettedExpression], "BOUND" => [:BuiltInCall], "DATATYPE" => [:BuiltInCall], "LANG" => [:BuiltInCall], "LANGMATCHES" => [:BuiltInCall], "REGEX" => [:BuiltInCall], "STR" => [:BuiltInCall], :IRI_REF => [:FunctionCall], :PNAME_LN => [:FunctionCall], :PNAME_NS => [:FunctionCall], "ISBLANK" => [:BuiltInCall], "ISIRI" => [:BuiltInCall], "ISLITERAL" => [:BuiltInCall], "ISURI" => [:BuiltInCall], "SAMETERM" => [:BuiltInCall], }, :ConstructQuery => { "CONSTRUCT" => ["CONSTRUCT", :ConstructTemplate, :_DatasetClause_Star, :WhereClause, :SolutionModifier], }, :ConstructTemplate => { "{" => ["{", :_ConstructTriples_Opt, "}"], }, :ConstructTriples => { "(" => [:TriplesSameSubject, :_DOT_ConstructTriples_Opt_Opt], "+" => [:TriplesSameSubject, :_DOT_ConstructTriples_Opt_Opt], "-" => [:TriplesSameSubject, :_DOT_ConstructTriples_Opt_Opt], "[" => [:TriplesSameSubject, :_DOT_ConstructTriples_Opt_Opt], :ANON => [:TriplesSameSubject, :_DOT_ConstructTriples_Opt_Opt], :BLANK_NODE_LABEL => [:TriplesSameSubject, :_DOT_ConstructTriples_Opt_Opt], :BooleanLiteral => [:TriplesSameSubject, :_DOT_ConstructTriples_Opt_Opt], :DECIMAL => [:TriplesSameSubject, :_DOT_ConstructTriples_Opt_Opt], :DOUBLE => [:TriplesSameSubject, :_DOT_ConstructTriples_Opt_Opt], :INTEGER => [:TriplesSameSubject, :_DOT_ConstructTriples_Opt_Opt], :IRI_REF => [:TriplesSameSubject, :_DOT_ConstructTriples_Opt_Opt], :NIL => [:TriplesSameSubject, :_DOT_ConstructTriples_Opt_Opt], :PNAME_LN => [:TriplesSameSubject, :_DOT_ConstructTriples_Opt_Opt], :PNAME_NS => [:TriplesSameSubject, :_DOT_ConstructTriples_Opt_Opt], :STRING_LITERAL1 => [:TriplesSameSubject, :_DOT_ConstructTriples_Opt_Opt], :STRING_LITERAL2 => [:TriplesSameSubject, :_DOT_ConstructTriples_Opt_Opt], :STRING_LITERAL_LONG1 => [:TriplesSameSubject, :_DOT_ConstructTriples_Opt_Opt], :STRING_LITERAL_LONG2 => [:TriplesSameSubject, :_DOT_ConstructTriples_Opt_Opt], :VAR1 => [:TriplesSameSubject, :_DOT_ConstructTriples_Opt_Opt], :VAR2 => [:TriplesSameSubject, :_DOT_ConstructTriples_Opt_Opt], }, :DatasetClause => { "FROM" => ["FROM", :_DefaultGraphClause_or_NamedGraphClause], }, :DefaultGraphClause => { :IRI_REF => [:SourceSelector], :PNAME_LN => [:SourceSelector], :PNAME_NS => [:SourceSelector], }, :DescribeQuery => { "DESCRIBE" => ["DESCRIBE", :_VarOrIRIref_Plus_or_Star, :_DatasetClause_Star, :_WhereClause_Opt, :SolutionModifier], }, :Expression => { "!" => [:ConditionalOrExpression], "(" => [:ConditionalOrExpression], "+" => [:ConditionalOrExpression], "-" => [:ConditionalOrExpression], "BOUND" => [:ConditionalOrExpression], "DATATYPE" => [:ConditionalOrExpression], "LANG" => [:ConditionalOrExpression], "LANGMATCHES" => [:ConditionalOrExpression], "REGEX" => [:ConditionalOrExpression], "STR" => [:ConditionalOrExpression], :BooleanLiteral => [:ConditionalOrExpression], :DECIMAL => [:ConditionalOrExpression], :DOUBLE => [:ConditionalOrExpression], :INTEGER => [:ConditionalOrExpression], :IRI_REF => [:ConditionalOrExpression], :PNAME_LN => [:ConditionalOrExpression], :PNAME_NS => [:ConditionalOrExpression], :STRING_LITERAL1 => [:ConditionalOrExpression], :STRING_LITERAL2 => [:ConditionalOrExpression], :STRING_LITERAL_LONG1 => [:ConditionalOrExpression], :STRING_LITERAL_LONG2 => [:ConditionalOrExpression], :VAR1 => [:ConditionalOrExpression], :VAR2 => [:ConditionalOrExpression], "ISBLANK" => [:ConditionalOrExpression], "ISIRI" => [:ConditionalOrExpression], "ISLITERAL" => [:ConditionalOrExpression], "ISURI" => [:ConditionalOrExpression], "SAMETERM" => [:ConditionalOrExpression], }, :Filter => { "FILTER" => ["FILTER", :Constraint], }, :FunctionCall => { :IRI_REF => [:IRIref, :ArgList], :PNAME_LN => [:IRIref, :ArgList], :PNAME_NS => [:IRIref, :ArgList], }, :GraphGraphPattern => { "GRAPH" => ["GRAPH", :VarOrIRIref, :GroupGraphPattern], }, :GraphNode => { "(" => [:TriplesNode], "+" => [:VarOrTerm], "-" => [:VarOrTerm], "[" => [:TriplesNode], :ANON => [:VarOrTerm], :BLANK_NODE_LABEL => [:VarOrTerm], :BooleanLiteral => [:VarOrTerm], :DECIMAL => [:VarOrTerm], :DOUBLE => [:VarOrTerm], :INTEGER => [:VarOrTerm], :IRI_REF => [:VarOrTerm], :NIL => [:VarOrTerm], :PNAME_LN => [:VarOrTerm], :PNAME_NS => [:VarOrTerm], :STRING_LITERAL1 => [:VarOrTerm], :STRING_LITERAL2 => [:VarOrTerm], :STRING_LITERAL_LONG1 => [:VarOrTerm], :STRING_LITERAL_LONG2 => [:VarOrTerm], :VAR1 => [:VarOrTerm], :VAR2 => [:VarOrTerm], }, :GraphPatternNotTriples => { "GRAPH" => [:GraphGraphPattern], "OPTIONAL" => [:OptionalGraphPattern], "{" => [:GroupOrUnionGraphPattern], }, :GraphTerm => { "+" => [:NumericLiteral], "-" => [:NumericLiteral], :ANON => [:BlankNode], :BLANK_NODE_LABEL => [:BlankNode], :BooleanLiteral => [:BooleanLiteral], :DECIMAL => [:NumericLiteral], :DOUBLE => [:NumericLiteral], :INTEGER => [:NumericLiteral], :IRI_REF => [:IRIref], :NIL => [:NIL], :PNAME_LN => [:IRIref], :PNAME_NS => [:IRIref], :STRING_LITERAL1 => [:RDFLiteral], :STRING_LITERAL2 => [:RDFLiteral], :STRING_LITERAL_LONG1 => [:RDFLiteral], :STRING_LITERAL_LONG2 => [:RDFLiteral], }, :GroupGraphPattern => { "{" => ["{", :_TriplesBlock_Opt, :_GraphPatternNotTriples_or_Filter_Dot_Opt_TriplesBlock_Opt_Star, "}"], }, :GroupOrUnionGraphPattern => { "{" => [:GroupGraphPattern, :_UNION_GroupGraphPattern_Star], }, :IRIref => { :IRI_REF => [:IRI_REF], :PNAME_LN => [:PrefixedName], :PNAME_NS => [:PrefixedName], }, :IRIrefOrFunction => { :IRI_REF => [:IRIref, :_ArgList_Opt], :PNAME_LN => [:IRIref, :_ArgList_Opt], :PNAME_NS => [:IRIref, :_ArgList_Opt], }, :LimitClause => { "LIMIT" => ["LIMIT", :INTEGER], }, :LimitOffsetClauses => { "LIMIT" => [:LimitClause, :_OffsetClause_Opt], "OFFSET" => [:OffsetClause, :_LimitClause_Opt], }, :MultiplicativeExpression => { "!" => [:UnaryExpression, :_Mul_Div_UnaryExpression_Star], "(" => [:UnaryExpression, :_Mul_Div_UnaryExpression_Star], "+" => [:UnaryExpression, :_Mul_Div_UnaryExpression_Star], "-" => [:UnaryExpression, :_Mul_Div_UnaryExpression_Star], "BOUND" => [:UnaryExpression, :_Mul_Div_UnaryExpression_Star], "DATATYPE" => [:UnaryExpression, :_Mul_Div_UnaryExpression_Star], "LANG" => [:UnaryExpression, :_Mul_Div_UnaryExpression_Star], "LANGMATCHES" => [:UnaryExpression, :_Mul_Div_UnaryExpression_Star], "REGEX" => [:UnaryExpression, :_Mul_Div_UnaryExpression_Star], "STR" => [:UnaryExpression, :_Mul_Div_UnaryExpression_Star], :BooleanLiteral => [:UnaryExpression, :_Mul_Div_UnaryExpression_Star], :DECIMAL => [:UnaryExpression, :_Mul_Div_UnaryExpression_Star], :DOUBLE => [:UnaryExpression, :_Mul_Div_UnaryExpression_Star], :INTEGER => [:UnaryExpression, :_Mul_Div_UnaryExpression_Star], :IRI_REF => [:UnaryExpression, :_Mul_Div_UnaryExpression_Star], :PNAME_LN => [:UnaryExpression, :_Mul_Div_UnaryExpression_Star], :PNAME_NS => [:UnaryExpression, :_Mul_Div_UnaryExpression_Star], :STRING_LITERAL1 => [:UnaryExpression, :_Mul_Div_UnaryExpression_Star], :STRING_LITERAL2 => [:UnaryExpression, :_Mul_Div_UnaryExpression_Star], :STRING_LITERAL_LONG1 => [:UnaryExpression, :_Mul_Div_UnaryExpression_Star], :STRING_LITERAL_LONG2 => [:UnaryExpression, :_Mul_Div_UnaryExpression_Star], :VAR1 => [:UnaryExpression, :_Mul_Div_UnaryExpression_Star], :VAR2 => [:UnaryExpression, :_Mul_Div_UnaryExpression_Star], "ISBLANK" => [:UnaryExpression, :_Mul_Div_UnaryExpression_Star], "ISIRI" => [:UnaryExpression, :_Mul_Div_UnaryExpression_Star], "ISLITERAL" => [:UnaryExpression, :_Mul_Div_UnaryExpression_Star], "ISURI" => [:UnaryExpression, :_Mul_Div_UnaryExpression_Star], "SAMETERM" => [:UnaryExpression, :_Mul_Div_UnaryExpression_Star], }, :NamedGraphClause => { "NAMED" => ["NAMED", :SourceSelector], }, :NumericExpression => { "!" => [:AdditiveExpression], "(" => [:AdditiveExpression], "+" => [:AdditiveExpression], "-" => [:AdditiveExpression], "BOUND" => [:AdditiveExpression], "DATATYPE" => [:AdditiveExpression], "LANG" => [:AdditiveExpression], "LANGMATCHES" => [:AdditiveExpression], "REGEX" => [:AdditiveExpression], "STR" => [:AdditiveExpression], :BooleanLiteral => [:AdditiveExpression], :DECIMAL => [:AdditiveExpression], :DOUBLE => [:AdditiveExpression], :INTEGER => [:AdditiveExpression], :IRI_REF => [:AdditiveExpression], :PNAME_LN => [:AdditiveExpression], :PNAME_NS => [:AdditiveExpression], :STRING_LITERAL1 => [:AdditiveExpression], :STRING_LITERAL2 => [:AdditiveExpression], :STRING_LITERAL_LONG1 => [:AdditiveExpression], :STRING_LITERAL_LONG2 => [:AdditiveExpression], :VAR1 => [:AdditiveExpression], :VAR2 => [:AdditiveExpression], "ISBLANK" => [:AdditiveExpression], "ISIRI" => [:AdditiveExpression], "ISLITERAL" => [:AdditiveExpression], "ISURI" => [:AdditiveExpression], "SAMETERM" => [:AdditiveExpression], }, :NumericLiteral => { "+" => [:NumericLiteralPositive], "-" => [:NumericLiteralNegative], :DECIMAL => [:NumericLiteralUnsigned], :DOUBLE => [:NumericLiteralUnsigned], :INTEGER => [:NumericLiteralUnsigned], }, :NumericLiteralNegative => { "-" => ["-", :NumericLiteralUnsigned], }, :NumericLiteralPositive => { "+" => ["+", :NumericLiteralUnsigned], }, :NumericLiteralUnsigned => { :DECIMAL => [:DECIMAL], :DOUBLE => [:DOUBLE], :INTEGER => [:INTEGER], }, :Object => { "(" => [:GraphNode], "+" => [:GraphNode], "-" => [:GraphNode], "[" => [:GraphNode], :ANON => [:GraphNode], :BLANK_NODE_LABEL => [:GraphNode], :BooleanLiteral => [:GraphNode], :DECIMAL => [:GraphNode], :DOUBLE => [:GraphNode], :INTEGER => [:GraphNode], :IRI_REF => [:GraphNode], :NIL => [:GraphNode], :PNAME_LN => [:GraphNode], :PNAME_NS => [:GraphNode], :STRING_LITERAL1 => [:GraphNode], :STRING_LITERAL2 => [:GraphNode], :STRING_LITERAL_LONG1 => [:GraphNode], :STRING_LITERAL_LONG2 => [:GraphNode], :VAR1 => [:GraphNode], :VAR2 => [:GraphNode], }, :ObjectList => { "(" => [:Object, :_COMMA_Object_Star], "+" => [:Object, :_COMMA_Object_Star], "-" => [:Object, :_COMMA_Object_Star], "[" => [:Object, :_COMMA_Object_Star], :ANON => [:Object, :_COMMA_Object_Star], :BLANK_NODE_LABEL => [:Object, :_COMMA_Object_Star], :BooleanLiteral => [:Object, :_COMMA_Object_Star], :DECIMAL => [:Object, :_COMMA_Object_Star], :DOUBLE => [:Object, :_COMMA_Object_Star], :INTEGER => [:Object, :_COMMA_Object_Star], :IRI_REF => [:Object, :_COMMA_Object_Star], :NIL => [:Object, :_COMMA_Object_Star], :PNAME_LN => [:Object, :_COMMA_Object_Star], :PNAME_NS => [:Object, :_COMMA_Object_Star], :STRING_LITERAL1 => [:Object, :_COMMA_Object_Star], :STRING_LITERAL2 => [:Object, :_COMMA_Object_Star], :STRING_LITERAL_LONG1 => [:Object, :_COMMA_Object_Star], :STRING_LITERAL_LONG2 => [:Object, :_COMMA_Object_Star], :VAR1 => [:Object, :_COMMA_Object_Star], :VAR2 => [:Object, :_COMMA_Object_Star], }, :OffsetClause => { "OFFSET" => ["OFFSET", :INTEGER], }, :OptionalGraphPattern => { "OPTIONAL" => ["OPTIONAL", :GroupGraphPattern], }, :OrderClause => { "ORDER" => ["ORDER", "BY", :OrderCondition, :_OrderCondition_Plus], }, :OrderCondition => { "(" => [:_Constraint_or_Var], "ASC" => [:_ASC_Or_DESC_BrackettedExpression], "BOUND" => [:_Constraint_or_Var], "DATATYPE" => [:_Constraint_or_Var], "DESC" => [:_ASC_Or_DESC_BrackettedExpression], "LANG" => [:_Constraint_or_Var], "LANGMATCHES" => [:_Constraint_or_Var], "REGEX" => [:_Constraint_or_Var], "STR" => [:_Constraint_or_Var], :IRI_REF => [:_Constraint_or_Var], :PNAME_LN => [:_Constraint_or_Var], :PNAME_NS => [:_Constraint_or_Var], :VAR1 => [:_Constraint_or_Var], :VAR2 => [:_Constraint_or_Var], "ISBLANK" => [:_Constraint_or_Var], "ISIRI" => [:_Constraint_or_Var], "ISLITERAL" => [:_Constraint_or_Var], "ISURI" => [:_Constraint_or_Var], "SAMETERM" => [:_Constraint_or_Var], }, :PrefixDecl => { "PREFIX" => ["PREFIX", :PNAME_NS, :IRI_REF], }, :PrefixedName => { :PNAME_LN => [:PNAME_LN], :PNAME_NS => [:PNAME_NS], }, :PrimaryExpression => { "(" => [:BrackettedExpression], "+" => [:NumericLiteral], "-" => [:NumericLiteral], "BOUND" => [:BuiltInCall], "DATATYPE" => [:BuiltInCall], "LANG" => [:BuiltInCall], "LANGMATCHES" => [:BuiltInCall], "REGEX" => [:BuiltInCall], "STR" => [:BuiltInCall], :BooleanLiteral => [:BooleanLiteral], :DECIMAL => [:NumericLiteral], :DOUBLE => [:NumericLiteral], :INTEGER => [:NumericLiteral], :IRI_REF => [:IRIrefOrFunction], :PNAME_LN => [:IRIrefOrFunction], :PNAME_NS => [:IRIrefOrFunction], :STRING_LITERAL1 => [:RDFLiteral], :STRING_LITERAL2 => [:RDFLiteral], :STRING_LITERAL_LONG1 => [:RDFLiteral], :STRING_LITERAL_LONG2 => [:RDFLiteral], :VAR1 => [:Var], :VAR2 => [:Var], "ISBLANK" => [:BuiltInCall], "ISIRI" => [:BuiltInCall], "ISLITERAL" => [:BuiltInCall], "ISURI" => [:BuiltInCall], "SAMETERM" => [:BuiltInCall], }, :Prologue => { "ASK" => [:_BaseDecl_Opt, :_PrefixDecl_Star], "BASE" => [:_BaseDecl_Opt, :_PrefixDecl_Star], "CONSTRUCT" => [:_BaseDecl_Opt, :_PrefixDecl_Star], "DESCRIBE" => [:_BaseDecl_Opt, :_PrefixDecl_Star], "PREFIX" => [:_BaseDecl_Opt, :_PrefixDecl_Star], "SELECT" => [:_BaseDecl_Opt, :_PrefixDecl_Star], }, :PropertyList => { "." => [], "FILTER" => [], "GRAPH" => [], "OPTIONAL" => [], "a" => [:PropertyListNotEmpty], :IRI_REF => [:PropertyListNotEmpty], :PNAME_LN => [:PropertyListNotEmpty], :PNAME_NS => [:PropertyListNotEmpty], :VAR1 => [:PropertyListNotEmpty], :VAR2 => [:PropertyListNotEmpty], "{" => [], "}" => [], }, :PropertyListNotEmpty => { "a" => [:Verb, :ObjectList, :_SEMI_Verb_ObjectList_Opt_Star], :IRI_REF => [:Verb, :ObjectList, :_SEMI_Verb_ObjectList_Opt_Star], :PNAME_LN => [:Verb, :ObjectList, :_SEMI_Verb_ObjectList_Opt_Star], :PNAME_NS => [:Verb, :ObjectList, :_SEMI_Verb_ObjectList_Opt_Star], :VAR1 => [:Verb, :ObjectList, :_SEMI_Verb_ObjectList_Opt_Star], :VAR2 => [:Verb, :ObjectList, :_SEMI_Verb_ObjectList_Opt_Star], }, :Query => { "ASK" => [:Prologue, :_SelectQuery_or_ConstructQuery_or_DescribeQuery_or_AskQuery, :eof], "BASE" => [:Prologue, :_SelectQuery_or_ConstructQuery_or_DescribeQuery_or_AskQuery, :eof], "CONSTRUCT" => [:Prologue, :_SelectQuery_or_ConstructQuery_or_DescribeQuery_or_AskQuery, :eof], "DESCRIBE" => [:Prologue, :_SelectQuery_or_ConstructQuery_or_DescribeQuery_or_AskQuery, :eof], "PREFIX" => [:Prologue, :_SelectQuery_or_ConstructQuery_or_DescribeQuery_or_AskQuery, :eof], "SELECT" => [:Prologue, :_SelectQuery_or_ConstructQuery_or_DescribeQuery_or_AskQuery, :eof], }, :RDFLiteral => { :STRING_LITERAL1 => [:String, :_LANGTAG_IRIref_Opt], :STRING_LITERAL2 => [:String, :_LANGTAG_IRIref_Opt], :STRING_LITERAL_LONG1 => [:String, :_LANGTAG_IRIref_Opt], :STRING_LITERAL_LONG2 => [:String, :_LANGTAG_IRIref_Opt], }, :RegexExpression => { "REGEX" => ["REGEX", "(", :Expression, ",", :Expression, :_COMMA_Expression_Opt, ")"], }, :RelationalExpression => { "!" => [:NumericExpression, :_Compare_NumericExpression_Opt], "(" => [:NumericExpression, :_Compare_NumericExpression_Opt], "+" => [:NumericExpression, :_Compare_NumericExpression_Opt], "-" => [:NumericExpression, :_Compare_NumericExpression_Opt], "BOUND" => [:NumericExpression, :_Compare_NumericExpression_Opt], "DATATYPE" => [:NumericExpression, :_Compare_NumericExpression_Opt], "LANG" => [:NumericExpression, :_Compare_NumericExpression_Opt], "LANGMATCHES" => [:NumericExpression, :_Compare_NumericExpression_Opt], "REGEX" => [:NumericExpression, :_Compare_NumericExpression_Opt], "STR" => [:NumericExpression, :_Compare_NumericExpression_Opt], :BooleanLiteral => [:NumericExpression, :_Compare_NumericExpression_Opt], :DECIMAL => [:NumericExpression, :_Compare_NumericExpression_Opt], :DOUBLE => [:NumericExpression, :_Compare_NumericExpression_Opt], :INTEGER => [:NumericExpression, :_Compare_NumericExpression_Opt], :IRI_REF => [:NumericExpression, :_Compare_NumericExpression_Opt], :PNAME_LN => [:NumericExpression, :_Compare_NumericExpression_Opt], :PNAME_NS => [:NumericExpression, :_Compare_NumericExpression_Opt], :STRING_LITERAL1 => [:NumericExpression, :_Compare_NumericExpression_Opt], :STRING_LITERAL2 => [:NumericExpression, :_Compare_NumericExpression_Opt], :STRING_LITERAL_LONG1 => [:NumericExpression, :_Compare_NumericExpression_Opt], :STRING_LITERAL_LONG2 => [:NumericExpression, :_Compare_NumericExpression_Opt], :VAR1 => [:NumericExpression, :_Compare_NumericExpression_Opt], :VAR2 => [:NumericExpression, :_Compare_NumericExpression_Opt], "ISBLANK" => [:NumericExpression, :_Compare_NumericExpression_Opt], "ISIRI" => [:NumericExpression, :_Compare_NumericExpression_Opt], "ISLITERAL" => [:NumericExpression, :_Compare_NumericExpression_Opt], "ISURI" => [:NumericExpression, :_Compare_NumericExpression_Opt], "SAMETERM" => [:NumericExpression, :_Compare_NumericExpression_Opt], }, :SelectQuery => { "SELECT" => ["SELECT", :_DISTINCT_OR_REDUCED_Opt, :_Var_Plus_or_Star, :_DatasetClause_Star, :WhereClause, :SolutionModifier], }, :SolutionModifier => { "LIMIT" => [:_OrderClause_Opt, :_LimitOffsetClauses_Opt], "OFFSET" => [:_OrderClause_Opt, :_LimitOffsetClauses_Opt], "ORDER" => [:_OrderClause_Opt, :_LimitOffsetClauses_Opt], :eof => [:_OrderClause_Opt, :_LimitOffsetClauses_Opt], }, :SourceSelector => { :IRI_REF => [:IRIref], :PNAME_LN => [:IRIref], :PNAME_NS => [:IRIref], }, :String => { :STRING_LITERAL1 => [:STRING_LITERAL1], :STRING_LITERAL2 => [:STRING_LITERAL2], :STRING_LITERAL_LONG1 => [:STRING_LITERAL_LONG1], :STRING_LITERAL_LONG2 => [:STRING_LITERAL_LONG2], }, :TriplesBlock => { "(" => [:TriplesSameSubject, :_Dot_TriplesBlock_Opt_Opt], "+" => [:TriplesSameSubject, :_Dot_TriplesBlock_Opt_Opt], "-" => [:TriplesSameSubject, :_Dot_TriplesBlock_Opt_Opt], "[" => [:TriplesSameSubject, :_Dot_TriplesBlock_Opt_Opt], :ANON => [:TriplesSameSubject, :_Dot_TriplesBlock_Opt_Opt], :BLANK_NODE_LABEL => [:TriplesSameSubject, :_Dot_TriplesBlock_Opt_Opt], :BooleanLiteral => [:TriplesSameSubject, :_Dot_TriplesBlock_Opt_Opt], :DECIMAL => [:TriplesSameSubject, :_Dot_TriplesBlock_Opt_Opt], :DOUBLE => [:TriplesSameSubject, :_Dot_TriplesBlock_Opt_Opt], :INTEGER => [:TriplesSameSubject, :_Dot_TriplesBlock_Opt_Opt], :IRI_REF => [:TriplesSameSubject, :_Dot_TriplesBlock_Opt_Opt], :NIL => [:TriplesSameSubject, :_Dot_TriplesBlock_Opt_Opt], :PNAME_LN => [:TriplesSameSubject, :_Dot_TriplesBlock_Opt_Opt], :PNAME_NS => [:TriplesSameSubject, :_Dot_TriplesBlock_Opt_Opt], :STRING_LITERAL1 => [:TriplesSameSubject, :_Dot_TriplesBlock_Opt_Opt], :STRING_LITERAL2 => [:TriplesSameSubject, :_Dot_TriplesBlock_Opt_Opt], :STRING_LITERAL_LONG1 => [:TriplesSameSubject, :_Dot_TriplesBlock_Opt_Opt], :STRING_LITERAL_LONG2 => [:TriplesSameSubject, :_Dot_TriplesBlock_Opt_Opt], :VAR1 => [:TriplesSameSubject, :_Dot_TriplesBlock_Opt_Opt], :VAR2 => [:TriplesSameSubject, :_Dot_TriplesBlock_Opt_Opt], }, :TriplesNode => { "(" => [:Collection], "[" => [:BlankNodePropertyList], }, :TriplesSameSubject => { "(" => [:TriplesNode, :PropertyList], "+" => [:VarOrTerm, :PropertyListNotEmpty], "-" => [:VarOrTerm, :PropertyListNotEmpty], "[" => [:TriplesNode, :PropertyList], :ANON => [:VarOrTerm, :PropertyListNotEmpty], :BLANK_NODE_LABEL => [:VarOrTerm, :PropertyListNotEmpty], :BooleanLiteral => [:VarOrTerm, :PropertyListNotEmpty], :DECIMAL => [:VarOrTerm, :PropertyListNotEmpty], :DOUBLE => [:VarOrTerm, :PropertyListNotEmpty], :INTEGER => [:VarOrTerm, :PropertyListNotEmpty], :IRI_REF => [:VarOrTerm, :PropertyListNotEmpty], :NIL => [:VarOrTerm, :PropertyListNotEmpty], :PNAME_LN => [:VarOrTerm, :PropertyListNotEmpty], :PNAME_NS => [:VarOrTerm, :PropertyListNotEmpty], :STRING_LITERAL1 => [:VarOrTerm, :PropertyListNotEmpty], :STRING_LITERAL2 => [:VarOrTerm, :PropertyListNotEmpty], :STRING_LITERAL_LONG1 => [:VarOrTerm, :PropertyListNotEmpty], :STRING_LITERAL_LONG2 => [:VarOrTerm, :PropertyListNotEmpty], :VAR1 => [:VarOrTerm, :PropertyListNotEmpty], :VAR2 => [:VarOrTerm, :PropertyListNotEmpty], }, :UnaryExpression => { "!" => ["!", :PrimaryExpression], "(" => [:PrimaryExpression], "+" => ["+", :PrimaryExpression], # GK: Added back due to conflict "-" => ["-", :PrimaryExpression], # GK: Added back due to conflict "BOUND" => [:PrimaryExpression], "DATATYPE" => [:PrimaryExpression], "LANG" => [:PrimaryExpression], "LANGMATCHES" => [:PrimaryExpression], "REGEX" => [:PrimaryExpression], "STR" => [:PrimaryExpression], :BooleanLiteral => [:PrimaryExpression], :DECIMAL => [:PrimaryExpression], :DOUBLE => [:PrimaryExpression], :INTEGER => [:PrimaryExpression], :IRI_REF => [:PrimaryExpression], :PNAME_LN => [:PrimaryExpression], :PNAME_NS => [:PrimaryExpression], :STRING_LITERAL1 => [:PrimaryExpression], :STRING_LITERAL2 => [:PrimaryExpression], :STRING_LITERAL_LONG1 => [:PrimaryExpression], :STRING_LITERAL_LONG2 => [:PrimaryExpression], :VAR1 => [:PrimaryExpression], :VAR2 => [:PrimaryExpression], "ISBLANK" => [:PrimaryExpression], "ISIRI" => [:PrimaryExpression], "ISLITERAL" => [:PrimaryExpression], "ISURI" => [:PrimaryExpression], "SAMETERM" => [:PrimaryExpression], }, :ValueLogical => { "!" => [:RelationalExpression], "(" => [:RelationalExpression], "+" => [:RelationalExpression], "-" => [:RelationalExpression], "BOUND" => [:RelationalExpression], "DATATYPE" => [:RelationalExpression], "LANG" => [:RelationalExpression], "LANGMATCHES" => [:RelationalExpression], "REGEX" => [:RelationalExpression], "STR" => [:RelationalExpression], :BooleanLiteral => [:RelationalExpression], :DECIMAL => [:RelationalExpression], :DOUBLE => [:RelationalExpression], :INTEGER => [:RelationalExpression], :IRI_REF => [:RelationalExpression], :PNAME_LN => [:RelationalExpression], :PNAME_NS => [:RelationalExpression], :STRING_LITERAL1 => [:RelationalExpression], :STRING_LITERAL2 => [:RelationalExpression], :STRING_LITERAL_LONG1 => [:RelationalExpression], :STRING_LITERAL_LONG2 => [:RelationalExpression], :VAR1 => [:RelationalExpression], :VAR2 => [:RelationalExpression], "ISBLANK" => [:RelationalExpression], "ISIRI" => [:RelationalExpression], "ISLITERAL" => [:RelationalExpression], "ISURI" => [:RelationalExpression], "SAMETERM" => [:RelationalExpression], }, :Var => { :VAR1 => [:VAR1], :VAR2 => [:VAR2], }, :VarOrIRIref => { :IRI_REF => [:IRIref], :PNAME_LN => [:IRIref], :PNAME_NS => [:IRIref], :VAR1 => [:Var], :VAR2 => [:Var], }, :VarOrTerm => { "+" => [:GraphTerm], "-" => [:GraphTerm], :ANON => [:GraphTerm], :BLANK_NODE_LABEL => [:GraphTerm], :BooleanLiteral => [:GraphTerm], :DECIMAL => [:GraphTerm], :DOUBLE => [:GraphTerm], :INTEGER => [:GraphTerm], :IRI_REF => [:GraphTerm], :NIL => [:GraphTerm], :PNAME_LN => [:GraphTerm], :PNAME_NS => [:GraphTerm], :STRING_LITERAL1 => [:GraphTerm], :STRING_LITERAL2 => [:GraphTerm], :STRING_LITERAL_LONG1 => [:GraphTerm], :STRING_LITERAL_LONG2 => [:GraphTerm], :VAR1 => [:Var], :VAR2 => [:Var], }, :Verb => { "a" => ["a"], :IRI_REF => [:VarOrIRIref], :PNAME_LN => [:VarOrIRIref], :PNAME_NS => [:VarOrIRIref], :VAR1 => [:VarOrIRIref], :VAR2 => [:VarOrIRIref], }, :WhereClause => { "WHERE" => [:_WHERE_Opt, :GroupGraphPattern], "{" => [:_WHERE_Opt, :GroupGraphPattern], }, :_AND_ValueLogical => { "&&" => ["&&", :ValueLogical], }, :_AND_ValueLogical_Star => { "&&" => [:_AND_ValueLogical, :_AND_ValueLogical_Star], ")" => [], "," => [], "||" => [], }, :_ASC_Or_DESC => { "ASC" => ["ASC"], "DESC" => ["DESC"], }, :_ASC_Or_DESC_BrackettedExpression => { "ASC" => [:_ASC_Or_DESC, :BrackettedExpression], "DESC" => [:_ASC_Or_DESC, :BrackettedExpression], }, :_Add_Sub_MultiplicativeExpression_Star => { "!=" => [], "&&" => [], ")" => [], "+" => ["+", :MultiplicativeExpression, :_Add_Sub_MultiplicativeExpression_Star], "," => [], "-" => ["-", :MultiplicativeExpression, :_Add_Sub_MultiplicativeExpression_Star], "<" => [], "<=" => [], "=" => [], ">=" => [], ">" => [], "||" => [], }, :_ArgList_Opt => { "!=" => [], "&&" => [], "(" => [:ArgList], ")" => [], "*" => [], "+" => [], "," => [], "-" => [], "/" => [], "<" => [], "<=" => [], "=" => [], ">=" => [], ">" => [], :NIL => [:ArgList], "||" => [], }, :_BaseDecl_Opt => { "ASK" => [], "BASE" => [:BaseDecl], "CONSTRUCT" => [], "DESCRIBE" => [], "PREFIX" => [], "SELECT" => [], }, :_COMMA_Expression_Opt => { ")" => [], "," => [",", :Expression], }, :_COMMA_Expression_Star => { ")" => [], "," => [",", :Expression], }, :_COMMA_Object => { "," => [",", :Object], }, :_COMMA_Object_Star => { "," => [:_COMMA_Object, :_COMMA_Object_Star], "." => [], ";" => [], "FILTER" => [], "GRAPH" => [], "OPTIONAL" => [], "]" => [], "{" => [], "}" => [], }, :_Compare_NumericExpression_Opt => { "!=" => ["!=", :NumericExpression], "&&" => [], ")" => [], "," => [], "<" => ["<", :NumericExpression], "<=" => ["<=", :NumericExpression], "=" => ["=", :NumericExpression], ">=" => [">=", :NumericExpression], ">" => [">", :NumericExpression], "||" => [], }, :_Constraint_or_Var => { "(" => [:Constraint], "BOUND" => [:Constraint], "DATATYPE" => [:Constraint], "LANG" => [:Constraint], "LANGMATCHES" => [:Constraint], "REGEX" => [:Constraint], "STR" => [:Constraint], :IRI_REF => [:Constraint], :PNAME_LN => [:Constraint], :PNAME_NS => [:Constraint], :VAR1 => [:Var], :VAR2 => [:Var], "ISBLANK" => [:Constraint], "ISIRI" => [:Constraint], "ISLITERAL" => [:Constraint], "ISURI" => [:Constraint], "SAMETERM" => [:Constraint], }, :_ConstructTriples_Opt => { "(" => [:ConstructTriples], "+" => [:ConstructTriples], "-" => [:ConstructTriples], "[" => [:ConstructTriples], :ANON => [:ConstructTriples], :BLANK_NODE_LABEL => [:ConstructTriples], :BooleanLiteral => [:ConstructTriples], :DECIMAL => [:ConstructTriples], :DOUBLE => [:ConstructTriples], :INTEGER => [:ConstructTriples], :IRI_REF => [:ConstructTriples], :NIL => [:ConstructTriples], :PNAME_LN => [:ConstructTriples], :PNAME_NS => [:ConstructTriples], :STRING_LITERAL1 => [:ConstructTriples], :STRING_LITERAL2 => [:ConstructTriples], :STRING_LITERAL_LONG1 => [:ConstructTriples], :STRING_LITERAL_LONG2 => [:ConstructTriples], :VAR1 => [:ConstructTriples], :VAR2 => [:ConstructTriples], "}" => [], }, :_DISTINCT_OR_REDUCED_Opt => { "*" => [], "DISTINCT" => ["DISTINCT"], "REDUCED" => ["REDUCED"], :VAR1 => [], :VAR2 => [], }, :_DOT_ConstructTriples_Opt_Opt => { "." => [".", :_ConstructTriples_Opt], "}" => [], }, :_DOT_Opt => { "(" => [], "+" => [], "-" => [], "." => ["."], "FILTER" => [], "GRAPH" => [], "OPTIONAL" => [], "[" => [], :ANON => [], :BLANK_NODE_LABEL => [], :BooleanLiteral => [], :DECIMAL => [], :DOUBLE => [], :INTEGER => [], :IRI_REF => [], :NIL => [], :PNAME_LN => [], :PNAME_NS => [], :STRING_LITERAL1 => [], :STRING_LITERAL2 => [], :STRING_LITERAL_LONG1 => [], :STRING_LITERAL_LONG2 => [], :VAR1 => [], :VAR2 => [], "{" => [], "}" => [], }, :_DatasetClause_Star => { "FROM" => [:DatasetClause, :_DatasetClause_Star], "LIMIT" => [], "OFFSET" => [], "ORDER" => [], "WHERE" => [], :eof => [], "{" => [], }, :_DefaultGraphClause_or_NamedGraphClause => { "NAMED" => [:NamedGraphClause], :IRI_REF => [:DefaultGraphClause], :PNAME_LN => [:DefaultGraphClause], :PNAME_NS => [:DefaultGraphClause], }, :_Dot_TriplesBlock_Opt_Opt => { "." => [".", :_TriplesBlock_Opt], "FILTER" => [], "GRAPH" => [], "OPTIONAL" => [], "{" => [], "}" => [], }, :_Expression_COMMA_Expression_Star => { "!" => [:Expression, :_COMMA_Expression_Star], "(" => [:Expression, :_COMMA_Expression_Star], "+" => [:Expression, :_COMMA_Expression_Star], "-" => [:Expression, :_COMMA_Expression_Star], "BOUND" => [:Expression, :_COMMA_Expression_Star], "DATATYPE" => [:Expression, :_COMMA_Expression_Star], "LANG" => [:Expression, :_COMMA_Expression_Star], "LANGMATCHES" => [:Expression, :_COMMA_Expression_Star], "REGEX" => [:Expression, :_COMMA_Expression_Star], "STR" => [:Expression, :_COMMA_Expression_Star], :BooleanLiteral => [:Expression, :_COMMA_Expression_Star], :DECIMAL => [:Expression, :_COMMA_Expression_Star], :DOUBLE => [:Expression, :_COMMA_Expression_Star], :INTEGER => [:Expression, :_COMMA_Expression_Star], :IRI_REF => [:Expression, :_COMMA_Expression_Star], :PNAME_LN => [:Expression, :_COMMA_Expression_Star], :PNAME_NS => [:Expression, :_COMMA_Expression_Star], :STRING_LITERAL1 => [:Expression, :_COMMA_Expression_Star], :STRING_LITERAL2 => [:Expression, :_COMMA_Expression_Star], :STRING_LITERAL_LONG1 => [:Expression, :_COMMA_Expression_Star], :STRING_LITERAL_LONG2 => [:Expression, :_COMMA_Expression_Star], :VAR1 => [:Expression, :_COMMA_Expression_Star], :VAR2 => [:Expression, :_COMMA_Expression_Star], "ISBLANK" => [:Expression, :_COMMA_Expression_Star], "ISIRI" => [:Expression, :_COMMA_Expression_Star], "ISLITERAL" => [:Expression, :_COMMA_Expression_Star], "ISURI" => [:Expression, :_COMMA_Expression_Star], "SAMETERM" => [:Expression, :_COMMA_Expression_Star], }, :_GraphNode_Opt => { "(" => [:GraphNode, :_GraphNode_Opt], ")" => [], "+" => [:GraphNode, :_GraphNode_Opt], "-" => [:GraphNode, :_GraphNode_Opt], "[" => [:GraphNode, :_GraphNode_Opt], :ANON => [:GraphNode, :_GraphNode_Opt], :BLANK_NODE_LABEL => [:GraphNode, :_GraphNode_Opt], :BooleanLiteral => [:GraphNode, :_GraphNode_Opt], :DECIMAL => [:GraphNode, :_GraphNode_Opt], :DOUBLE => [:GraphNode, :_GraphNode_Opt], :INTEGER => [:GraphNode, :_GraphNode_Opt], :IRI_REF => [:GraphNode, :_GraphNode_Opt], :NIL => [:GraphNode, :_GraphNode_Opt], :PNAME_LN => [:GraphNode, :_GraphNode_Opt], :PNAME_NS => [:GraphNode, :_GraphNode_Opt], :STRING_LITERAL1 => [:GraphNode, :_GraphNode_Opt], :STRING_LITERAL2 => [:GraphNode, :_GraphNode_Opt], :STRING_LITERAL_LONG1 => [:GraphNode, :_GraphNode_Opt], :STRING_LITERAL_LONG2 => [:GraphNode, :_GraphNode_Opt], :VAR1 => [:GraphNode, :_GraphNode_Opt], :VAR2 => [:GraphNode, :_GraphNode_Opt], }, :_GraphNode_Plus => { "(" => [:GraphNode, :_GraphNode_Opt], "+" => [:GraphNode, :_GraphNode_Opt], "-" => [:GraphNode, :_GraphNode_Opt], "[" => [:GraphNode, :_GraphNode_Opt], :ANON => [:GraphNode, :_GraphNode_Opt], :BLANK_NODE_LABEL => [:GraphNode, :_GraphNode_Opt], :BooleanLiteral => [:GraphNode, :_GraphNode_Opt], :DECIMAL => [:GraphNode, :_GraphNode_Opt], :DOUBLE => [:GraphNode, :_GraphNode_Opt], :INTEGER => [:GraphNode, :_GraphNode_Opt], :IRI_REF => [:GraphNode, :_GraphNode_Opt], :NIL => [:GraphNode, :_GraphNode_Opt], :PNAME_LN => [:GraphNode, :_GraphNode_Opt], :PNAME_NS => [:GraphNode, :_GraphNode_Opt], :STRING_LITERAL1 => [:GraphNode, :_GraphNode_Opt], :STRING_LITERAL2 => [:GraphNode, :_GraphNode_Opt], :STRING_LITERAL_LONG1 => [:GraphNode, :_GraphNode_Opt], :STRING_LITERAL_LONG2 => [:GraphNode, :_GraphNode_Opt], :VAR1 => [:GraphNode, :_GraphNode_Opt], :VAR2 => [:GraphNode, :_GraphNode_Opt], }, :_GraphPatternNotTriples_or_Filter => { "FILTER" => [:Filter], "GRAPH" => [:GraphPatternNotTriples], "OPTIONAL" => [:GraphPatternNotTriples], "{" => [:GraphPatternNotTriples], }, :_GraphPatternNotTriples_or_Filter_Dot_Opt_TriplesBlock_Opt => { "FILTER" => [:_GraphPatternNotTriples_or_Filter, :_DOT_Opt, :_TriplesBlock_Opt], "GRAPH" => [:_GraphPatternNotTriples_or_Filter, :_DOT_Opt, :_TriplesBlock_Opt], "OPTIONAL" => [:_GraphPatternNotTriples_or_Filter, :_DOT_Opt, :_TriplesBlock_Opt], "{" => [:_GraphPatternNotTriples_or_Filter, :_DOT_Opt, :_TriplesBlock_Opt], }, :_GraphPatternNotTriples_or_Filter_Dot_Opt_TriplesBlock_Opt_Star => { "FILTER" => [:_GraphPatternNotTriples_or_Filter_Dot_Opt_TriplesBlock_Opt, :_GraphPatternNotTriples_or_Filter_Dot_Opt_TriplesBlock_Opt_Star], "GRAPH" => [:_GraphPatternNotTriples_or_Filter_Dot_Opt_TriplesBlock_Opt, :_GraphPatternNotTriples_or_Filter_Dot_Opt_TriplesBlock_Opt_Star], "OPTIONAL" => [:_GraphPatternNotTriples_or_Filter_Dot_Opt_TriplesBlock_Opt, :_GraphPatternNotTriples_or_Filter_Dot_Opt_TriplesBlock_Opt_Star], "{" => [:_GraphPatternNotTriples_or_Filter_Dot_Opt_TriplesBlock_Opt, :_GraphPatternNotTriples_or_Filter_Dot_Opt_TriplesBlock_Opt_Star], "}" => [], }, :_LANGTAG_IRIref_Opt => { "!=" => [], "&&" => [], "(" => [], ")" => [], "*" => [], "+" => [], "," => [], "-" => [], "." => [], "/" => [], ";" => [], "<" => [], "<=" => [], "=" => [], ">=" => [], ">" => [], "FILTER" => [], "GRAPH" => [], "OPTIONAL" => [], "[" => [], "]" => [], "^^" => ["^^", :IRIref], "a" => [], :ANON => [], :BLANK_NODE_LABEL => [], :BooleanLiteral => [], :DECIMAL => [], :DOUBLE => [], :INTEGER => [], :IRI_REF => [], :LANGTAG => [:LANGTAG], :NIL => [], :PNAME_LN => [], :PNAME_NS => [], :STRING_LITERAL1 => [], :STRING_LITERAL2 => [], :STRING_LITERAL_LONG1 => [], :STRING_LITERAL_LONG2 => [], :VAR1 => [], :VAR2 => [], "{" => [], "||" => [], "}" => [], }, :_LimitClause_Opt => { "LIMIT" => [:LimitClause], :eof => [], }, :_LimitOffsetClauses_Opt => { "LIMIT" => [:LimitOffsetClauses], "OFFSET" => [:LimitOffsetClauses], :eof => [], }, :_Mul_Div_UnaryExpression_Star => { "!=" => [], "&&" => [], ")" => [], "*" => ["*", :UnaryExpression, :_Mul_Div_UnaryExpression_Star], "+" => [], "," => [], "-" => [], "/" => ["/", :UnaryExpression, :_Mul_Div_UnaryExpression_Star], "<" => [], "<=" => [], "=" => [], ">=" => [], ">" => [], "||" => [], }, :_OR_ConditionalAndExpression => { "||" => ["||", :ConditionalAndExpression], }, :_OR_ConditionalAndExpression_Star => { ")" => [], "," => [], "||" => [:_OR_ConditionalAndExpression, :_OR_ConditionalAndExpression_Star], }, :_OffsetClause_Opt => { "OFFSET" => [:OffsetClause], :eof => [], }, :_OrderClause_Opt => { "LIMIT" => [], "OFFSET" => [], "ORDER" => [:OrderClause], :eof => [], }, :_OrderCondition_Plus => { "(" => [:OrderCondition, :_OrderCondition_Plus], "ASC" => [:OrderCondition, :_OrderCondition_Plus], "BOUND" => [:OrderCondition, :_OrderCondition_Plus], "DATATYPE" => [:OrderCondition, :_OrderCondition_Plus], "DESC" => [:OrderCondition, :_OrderCondition_Plus], "LANG" => [:OrderCondition, :_OrderCondition_Plus], "LANGMATCHES" => [:OrderCondition, :_OrderCondition_Plus], "LIMIT" => [], "OFFSET" => [], "REGEX" => [:OrderCondition, :_OrderCondition_Plus], "STR" => [:OrderCondition, :_OrderCondition_Plus], :eof => [], :IRI_REF => [:OrderCondition, :_OrderCondition_Plus], :PNAME_LN => [:OrderCondition, :_OrderCondition_Plus], :PNAME_NS => [:OrderCondition, :_OrderCondition_Plus], :VAR1 => [:OrderCondition, :_OrderCondition_Plus], :VAR2 => [:OrderCondition, :_OrderCondition_Plus], "ISBLANK" => [:OrderCondition, :_OrderCondition_Plus], "ISIRI" => [:OrderCondition, :_OrderCondition_Plus], "ISLITERAL" => [:OrderCondition, :_OrderCondition_Plus], "ISURI" => [:OrderCondition, :_OrderCondition_Plus], "SAMETERM" => [:OrderCondition, :_OrderCondition_Plus], }, :_PrefixDecl_Star => { "ASK" => [], "CONSTRUCT" => [], "DESCRIBE" => [], "PREFIX" => [:PrefixDecl, :_PrefixDecl_Star], "SELECT" => [], }, :_SEMI_Verb_ObjectList_Opt => { ";" => [";", :_Verb_ObjectList_Opt], }, :_SEMI_Verb_ObjectList_Opt_Star => { "." => [], ";" => [:_SEMI_Verb_ObjectList_Opt, :_SEMI_Verb_ObjectList_Opt_Star], "FILTER" => [], "GRAPH" => [], "OPTIONAL" => [], "]" => [], "{" => [], "}" => [], }, :_SelectQuery_or_ConstructQuery_or_DescribeQuery_or_AskQuery => { "ASK" => [:AskQuery], "CONSTRUCT" => [:ConstructQuery], "DESCRIBE" => [:DescribeQuery], "SELECT" => [:SelectQuery], }, :_TriplesBlock_Opt => { "(" => [:TriplesBlock], "+" => [:TriplesBlock], "-" => [:TriplesBlock], "FILTER" => [], "GRAPH" => [], "OPTIONAL" => [], "[" => [:TriplesBlock], :ANON => [:TriplesBlock], :BLANK_NODE_LABEL => [:TriplesBlock], :BooleanLiteral => [:TriplesBlock], :DECIMAL => [:TriplesBlock], :DOUBLE => [:TriplesBlock], :INTEGER => [:TriplesBlock], :IRI_REF => [:TriplesBlock], :NIL => [:TriplesBlock], :PNAME_LN => [:TriplesBlock], :PNAME_NS => [:TriplesBlock], :STRING_LITERAL1 => [:TriplesBlock], :STRING_LITERAL2 => [:TriplesBlock], :STRING_LITERAL_LONG1 => [:TriplesBlock], :STRING_LITERAL_LONG2 => [:TriplesBlock], :VAR1 => [:TriplesBlock], :VAR2 => [:TriplesBlock], "{" => [], "}" => [], }, :_UNION_GroupGraphPattern => { "UNION" => ["UNION", :GroupGraphPattern], }, :_UNION_GroupGraphPattern_Star => { "(" => [], "+" => [], "-" => [], "." => [], "FILTER" => [], "GRAPH" => [], "OPTIONAL" => [], "UNION" => [:_UNION_GroupGraphPattern, :_UNION_GroupGraphPattern_Star], "[" => [], :ANON => [], :BLANK_NODE_LABEL => [], :BooleanLiteral => [], :DECIMAL => [], :DOUBLE => [], :INTEGER => [], :IRI_REF => [], :NIL => [], :PNAME_LN => [], :PNAME_NS => [], :STRING_LITERAL1 => [], :STRING_LITERAL2 => [], :STRING_LITERAL_LONG1 => [], :STRING_LITERAL_LONG2 => [], :VAR1 => [], :VAR2 => [], "{" => [], "}" => [], }, :_VarOrIRIRef_Plus => { "FROM" => [], "LIMIT" => [], "OFFSET" => [], "ORDER" => [], "WHERE" => [], :eof => [], :IRI_REF => [:VarOrIRIref, :_VarOrIRIRef_Plus], :PNAME_LN => [:VarOrIRIref, :_VarOrIRIRef_Plus], :PNAME_NS => [:VarOrIRIref, :_VarOrIRIRef_Plus], :VAR1 => [:VarOrIRIref, :_VarOrIRIRef_Plus], :VAR2 => [:VarOrIRIref, :_VarOrIRIRef_Plus], "{" => [], }, :_VarOrIRIref_Plus_or_Star => { "*" => ["*"], :IRI_REF => [:VarOrIRIref, :_VarOrIRIRef_Plus], :PNAME_LN => [:VarOrIRIref, :_VarOrIRIRef_Plus], :PNAME_NS => [:VarOrIRIref, :_VarOrIRIRef_Plus], :VAR1 => [:VarOrIRIref, :_VarOrIRIRef_Plus], :VAR2 => [:VarOrIRIref, :_VarOrIRIRef_Plus], }, :_Var_Plus => { "FROM" => [], "LIMIT" => [], "OFFSET" => [], "ORDER" => [], "WHERE" => [], :eof => [], :VAR1 => [:Var, :_Var_Plus], :VAR2 => [:Var, :_Var_Plus], "{" => [], }, :_Var_Plus_or_Star => { "*" => ["*"], :VAR1 => [:Var, :_Var_Plus], :VAR2 => [:Var, :_Var_Plus], }, :_Verb_ObjectList_Opt => { "." => [], ";" => [], "FILTER" => [], "GRAPH" => [], "OPTIONAL" => [], "]" => [], "a" => [:Verb, :ObjectList], :IRI_REF => [:Verb, :ObjectList], :PNAME_LN => [:Verb, :ObjectList], :PNAME_NS => [:Verb, :ObjectList], :VAR1 => [:Verb, :ObjectList], :VAR2 => [:Verb, :ObjectList], "{" => [], "}" => [], }, :_WHERE_Opt => { "WHERE" => ["WHERE"], "{" => [], }, :_WhereClause_Opt => { "LIMIT" => [], "OFFSET" => [], "ORDER" => [], "WHERE" => [:WhereClause], :eof => [], "{" => [:WhereClause], }, }