Module: ShEx::Meta

Included in:
Parser
Defined in:
lib/shex/meta.rb

Overview

This file is automatically generated by /Users/gregg/.rvm/gems/ruby-2.4.0/bundler/gems/ebnf-cf248d47891b/lib/ebnf/base.rb BRANCH derived from etc/shex.ebnf

Constant Summary collapse

START =
:shexDoc
BRANCH =
{
  :annotation => {
    "//" => ["//", :predicate, :_annotation_1],
  },
  :_annotation_1 => {
    :DECIMAL => [:literal],
    :DOUBLE => [:literal],
    :INTEGER => [:literal],
    :IRIREF => [:iri],
    :LANG_STRING_LITERAL1 => [:literal],
    :LANG_STRING_LITERAL2 => [:literal],
    :LANG_STRING_LITERAL_LONG1 => [:literal],
    :LANG_STRING_LITERAL_LONG2 => [:literal],
    :PNAME_LN => [:iri],
    :PNAME_NS => [:iri],
    :STRING_LITERAL1 => [:literal],
    :STRING_LITERAL2 => [:literal],
    :STRING_LITERAL_LONG1 => [:literal],
    :STRING_LITERAL_LONG2 => [:literal],
    "false" => [:literal],
    "true" => [:literal],
  },
  :baseDecl => {
    "BASE" => ["BASE", :IRIREF],
  },
  :blankNode => {
    :BLANK_NODE_LABEL => [:BLANK_NODE_LABEL],
  },
  :booleanLiteral => {
    "false" => ["false"],
    "true" => ["true"],
  },
  :bracketedTripleExpr => {
    "(" => ["(", :oneOfTripleExpr, ")", :_bracketedTripleExpr_1, :_bracketedTripleExpr_2, :semanticActions],
  },
  :_bracketedTripleExpr_1 => {
    "%" => [],
    ")" => [],
    "*" => [:cardinality],
    "+" => [:cardinality],
    "//" => [],
    ";" => [],
    "?" => [:cardinality],
    :REPEAT_RANGE => [:cardinality],
    "|" => [],
    "}" => [],
  },
  :_bracketedTripleExpr_2 => {
    "%" => [],
    ")" => [],
    "//" => [:_bracketedTripleExpr_3],
    ";" => [],
    "|" => [],
    "}" => [],
  },
  :_bracketedTripleExpr_3 => {
    "//" => [:annotation, :_bracketedTripleExpr_2],
  },
  :cardinality => {
    "*" => ["*"],
    "+" => ["+"],
    "?" => ["?"],
    :REPEAT_RANGE => [:REPEAT_RANGE],
  },
  :codeDecl => {
    "%" => ["%", :iri, :_codeDecl_1],
  },
  :_codeDecl_1 => {
    "%" => ["%"],
    :CODE => [:CODE],
  },
  :datatype => {
    :IRIREF => [:iri],
    :PNAME_LN => [:iri],
    :PNAME_NS => [:iri],
  },
  :directive => {
    "BASE" => [:baseDecl],
    "PREFIX" => [:prefixDecl],
  },
  :exclusion => {
    "-" => ["-", :_exclusion_1, :_exclusion_2],
  },
  :_exclusion_1 => {
    :DECIMAL => [:literal],
    :DOUBLE => [:literal],
    :INTEGER => [:literal],
    :IRIREF => [:iri],
    :LANGTAG => [:LANGTAG],
    :LANG_STRING_LITERAL1 => [:literal],
    :LANG_STRING_LITERAL2 => [:literal],
    :LANG_STRING_LITERAL_LONG1 => [:literal],
    :LANG_STRING_LITERAL_LONG2 => [:literal],
    :PNAME_LN => [:iri],
    :PNAME_NS => [:iri],
    :STRING_LITERAL1 => [:literal],
    :STRING_LITERAL2 => [:literal],
    :STRING_LITERAL_LONG1 => [:literal],
    :STRING_LITERAL_LONG2 => [:literal],
    "false" => [:literal],
    "true" => [:literal],
  },
  :_exclusion_2 => {
    "-" => [],
    "." => [],
    :DECIMAL => [],
    :DOUBLE => [],
    :INTEGER => [],
    :IRIREF => [],
    :LANGTAG => [],
    :LANG_STRING_LITERAL1 => [],
    :LANG_STRING_LITERAL2 => [],
    :LANG_STRING_LITERAL_LONG1 => [],
    :LANG_STRING_LITERAL_LONG2 => [],
    :PNAME_LN => [],
    :PNAME_NS => [],
    :STRING_LITERAL1 => [],
    :STRING_LITERAL2 => [],
    :STRING_LITERAL_LONG1 => [],
    :STRING_LITERAL_LONG2 => [],
    "]" => [],
    "false" => [],
    "true" => [],
    "~" => ["~"],
  },
  :extraPropertySet => {
    "EXTRA" => ["EXTRA", :_extraPropertySet_1],
  },
  :_extraPropertySet_1 => {
    :IRIREF => [:predicate, :_extraPropertySet_2],
    :PNAME_LN => [:predicate, :_extraPropertySet_2],
    :PNAME_NS => [:predicate, :_extraPropertySet_2],
    :RDF_TYPE => [:predicate, :_extraPropertySet_2],
  },
  :_extraPropertySet_2 => {
    "CLOSED" => [],
    "EXTRA" => [],
    :IRIREF => [:_extraPropertySet_3],
    :PNAME_LN => [:_extraPropertySet_3],
    :PNAME_NS => [:_extraPropertySet_3],
    :RDF_TYPE => [:_extraPropertySet_3],
    "{" => [],
  },
  :_extraPropertySet_3 => {
    :IRIREF => [:predicate, :_extraPropertySet_2],
    :PNAME_LN => [:predicate, :_extraPropertySet_2],
    :PNAME_NS => [:predicate, :_extraPropertySet_2],
    :RDF_TYPE => [:predicate, :_extraPropertySet_2],
  },
  :groupTripleExpr => {
    "$" => [:unaryTripleExpr, :_groupTripleExpr_1],
    "&" => [:unaryTripleExpr, :_groupTripleExpr_1],
    "(" => [:unaryTripleExpr, :_groupTripleExpr_1],
    :IRIREF => [:unaryTripleExpr, :_groupTripleExpr_1],
    :PNAME_LN => [:unaryTripleExpr, :_groupTripleExpr_1],
    :PNAME_NS => [:unaryTripleExpr, :_groupTripleExpr_1],
    :RDF_TYPE => [:unaryTripleExpr, :_groupTripleExpr_1],
    "^" => [:unaryTripleExpr, :_groupTripleExpr_1],
  },
  :_groupTripleExpr_1 => {
    ")" => [],
    ";" => [:_groupTripleExpr_3],
    "|" => [],
    "}" => [],
  },
  :_groupTripleExpr_2 => {
    ";" => [";", :_groupTripleExpr_4],
  },
  :_groupTripleExpr_3 => {
    ";" => [:_groupTripleExpr_2, :_groupTripleExpr_1],
  },
  :_groupTripleExpr_4 => {
    "$" => [:unaryTripleExpr],
    "&" => [:unaryTripleExpr],
    "(" => [:unaryTripleExpr],
    ")" => [],
    ";" => [],
    :IRIREF => [:unaryTripleExpr],
    :PNAME_LN => [:unaryTripleExpr],
    :PNAME_NS => [:unaryTripleExpr],
    :RDF_TYPE => [:unaryTripleExpr],
    "^" => [:unaryTripleExpr],
    "|" => [],
    "}" => [],
  },
  :include => {
    "&" => ["&", :shapeLabel],
  },
  :inlineShapeAnd => {
    "(" => [:inlineShapeNot, :_inlineShapeAnd_1],
    "." => [:inlineShapeNot, :_inlineShapeAnd_1],
    "@" => [:inlineShapeNot, :_inlineShapeAnd_1],
    :ATPNAME_LN => [:inlineShapeNot, :_inlineShapeAnd_1],
    :ATPNAME_NS => [:inlineShapeNot, :_inlineShapeAnd_1],
    "BNODE" => [:inlineShapeNot, :_inlineShapeAnd_1],
    "CLOSED" => [:inlineShapeNot, :_inlineShapeAnd_1],
    "EXTRA" => [:inlineShapeNot, :_inlineShapeAnd_1],
    "FRACTIONDIGITS" => [:inlineShapeNot, :_inlineShapeAnd_1],
    "IRI" => [:inlineShapeNot, :_inlineShapeAnd_1],
    :IRIREF => [:inlineShapeNot, :_inlineShapeAnd_1],
    "LENGTH" => [:inlineShapeNot, :_inlineShapeAnd_1],
    "LITERAL" => [:inlineShapeNot, :_inlineShapeAnd_1],
    "MAXEXCLUSIVE" => [:inlineShapeNot, :_inlineShapeAnd_1],
    "MAXINCLUSIVE" => [:inlineShapeNot, :_inlineShapeAnd_1],
    "MAXLENGTH" => [:inlineShapeNot, :_inlineShapeAnd_1],
    "MINEXCLUSIVE" => [:inlineShapeNot, :_inlineShapeAnd_1],
    "MININCLUSIVE" => [:inlineShapeNot, :_inlineShapeAnd_1],
    "MINLENGTH" => [:inlineShapeNot, :_inlineShapeAnd_1],
    "NONLITERAL" => [:inlineShapeNot, :_inlineShapeAnd_1],
    "NOT" => [:inlineShapeNot, :_inlineShapeAnd_1],
    :PNAME_LN => [:inlineShapeNot, :_inlineShapeAnd_1],
    :PNAME_NS => [:inlineShapeNot, :_inlineShapeAnd_1],
    :REGEXP => [:inlineShapeNot, :_inlineShapeAnd_1],
    "TOTALDIGITS" => [:inlineShapeNot, :_inlineShapeAnd_1],
    "[" => [:inlineShapeNot, :_inlineShapeAnd_1],
    "{" => [:inlineShapeNot, :_inlineShapeAnd_1],
  },
  :_inlineShapeAnd_1 => {
    "%" => [],
    ")" => [],
    "*" => [],
    "+" => [],
    "//" => [],
    ";" => [],
    "?" => [],
    "AND" => [:_inlineShapeAnd_3],
    "OR" => [],
    :REPEAT_RANGE => [],
    "|" => [],
    "}" => [],
  },
  :_inlineShapeAnd_2 => {
    "AND" => ["AND", :inlineShapeNot],
  },
  :_inlineShapeAnd_3 => {
    "AND" => [:_inlineShapeAnd_2, :_inlineShapeAnd_1],
  },
  :inlineShapeAtom => {
    "(" => [:_inlineShapeAtom_3],
    "." => ["."],
    "@" => [:_inlineShapeAtom_2],
    :ATPNAME_LN => [:_inlineShapeAtom_2],
    :ATPNAME_NS => [:_inlineShapeAtom_2],
    "BNODE" => [:_inlineShapeAtom_1],
    "CLOSED" => [:_inlineShapeAtom_2],
    "EXTRA" => [:_inlineShapeAtom_2],
    "FRACTIONDIGITS" => [:litNodeConstraint],
    "IRI" => [:_inlineShapeAtom_1],
    :IRIREF => [:litNodeConstraint],
    "LENGTH" => [:_inlineShapeAtom_1],
    "LITERAL" => [:litNodeConstraint],
    "MAXEXCLUSIVE" => [:litNodeConstraint],
    "MAXINCLUSIVE" => [:litNodeConstraint],
    "MAXLENGTH" => [:_inlineShapeAtom_1],
    "MINEXCLUSIVE" => [:litNodeConstraint],
    "MININCLUSIVE" => [:litNodeConstraint],
    "MINLENGTH" => [:_inlineShapeAtom_1],
    "NONLITERAL" => [:_inlineShapeAtom_1],
    :PNAME_LN => [:litNodeConstraint],
    :PNAME_NS => [:litNodeConstraint],
    :REGEXP => [:_inlineShapeAtom_1],
    "TOTALDIGITS" => [:litNodeConstraint],
    "[" => [:litNodeConstraint],
    "{" => [:_inlineShapeAtom_2],
  },
  :_inlineShapeAtom_1 => {
    "BNODE" => [:nonLitNodeConstraint, :_inlineShapeAtom_4],
    "IRI" => [:nonLitNodeConstraint, :_inlineShapeAtom_4],
    "LENGTH" => [:nonLitNodeConstraint, :_inlineShapeAtom_4],
    "MAXLENGTH" => [:nonLitNodeConstraint, :_inlineShapeAtom_4],
    "MINLENGTH" => [:nonLitNodeConstraint, :_inlineShapeAtom_4],
    "NONLITERAL" => [:nonLitNodeConstraint, :_inlineShapeAtom_4],
    :REGEXP => [:nonLitNodeConstraint, :_inlineShapeAtom_4],
  },
  :_inlineShapeAtom_2 => {
    "@" => [:inlineShapeOrRef, :_inlineShapeAtom_5],
    :ATPNAME_LN => [:inlineShapeOrRef, :_inlineShapeAtom_5],
    :ATPNAME_NS => [:inlineShapeOrRef, :_inlineShapeAtom_5],
    "CLOSED" => [:inlineShapeOrRef, :_inlineShapeAtom_5],
    "EXTRA" => [:inlineShapeOrRef, :_inlineShapeAtom_5],
    "{" => [:inlineShapeOrRef, :_inlineShapeAtom_5],
  },
  :_inlineShapeAtom_3 => {
    "(" => ["(", :shapeExpression, ")"],
  },
  :_inlineShapeAtom_4 => {
    "%" => [],
    ")" => [],
    "*" => [],
    "+" => [],
    "//" => [],
    ";" => [],
    "?" => [],
    "@" => [:inlineShapeOrRef],
    "AND" => [],
    :ATPNAME_LN => [:inlineShapeOrRef],
    :ATPNAME_NS => [:inlineShapeOrRef],
    "CLOSED" => [:inlineShapeOrRef],
    "EXTRA" => [:inlineShapeOrRef],
    "OR" => [],
    :REPEAT_RANGE => [],
    "{" => [:inlineShapeOrRef],
    "|" => [],
    "}" => [],
  },
  :_inlineShapeAtom_5 => {
    "%" => [],
    ")" => [],
    "*" => [],
    "+" => [],
    "//" => [],
    ";" => [],
    "?" => [],
    "AND" => [],
    "BNODE" => [:nonLitNodeConstraint],
    "IRI" => [:nonLitNodeConstraint],
    "LENGTH" => [:nonLitNodeConstraint],
    "MAXLENGTH" => [:nonLitNodeConstraint],
    "MINLENGTH" => [:nonLitNodeConstraint],
    "NONLITERAL" => [:nonLitNodeConstraint],
    "OR" => [],
    :REGEXP => [:nonLitNodeConstraint],
    :REPEAT_RANGE => [],
    "|" => [],
    "}" => [],
  },
  :inlineShapeDefinition => {
    "CLOSED" => [:_inlineShapeDefinition_1, "{", :_inlineShapeDefinition_2, "}"],
    "EXTRA" => [:_inlineShapeDefinition_1, "{", :_inlineShapeDefinition_2, "}"],
    "{" => [:_inlineShapeDefinition_1, "{", :_inlineShapeDefinition_2, "}"],
  },
  :_inlineShapeDefinition_1 => {
    "CLOSED" => [:_inlineShapeDefinition_4],
    "EXTRA" => [:_inlineShapeDefinition_4],
    "{" => [],
  },
  :_inlineShapeDefinition_2 => {
    "$" => [:tripleExpression],
    "&" => [:tripleExpression],
    "(" => [:tripleExpression],
    :IRIREF => [:tripleExpression],
    :PNAME_LN => [:tripleExpression],
    :PNAME_NS => [:tripleExpression],
    :RDF_TYPE => [:tripleExpression],
    "^" => [:tripleExpression],
    "}" => [],
  },
  :_inlineShapeDefinition_3 => {
    "CLOSED" => ["CLOSED"],
    "EXTRA" => [:extraPropertySet],
    :includeSet => [:includeSet],
  },
  :_inlineShapeDefinition_4 => {
    "CLOSED" => [:_inlineShapeDefinition_3, :_inlineShapeDefinition_1],
    "EXTRA" => [:_inlineShapeDefinition_3, :_inlineShapeDefinition_1],
  },
  :inlineShapeExpression => {
    "(" => [:inlineShapeOr],
    "." => [:inlineShapeOr],
    "@" => [:inlineShapeOr],
    :ATPNAME_LN => [:inlineShapeOr],
    :ATPNAME_NS => [:inlineShapeOr],
    "BNODE" => [:inlineShapeOr],
    "CLOSED" => [:inlineShapeOr],
    "EXTRA" => [:inlineShapeOr],
    "FRACTIONDIGITS" => [:inlineShapeOr],
    "IRI" => [:inlineShapeOr],
    :IRIREF => [:inlineShapeOr],
    "LENGTH" => [:inlineShapeOr],
    "LITERAL" => [:inlineShapeOr],
    "MAXEXCLUSIVE" => [:inlineShapeOr],
    "MAXINCLUSIVE" => [:inlineShapeOr],
    "MAXLENGTH" => [:inlineShapeOr],
    "MINEXCLUSIVE" => [:inlineShapeOr],
    "MININCLUSIVE" => [:inlineShapeOr],
    "MINLENGTH" => [:inlineShapeOr],
    "NONLITERAL" => [:inlineShapeOr],
    "NOT" => [:inlineShapeOr],
    :PNAME_LN => [:inlineShapeOr],
    :PNAME_NS => [:inlineShapeOr],
    :REGEXP => [:inlineShapeOr],
    "TOTALDIGITS" => [:inlineShapeOr],
    "[" => [:inlineShapeOr],
    "{" => [:inlineShapeOr],
  },
  :inlineShapeNot => {
    "(" => [:_inlineShapeNot_1, :inlineShapeAtom],
    "." => [:_inlineShapeNot_1, :inlineShapeAtom],
    "@" => [:_inlineShapeNot_1, :inlineShapeAtom],
    :ATPNAME_LN => [:_inlineShapeNot_1, :inlineShapeAtom],
    :ATPNAME_NS => [:_inlineShapeNot_1, :inlineShapeAtom],
    "BNODE" => [:_inlineShapeNot_1, :inlineShapeAtom],
    "CLOSED" => [:_inlineShapeNot_1, :inlineShapeAtom],
    "EXTRA" => [:_inlineShapeNot_1, :inlineShapeAtom],
    "FRACTIONDIGITS" => [:_inlineShapeNot_1, :inlineShapeAtom],
    "IRI" => [:_inlineShapeNot_1, :inlineShapeAtom],
    :IRIREF => [:_inlineShapeNot_1, :inlineShapeAtom],
    "LENGTH" => [:_inlineShapeNot_1, :inlineShapeAtom],
    "LITERAL" => [:_inlineShapeNot_1, :inlineShapeAtom],
    "MAXEXCLUSIVE" => [:_inlineShapeNot_1, :inlineShapeAtom],
    "MAXINCLUSIVE" => [:_inlineShapeNot_1, :inlineShapeAtom],
    "MAXLENGTH" => [:_inlineShapeNot_1, :inlineShapeAtom],
    "MINEXCLUSIVE" => [:_inlineShapeNot_1, :inlineShapeAtom],
    "MININCLUSIVE" => [:_inlineShapeNot_1, :inlineShapeAtom],
    "MINLENGTH" => [:_inlineShapeNot_1, :inlineShapeAtom],
    "NONLITERAL" => [:_inlineShapeNot_1, :inlineShapeAtom],
    "NOT" => [:_inlineShapeNot_1, :inlineShapeAtom],
    :PNAME_LN => [:_inlineShapeNot_1, :inlineShapeAtom],
    :PNAME_NS => [:_inlineShapeNot_1, :inlineShapeAtom],
    :REGEXP => [:_inlineShapeNot_1, :inlineShapeAtom],
    "TOTALDIGITS" => [:_inlineShapeNot_1, :inlineShapeAtom],
    "[" => [:_inlineShapeNot_1, :inlineShapeAtom],
    "{" => [:_inlineShapeNot_1, :inlineShapeAtom],
  },
  :_inlineShapeNot_1 => {
    "(" => [],
    "." => [],
    "@" => [],
    :ATPNAME_LN => [],
    :ATPNAME_NS => [],
    "BNODE" => [],
    "CLOSED" => [],
    "EXTRA" => [],
    "FRACTIONDIGITS" => [],
    "IRI" => [],
    :IRIREF => [],
    "LENGTH" => [],
    "LITERAL" => [],
    "MAXEXCLUSIVE" => [],
    "MAXINCLUSIVE" => [],
    "MAXLENGTH" => [],
    "MINEXCLUSIVE" => [],
    "MININCLUSIVE" => [],
    "MINLENGTH" => [],
    "NONLITERAL" => [],
    "NOT" => ["NOT"],
    :PNAME_LN => [],
    :PNAME_NS => [],
    :REGEXP => [],
    "TOTALDIGITS" => [],
    "[" => [],
    "{" => [],
  },
  :inlineShapeOr => {
    "(" => [:inlineShapeAnd, :_inlineShapeOr_1],
    "." => [:inlineShapeAnd, :_inlineShapeOr_1],
    "@" => [:inlineShapeAnd, :_inlineShapeOr_1],
    :ATPNAME_LN => [:inlineShapeAnd, :_inlineShapeOr_1],
    :ATPNAME_NS => [:inlineShapeAnd, :_inlineShapeOr_1],
    "BNODE" => [:inlineShapeAnd, :_inlineShapeOr_1],
    "CLOSED" => [:inlineShapeAnd, :_inlineShapeOr_1],
    "EXTRA" => [:inlineShapeAnd, :_inlineShapeOr_1],
    "FRACTIONDIGITS" => [:inlineShapeAnd, :_inlineShapeOr_1],
    "IRI" => [:inlineShapeAnd, :_inlineShapeOr_1],
    :IRIREF => [:inlineShapeAnd, :_inlineShapeOr_1],
    "LENGTH" => [:inlineShapeAnd, :_inlineShapeOr_1],
    "LITERAL" => [:inlineShapeAnd, :_inlineShapeOr_1],
    "MAXEXCLUSIVE" => [:inlineShapeAnd, :_inlineShapeOr_1],
    "MAXINCLUSIVE" => [:inlineShapeAnd, :_inlineShapeOr_1],
    "MAXLENGTH" => [:inlineShapeAnd, :_inlineShapeOr_1],
    "MINEXCLUSIVE" => [:inlineShapeAnd, :_inlineShapeOr_1],
    "MININCLUSIVE" => [:inlineShapeAnd, :_inlineShapeOr_1],
    "MINLENGTH" => [:inlineShapeAnd, :_inlineShapeOr_1],
    "NONLITERAL" => [:inlineShapeAnd, :_inlineShapeOr_1],
    "NOT" => [:inlineShapeAnd, :_inlineShapeOr_1],
    :PNAME_LN => [:inlineShapeAnd, :_inlineShapeOr_1],
    :PNAME_NS => [:inlineShapeAnd, :_inlineShapeOr_1],
    :REGEXP => [:inlineShapeAnd, :_inlineShapeOr_1],
    "TOTALDIGITS" => [:inlineShapeAnd, :_inlineShapeOr_1],
    "[" => [:inlineShapeAnd, :_inlineShapeOr_1],
    "{" => [:inlineShapeAnd, :_inlineShapeOr_1],
  },
  :inlineShapeOrRef => {
    "@" => [:shapeRef],
    :ATPNAME_LN => [:shapeRef],
    :ATPNAME_NS => [:shapeRef],
    "CLOSED" => [:inlineShapeDefinition],
    "EXTRA" => [:inlineShapeDefinition],
    "{" => [:inlineShapeDefinition],
  },
  :_inlineShapeOr_1 => {
    "%" => [],
    ")" => [],
    "*" => [],
    "+" => [],
    "//" => [],
    ";" => [],
    "?" => [],
    "OR" => [:_inlineShapeOr_3],
    :REPEAT_RANGE => [],
    "|" => [],
    "}" => [],
  },
  :_inlineShapeOr_2 => {
    "OR" => ["OR", :inlineShapeAnd],
  },
  :_inlineShapeOr_3 => {
    "OR" => [:_inlineShapeOr_2, :_inlineShapeOr_1],
  },
  :iri => {
    :IRIREF => [:IRIREF],
    :PNAME_LN => [:prefixedName],
    :PNAME_NS => [:prefixedName],
  },
  :iriExclusion => {
    "-" => ["-", :iri, :_iriExclusion_1],
  },
  :_iriExclusion_1 => {
    "-" => [],
    "." => [],
    :DECIMAL => [],
    :DOUBLE => [],
    :INTEGER => [],
    :IRIREF => [],
    :LANGTAG => [],
    :LANG_STRING_LITERAL1 => [],
    :LANG_STRING_LITERAL2 => [],
    :LANG_STRING_LITERAL_LONG1 => [],
    :LANG_STRING_LITERAL_LONG2 => [],
    :PNAME_LN => [],
    :PNAME_NS => [],
    :STRING_LITERAL1 => [],
    :STRING_LITERAL2 => [],
    :STRING_LITERAL_LONG1 => [],
    :STRING_LITERAL_LONG2 => [],
    "]" => [],
    "false" => [],
    "true" => [],
    "~" => ["~"],
  },
  :iriRange => {
    :IRIREF => [:iri, :_iriRange_1],
    :PNAME_LN => [:iri, :_iriRange_1],
    :PNAME_NS => [:iri, :_iriRange_1],
  },
  :_iriRange_1 => {
    "." => [],
    :DECIMAL => [],
    :DOUBLE => [],
    :INTEGER => [],
    :IRIREF => [],
    :LANGTAG => [],
    :LANG_STRING_LITERAL1 => [],
    :LANG_STRING_LITERAL2 => [],
    :LANG_STRING_LITERAL_LONG1 => [],
    :LANG_STRING_LITERAL_LONG2 => [],
    :PNAME_LN => [],
    :PNAME_NS => [],
    :STRING_LITERAL1 => [],
    :STRING_LITERAL2 => [],
    :STRING_LITERAL_LONG1 => [],
    :STRING_LITERAL_LONG2 => [],
    "]" => [],
    "false" => [],
    "true" => [],
    "~" => [:_iriRange_2],
  },
  :_iriRange_2 => {
    "~" => ["~", :_iriRange_3],
  },
  :_iriRange_3 => {
    "-" => [:_iriRange_4],
    "." => [],
    :DECIMAL => [],
    :DOUBLE => [],
    :INTEGER => [],
    :IRIREF => [],
    :LANGTAG => [],
    :LANG_STRING_LITERAL1 => [],
    :LANG_STRING_LITERAL2 => [],
    :LANG_STRING_LITERAL_LONG1 => [],
    :LANG_STRING_LITERAL_LONG2 => [],
    :PNAME_LN => [],
    :PNAME_NS => [],
    :STRING_LITERAL1 => [],
    :STRING_LITERAL2 => [],
    :STRING_LITERAL_LONG1 => [],
    :STRING_LITERAL_LONG2 => [],
    "]" => [],
    "false" => [],
    "true" => [],
  },
  :_iriRange_4 => {
    "-" => [:iriExclusion, :_iriRange_3],
  },
  :langString => {
    :LANG_STRING_LITERAL1 => [:LANG_STRING_LITERAL1],
    :LANG_STRING_LITERAL2 => [:LANG_STRING_LITERAL2],
    :LANG_STRING_LITERAL_LONG1 => [:LANG_STRING_LITERAL_LONG1],
    :LANG_STRING_LITERAL_LONG2 => [:LANG_STRING_LITERAL_LONG2],
  },
  :languageExclusion => {
    "-" => ["-", :LANGTAG, :_languageExclusion_1],
  },
  :_languageExclusion_1 => {
    "-" => [],
    "." => [],
    :DECIMAL => [],
    :DOUBLE => [],
    :INTEGER => [],
    :IRIREF => [],
    :LANGTAG => [],
    :LANG_STRING_LITERAL1 => [],
    :LANG_STRING_LITERAL2 => [],
    :LANG_STRING_LITERAL_LONG1 => [],
    :LANG_STRING_LITERAL_LONG2 => [],
    :PNAME_LN => [],
    :PNAME_NS => [],
    :STRING_LITERAL1 => [],
    :STRING_LITERAL2 => [],
    :STRING_LITERAL_LONG1 => [],
    :STRING_LITERAL_LONG2 => [],
    "]" => [],
    "false" => [],
    "true" => [],
    "~" => ["~"],
  },
  :languageRange => {
    :LANGTAG => [:LANGTAG, :_languageRange_1],
  },
  :_languageRange_1 => {
    "." => [],
    :DECIMAL => [],
    :DOUBLE => [],
    :INTEGER => [],
    :IRIREF => [],
    :LANGTAG => [],
    :LANG_STRING_LITERAL1 => [],
    :LANG_STRING_LITERAL2 => [],
    :LANG_STRING_LITERAL_LONG1 => [],
    :LANG_STRING_LITERAL_LONG2 => [],
    :PNAME_LN => [],
    :PNAME_NS => [],
    :STRING_LITERAL1 => [],
    :STRING_LITERAL2 => [],
    :STRING_LITERAL_LONG1 => [],
    :STRING_LITERAL_LONG2 => [],
    "]" => [],
    "false" => [],
    "true" => [],
    "~" => [:_languageRange_2],
  },
  :_languageRange_2 => {
    "~" => ["~", :_languageRange_3],
  },
  :_languageRange_3 => {
    "-" => [:_languageRange_4],
    "." => [],
    :DECIMAL => [],
    :DOUBLE => [],
    :INTEGER => [],
    :IRIREF => [],
    :LANGTAG => [],
    :LANG_STRING_LITERAL1 => [],
    :LANG_STRING_LITERAL2 => [],
    :LANG_STRING_LITERAL_LONG1 => [],
    :LANG_STRING_LITERAL_LONG2 => [],
    :PNAME_LN => [],
    :PNAME_NS => [],
    :STRING_LITERAL1 => [],
    :STRING_LITERAL2 => [],
    :STRING_LITERAL_LONG1 => [],
    :STRING_LITERAL_LONG2 => [],
    "]" => [],
    "false" => [],
    "true" => [],
  },
  :_languageRange_4 => {
    "-" => [:languageExclusion, :_languageRange_3],
  },
  :litNodeConstraint => {
    "FRACTIONDIGITS" => [:_litNodeConstraint_4],
    :IRIREF => [:_litNodeConstraint_2],
    "LITERAL" => [:_litNodeConstraint_1],
    "MAXEXCLUSIVE" => [:_litNodeConstraint_4],
    "MAXINCLUSIVE" => [:_litNodeConstraint_4],
    "MINEXCLUSIVE" => [:_litNodeConstraint_4],
    "MININCLUSIVE" => [:_litNodeConstraint_4],
    :PNAME_LN => [:_litNodeConstraint_2],
    :PNAME_NS => [:_litNodeConstraint_2],
    "TOTALDIGITS" => [:_litNodeConstraint_4],
    "[" => [:_litNodeConstraint_3],
  },
  :_litNodeConstraint_1 => {
    "LITERAL" => ["LITERAL", :_litNodeConstraint_5],
  },
  :_litNodeConstraint_10 => {
    "FRACTIONDIGITS" => [:xsFacet, :_litNodeConstraint_9],
    "LENGTH" => [:xsFacet, :_litNodeConstraint_9],
    "MAXEXCLUSIVE" => [:xsFacet, :_litNodeConstraint_9],
    "MAXINCLUSIVE" => [:xsFacet, :_litNodeConstraint_9],
    "MAXLENGTH" => [:xsFacet, :_litNodeConstraint_9],
    "MINEXCLUSIVE" => [:xsFacet, :_litNodeConstraint_9],
    "MININCLUSIVE" => [:xsFacet, :_litNodeConstraint_9],
    "MINLENGTH" => [:xsFacet, :_litNodeConstraint_9],
    :REGEXP => [:xsFacet, :_litNodeConstraint_9],
    "TOTALDIGITS" => [:xsFacet, :_litNodeConstraint_9],
  },
  :_litNodeConstraint_11 => {
    "%" => [],
    ")" => [],
    "*" => [],
    "+" => [],
    "//" => [],
    ";" => [],
    "?" => [],
    "AND" => [],
    "BASE" => [],
    :BLANK_NODE_LABEL => [],
    "FRACTIONDIGITS" => [:_litNodeConstraint_12],
    :IRIREF => [],
    "MAXEXCLUSIVE" => [:_litNodeConstraint_12],
    "MAXINCLUSIVE" => [:_litNodeConstraint_12],
    "MINEXCLUSIVE" => [:_litNodeConstraint_12],
    "MININCLUSIVE" => [:_litNodeConstraint_12],
    "OR" => [],
    :PNAME_LN => [],
    :PNAME_NS => [],
    "PREFIX" => [],
    :REPEAT_RANGE => [],
    "START" => [],
    "TOTALDIGITS" => [:_litNodeConstraint_12],
    "|" => [],
    "}" => [],
  },
  :_litNodeConstraint_12 => {
    "FRACTIONDIGITS" => [:numericFacet, :_litNodeConstraint_11],
    "MAXEXCLUSIVE" => [:numericFacet, :_litNodeConstraint_11],
    "MAXINCLUSIVE" => [:numericFacet, :_litNodeConstraint_11],
    "MINEXCLUSIVE" => [:numericFacet, :_litNodeConstraint_11],
    "MININCLUSIVE" => [:numericFacet, :_litNodeConstraint_11],
    "TOTALDIGITS" => [:numericFacet, :_litNodeConstraint_11],
  },
  :_litNodeConstraint_2 => {
    :IRIREF => [:datatype, :_litNodeConstraint_7],
    :PNAME_LN => [:datatype, :_litNodeConstraint_7],
    :PNAME_NS => [:datatype, :_litNodeConstraint_7],
  },
  :_litNodeConstraint_3 => {
    "[" => [:valueSet, :_litNodeConstraint_9],
  },
  :_litNodeConstraint_4 => {
    "FRACTIONDIGITS" => [:numericFacet, :_litNodeConstraint_11],
    "MAXEXCLUSIVE" => [:numericFacet, :_litNodeConstraint_11],
    "MAXINCLUSIVE" => [:numericFacet, :_litNodeConstraint_11],
    "MINEXCLUSIVE" => [:numericFacet, :_litNodeConstraint_11],
    "MININCLUSIVE" => [:numericFacet, :_litNodeConstraint_11],
    "TOTALDIGITS" => [:numericFacet, :_litNodeConstraint_11],
  },
  :_litNodeConstraint_5 => {
    "%" => [],
    ")" => [],
    "*" => [],
    "+" => [],
    "//" => [],
    ";" => [],
    "?" => [],
    "AND" => [],
    "BASE" => [],
    :BLANK_NODE_LABEL => [],
    "FRACTIONDIGITS" => [:_litNodeConstraint_6],
    :IRIREF => [],
    "LENGTH" => [:_litNodeConstraint_6],
    "MAXEXCLUSIVE" => [:_litNodeConstraint_6],
    "MAXINCLUSIVE" => [:_litNodeConstraint_6],
    "MAXLENGTH" => [:_litNodeConstraint_6],
    "MINEXCLUSIVE" => [:_litNodeConstraint_6],
    "MININCLUSIVE" => [:_litNodeConstraint_6],
    "MINLENGTH" => [:_litNodeConstraint_6],
    "OR" => [],
    :PNAME_LN => [],
    :PNAME_NS => [],
    "PREFIX" => [],
    :REGEXP => [:_litNodeConstraint_6],
    :REPEAT_RANGE => [],
    "START" => [],
    "TOTALDIGITS" => [:_litNodeConstraint_6],
    "|" => [],
    "}" => [],
  },
  :_litNodeConstraint_6 => {
    "FRACTIONDIGITS" => [:xsFacet, :_litNodeConstraint_5],
    "LENGTH" => [:xsFacet, :_litNodeConstraint_5],
    "MAXEXCLUSIVE" => [:xsFacet, :_litNodeConstraint_5],
    "MAXINCLUSIVE" => [:xsFacet, :_litNodeConstraint_5],
    "MAXLENGTH" => [:xsFacet, :_litNodeConstraint_5],
    "MINEXCLUSIVE" => [:xsFacet, :_litNodeConstraint_5],
    "MININCLUSIVE" => [:xsFacet, :_litNodeConstraint_5],
    "MINLENGTH" => [:xsFacet, :_litNodeConstraint_5],
    :REGEXP => [:xsFacet, :_litNodeConstraint_5],
    "TOTALDIGITS" => [:xsFacet, :_litNodeConstraint_5],
  },
  :_litNodeConstraint_7 => {
    "%" => [],
    ")" => [],
    "*" => [],
    "+" => [],
    "//" => [],
    ";" => [],
    "?" => [],
    "AND" => [],
    "BASE" => [],
    :BLANK_NODE_LABEL => [],
    "FRACTIONDIGITS" => [:_litNodeConstraint_8],
    :IRIREF => [],
    "LENGTH" => [:_litNodeConstraint_8],
    "MAXEXCLUSIVE" => [:_litNodeConstraint_8],
    "MAXINCLUSIVE" => [:_litNodeConstraint_8],
    "MAXLENGTH" => [:_litNodeConstraint_8],
    "MINEXCLUSIVE" => [:_litNodeConstraint_8],
    "MININCLUSIVE" => [:_litNodeConstraint_8],
    "MINLENGTH" => [:_litNodeConstraint_8],
    "OR" => [],
    :PNAME_LN => [],
    :PNAME_NS => [],
    "PREFIX" => [],
    :REGEXP => [:_litNodeConstraint_8],
    :REPEAT_RANGE => [],
    "START" => [],
    "TOTALDIGITS" => [:_litNodeConstraint_8],
    "|" => [],
    "}" => [],
  },
  :_litNodeConstraint_8 => {
    "FRACTIONDIGITS" => [:xsFacet, :_litNodeConstraint_7],
    "LENGTH" => [:xsFacet, :_litNodeConstraint_7],
    "MAXEXCLUSIVE" => [:xsFacet, :_litNodeConstraint_7],
    "MAXINCLUSIVE" => [:xsFacet, :_litNodeConstraint_7],
    "MAXLENGTH" => [:xsFacet, :_litNodeConstraint_7],
    "MINEXCLUSIVE" => [:xsFacet, :_litNodeConstraint_7],
    "MININCLUSIVE" => [:xsFacet, :_litNodeConstraint_7],
    "MINLENGTH" => [:xsFacet, :_litNodeConstraint_7],
    :REGEXP => [:xsFacet, :_litNodeConstraint_7],
    "TOTALDIGITS" => [:xsFacet, :_litNodeConstraint_7],
  },
  :_litNodeConstraint_9 => {
    "%" => [],
    ")" => [],
    "*" => [],
    "+" => [],
    "//" => [],
    ";" => [],
    "?" => [],
    "AND" => [],
    "BASE" => [],
    :BLANK_NODE_LABEL => [],
    "FRACTIONDIGITS" => [:_litNodeConstraint_10],
    :IRIREF => [],
    "LENGTH" => [:_litNodeConstraint_10],
    "MAXEXCLUSIVE" => [:_litNodeConstraint_10],
    "MAXINCLUSIVE" => [:_litNodeConstraint_10],
    "MAXLENGTH" => [:_litNodeConstraint_10],
    "MINEXCLUSIVE" => [:_litNodeConstraint_10],
    "MININCLUSIVE" => [:_litNodeConstraint_10],
    "MINLENGTH" => [:_litNodeConstraint_10],
    "OR" => [],
    :PNAME_LN => [],
    :PNAME_NS => [],
    "PREFIX" => [],
    :REGEXP => [:_litNodeConstraint_10],
    :REPEAT_RANGE => [],
    "START" => [],
    "TOTALDIGITS" => [:_litNodeConstraint_10],
    "|" => [],
    "}" => [],
  },
  :literal => {
    :DECIMAL => [:numericLiteral],
    :DOUBLE => [:numericLiteral],
    :INTEGER => [:numericLiteral],
    :LANG_STRING_LITERAL1 => [:rdfLiteral],
    :LANG_STRING_LITERAL2 => [:rdfLiteral],
    :LANG_STRING_LITERAL_LONG1 => [:rdfLiteral],
    :LANG_STRING_LITERAL_LONG2 => [:rdfLiteral],
    :STRING_LITERAL1 => [:rdfLiteral],
    :STRING_LITERAL2 => [:rdfLiteral],
    :STRING_LITERAL_LONG1 => [:rdfLiteral],
    :STRING_LITERAL_LONG2 => [:rdfLiteral],
    "false" => [:booleanLiteral],
    "true" => [:booleanLiteral],
  },
  :literalExclusion => {
    "-" => ["-", :literal, :_literalExclusion_1],
  },
  :_literalExclusion_1 => {
    "-" => [],
    "." => [],
    :DECIMAL => [],
    :DOUBLE => [],
    :INTEGER => [],
    :IRIREF => [],
    :LANGTAG => [],
    :LANG_STRING_LITERAL1 => [],
    :LANG_STRING_LITERAL2 => [],
    :LANG_STRING_LITERAL_LONG1 => [],
    :LANG_STRING_LITERAL_LONG2 => [],
    :PNAME_LN => [],
    :PNAME_NS => [],
    :STRING_LITERAL1 => [],
    :STRING_LITERAL2 => [],
    :STRING_LITERAL_LONG1 => [],
    :STRING_LITERAL_LONG2 => [],
    "]" => [],
    "false" => [],
    "true" => [],
    "~" => ["~"],
  },
  :literalRange => {
    :DECIMAL => [:literal, :_literalRange_1],
    :DOUBLE => [:literal, :_literalRange_1],
    :INTEGER => [:literal, :_literalRange_1],
    :LANG_STRING_LITERAL1 => [:literal, :_literalRange_1],
    :LANG_STRING_LITERAL2 => [:literal, :_literalRange_1],
    :LANG_STRING_LITERAL_LONG1 => [:literal, :_literalRange_1],
    :LANG_STRING_LITERAL_LONG2 => [:literal, :_literalRange_1],
    :STRING_LITERAL1 => [:literal, :_literalRange_1],
    :STRING_LITERAL2 => [:literal, :_literalRange_1],
    :STRING_LITERAL_LONG1 => [:literal, :_literalRange_1],
    :STRING_LITERAL_LONG2 => [:literal, :_literalRange_1],
    "false" => [:literal, :_literalRange_1],
    "true" => [:literal, :_literalRange_1],
  },
  :_literalRange_1 => {
    "." => [],
    :DECIMAL => [],
    :DOUBLE => [],
    :INTEGER => [],
    :IRIREF => [],
    :LANGTAG => [],
    :LANG_STRING_LITERAL1 => [],
    :LANG_STRING_LITERAL2 => [],
    :LANG_STRING_LITERAL_LONG1 => [],
    :LANG_STRING_LITERAL_LONG2 => [],
    :PNAME_LN => [],
    :PNAME_NS => [],
    :STRING_LITERAL1 => [],
    :STRING_LITERAL2 => [],
    :STRING_LITERAL_LONG1 => [],
    :STRING_LITERAL_LONG2 => [],
    "]" => [],
    "false" => [],
    "true" => [],
    "~" => [:_literalRange_2],
  },
  :_literalRange_2 => {
    "~" => ["~", :_literalRange_3],
  },
  :_literalRange_3 => {
    "-" => [:_literalRange_4],
    "." => [],
    :DECIMAL => [],
    :DOUBLE => [],
    :INTEGER => [],
    :IRIREF => [],
    :LANGTAG => [],
    :LANG_STRING_LITERAL1 => [],
    :LANG_STRING_LITERAL2 => [],
    :LANG_STRING_LITERAL_LONG1 => [],
    :LANG_STRING_LITERAL_LONG2 => [],
    :PNAME_LN => [],
    :PNAME_NS => [],
    :STRING_LITERAL1 => [],
    :STRING_LITERAL2 => [],
    :STRING_LITERAL_LONG1 => [],
    :STRING_LITERAL_LONG2 => [],
    "]" => [],
    "false" => [],
    "true" => [],
  },
  :_literalRange_4 => {
    "-" => [:literalExclusion, :_literalRange_3],
  },
  :nonLitNodeConstraint => {
    "BNODE" => [:_nonLitNodeConstraint_1],
    "IRI" => [:_nonLitNodeConstraint_1],
    "LENGTH" => [:_nonLitNodeConstraint_2],
    "MAXLENGTH" => [:_nonLitNodeConstraint_2],
    "MINLENGTH" => [:_nonLitNodeConstraint_2],
    "NONLITERAL" => [:_nonLitNodeConstraint_1],
    :REGEXP => [:_nonLitNodeConstraint_2],
  },
  :_nonLitNodeConstraint_1 => {
    "BNODE" => [:nonLiteralKind, :_nonLitNodeConstraint_3],
    "IRI" => [:nonLiteralKind, :_nonLitNodeConstraint_3],
    "NONLITERAL" => [:nonLiteralKind, :_nonLitNodeConstraint_3],
  },
  :_nonLitNodeConstraint_2 => {
    "LENGTH" => [:stringFacet, :_nonLitNodeConstraint_5],
    "MAXLENGTH" => [:stringFacet, :_nonLitNodeConstraint_5],
    "MINLENGTH" => [:stringFacet, :_nonLitNodeConstraint_5],
    :REGEXP => [:stringFacet, :_nonLitNodeConstraint_5],
  },
  :_nonLitNodeConstraint_3 => {
    "%" => [],
    ")" => [],
    "*" => [],
    "+" => [],
    "//" => [],
    ";" => [],
    "?" => [],
    "@" => [],
    "AND" => [],
    :ATPNAME_LN => [],
    :ATPNAME_NS => [],
    "BASE" => [],
    :BLANK_NODE_LABEL => [],
    "CLOSED" => [],
    "EXTRA" => [],
    :IRIREF => [],
    "LENGTH" => [:_nonLitNodeConstraint_4],
    "MAXLENGTH" => [:_nonLitNodeConstraint_4],
    "MINLENGTH" => [:_nonLitNodeConstraint_4],
    "OR" => [],
    :PNAME_LN => [],
    :PNAME_NS => [],
    "PREFIX" => [],
    :REGEXP => [:_nonLitNodeConstraint_4],
    :REPEAT_RANGE => [],
    "START" => [],
    "{" => [],
    "|" => [],
    "}" => [],
  },
  :_nonLitNodeConstraint_4 => {
    "LENGTH" => [:stringFacet, :_nonLitNodeConstraint_3],
    "MAXLENGTH" => [:stringFacet, :_nonLitNodeConstraint_3],
    "MINLENGTH" => [:stringFacet, :_nonLitNodeConstraint_3],
    :REGEXP => [:stringFacet, :_nonLitNodeConstraint_3],
  },
  :_nonLitNodeConstraint_5 => {
    "%" => [],
    ")" => [],
    "*" => [],
    "+" => [],
    "//" => [],
    ";" => [],
    "?" => [],
    "@" => [],
    "AND" => [],
    :ATPNAME_LN => [],
    :ATPNAME_NS => [],
    "BASE" => [],
    :BLANK_NODE_LABEL => [],
    "CLOSED" => [],
    "EXTRA" => [],
    :IRIREF => [],
    "LENGTH" => [:_nonLitNodeConstraint_6],
    "MAXLENGTH" => [:_nonLitNodeConstraint_6],
    "MINLENGTH" => [:_nonLitNodeConstraint_6],
    "OR" => [],
    :PNAME_LN => [],
    :PNAME_NS => [],
    "PREFIX" => [],
    :REGEXP => [:_nonLitNodeConstraint_6],
    :REPEAT_RANGE => [],
    "START" => [],
    "{" => [],
    "|" => [],
    "}" => [],
  },
  :_nonLitNodeConstraint_6 => {
    "LENGTH" => [:stringFacet, :_nonLitNodeConstraint_5],
    "MAXLENGTH" => [:stringFacet, :_nonLitNodeConstraint_5],
    "MINLENGTH" => [:stringFacet, :_nonLitNodeConstraint_5],
    :REGEXP => [:stringFacet, :_nonLitNodeConstraint_5],
  },
  :nonLiteralKind => {
    "BNODE" => ["BNODE"],
    "IRI" => ["IRI"],
    "NONLITERAL" => ["NONLITERAL"],
  },
  :notStartAction => {
    :BLANK_NODE_LABEL => [:shapeExprDecl],
    :IRIREF => [:shapeExprDecl],
    :PNAME_LN => [:shapeExprDecl],
    :PNAME_NS => [:shapeExprDecl],
    "START" => [:start],
  },
  :numericFacet => {
    "FRACTIONDIGITS" => [:_numericFacet_2],
    "MAXEXCLUSIVE" => [:_numericFacet_1],
    "MAXINCLUSIVE" => [:_numericFacet_1],
    "MINEXCLUSIVE" => [:_numericFacet_1],
    "MININCLUSIVE" => [:_numericFacet_1],
    "TOTALDIGITS" => [:_numericFacet_2],
  },
  :_numericFacet_1 => {
    "MAXEXCLUSIVE" => [:numericRange, :numericLiteral],
    "MAXINCLUSIVE" => [:numericRange, :numericLiteral],
    "MINEXCLUSIVE" => [:numericRange, :numericLiteral],
    "MININCLUSIVE" => [:numericRange, :numericLiteral],
  },
  :_numericFacet_2 => {
    "FRACTIONDIGITS" => [:numericLength, :INTEGER],
    "TOTALDIGITS" => [:numericLength, :INTEGER],
  },
  :numericLength => {
    "FRACTIONDIGITS" => ["FRACTIONDIGITS"],
    "TOTALDIGITS" => ["TOTALDIGITS"],
  },
  :numericLiteral => {
    :DECIMAL => [:DECIMAL],
    :DOUBLE => [:DOUBLE],
    :INTEGER => [:INTEGER],
  },
  :numericRange => {
    "MAXEXCLUSIVE" => ["MAXEXCLUSIVE"],
    "MAXINCLUSIVE" => ["MAXINCLUSIVE"],
    "MINEXCLUSIVE" => ["MINEXCLUSIVE"],
    "MININCLUSIVE" => ["MININCLUSIVE"],
  },
  :oneOfTripleExpr => {
    "$" => [:groupTripleExpr, :_oneOfTripleExpr_1],
    "&" => [:groupTripleExpr, :_oneOfTripleExpr_1],
    "(" => [:groupTripleExpr, :_oneOfTripleExpr_1],
    :IRIREF => [:groupTripleExpr, :_oneOfTripleExpr_1],
    :PNAME_LN => [:groupTripleExpr, :_oneOfTripleExpr_1],
    :PNAME_NS => [:groupTripleExpr, :_oneOfTripleExpr_1],
    :RDF_TYPE => [:groupTripleExpr, :_oneOfTripleExpr_1],
    "^" => [:groupTripleExpr, :_oneOfTripleExpr_1],
  },
  :_oneOfTripleExpr_1 => {
    ")" => [],
    "|" => [:_oneOfTripleExpr_3],
    "}" => [],
  },
  :_oneOfTripleExpr_2 => {
    "|" => ["|", :groupTripleExpr],
  },
  :_oneOfTripleExpr_3 => {
    "|" => [:_oneOfTripleExpr_2, :_oneOfTripleExpr_1],
  },
  :predicate => {
    :IRIREF => [:iri],
    :PNAME_LN => [:iri],
    :PNAME_NS => [:iri],
    :RDF_TYPE => [:RDF_TYPE],
  },
  :prefixDecl => {
    "PREFIX" => ["PREFIX", :PNAME_NS, :IRIREF],
  },
  :prefixedName => {
    :PNAME_LN => [:PNAME_LN],
    :PNAME_NS => [:PNAME_NS],
  },
  :productionLabel => {
    "$" => ["$", :_productionLabel_1],
  },
  :_productionLabel_1 => {
    :BLANK_NODE_LABEL => [:blankNode],
    :IRIREF => [:iri],
    :PNAME_LN => [:iri],
    :PNAME_NS => [:iri],
  },
  :rdfLiteral => {
    :LANG_STRING_LITERAL1 => [:langString],
    :LANG_STRING_LITERAL2 => [:langString],
    :LANG_STRING_LITERAL_LONG1 => [:langString],
    :LANG_STRING_LITERAL_LONG2 => [:langString],
    :STRING_LITERAL1 => [:_rdfLiteral_1],
    :STRING_LITERAL2 => [:_rdfLiteral_1],
    :STRING_LITERAL_LONG1 => [:_rdfLiteral_1],
    :STRING_LITERAL_LONG2 => [:_rdfLiteral_1],
  },
  :_rdfLiteral_1 => {
    :STRING_LITERAL1 => [:string, :_rdfLiteral_2],
    :STRING_LITERAL2 => [:string, :_rdfLiteral_2],
    :STRING_LITERAL_LONG1 => [:string, :_rdfLiteral_2],
    :STRING_LITERAL_LONG2 => [:string, :_rdfLiteral_2],
  },
  :_rdfLiteral_2 => {
    "%" => [],
    ")" => [],
    "-" => [],
    "." => [],
    "//" => [],
    ";" => [],
    "AND" => [],
    "BASE" => [],
    :BLANK_NODE_LABEL => [],
    "BNODE" => [],
    :DECIMAL => [],
    :DOUBLE => [],
    :INTEGER => [],
    "IRI" => [],
    :IRIREF => [],
    :LANGTAG => [],
    :LANG_STRING_LITERAL1 => [],
    :LANG_STRING_LITERAL2 => [],
    :LANG_STRING_LITERAL_LONG1 => [],
    :LANG_STRING_LITERAL_LONG2 => [],
    "LENGTH" => [],
    "MAXLENGTH" => [],
    "MINLENGTH" => [],
    "NONLITERAL" => [],
    "OR" => [],
    :PNAME_LN => [],
    :PNAME_NS => [],
    "PREFIX" => [],
    :REGEXP => [],
    "START" => [],
    :STRING_LITERAL1 => [],
    :STRING_LITERAL2 => [],
    :STRING_LITERAL_LONG1 => [],
    :STRING_LITERAL_LONG2 => [],
    "]" => [],
    "^^" => [:_rdfLiteral_3],
    "false" => [],
    "true" => [],
    "|" => [],
    "}" => [],
    "~" => [],
  },
  :_rdfLiteral_3 => {
    "^^" => ["^^", :datatype],
  },
  :semanticActions => {
    "%" => [:_semanticActions_1],
    ")" => [],
    ";" => [],
    "AND" => [],
    "BASE" => [],
    :BLANK_NODE_LABEL => [],
    "BNODE" => [],
    "IRI" => [],
    :IRIREF => [],
    "LENGTH" => [],
    "MAXLENGTH" => [],
    "MINLENGTH" => [],
    "NONLITERAL" => [],
    "OR" => [],
    :PNAME_LN => [],
    :PNAME_NS => [],
    "PREFIX" => [],
    :REGEXP => [],
    "START" => [],
    "|" => [],
    "}" => [],
  },
  :_semanticActions_1 => {
    "%" => [:codeDecl, :semanticActions],
  },
  :senseFlags => {
    "^" => ["^"],
  },
  :shapeAnd => {
    "(" => [:shapeNot, :_shapeAnd_1],
    "." => [:shapeNot, :_shapeAnd_1],
    "@" => [:shapeNot, :_shapeAnd_1],
    :ATPNAME_LN => [:shapeNot, :_shapeAnd_1],
    :ATPNAME_NS => [:shapeNot, :_shapeAnd_1],
    "BNODE" => [:shapeNot, :_shapeAnd_1],
    "CLOSED" => [:shapeNot, :_shapeAnd_1],
    "EXTRA" => [:shapeNot, :_shapeAnd_1],
    "FRACTIONDIGITS" => [:shapeNot, :_shapeAnd_1],
    "IRI" => [:shapeNot, :_shapeAnd_1],
    :IRIREF => [:shapeNot, :_shapeAnd_1],
    "LENGTH" => [:shapeNot, :_shapeAnd_1],
    "LITERAL" => [:shapeNot, :_shapeAnd_1],
    "MAXEXCLUSIVE" => [:shapeNot, :_shapeAnd_1],
    "MAXINCLUSIVE" => [:shapeNot, :_shapeAnd_1],
    "MAXLENGTH" => [:shapeNot, :_shapeAnd_1],
    "MINEXCLUSIVE" => [:shapeNot, :_shapeAnd_1],
    "MININCLUSIVE" => [:shapeNot, :_shapeAnd_1],
    "MINLENGTH" => [:shapeNot, :_shapeAnd_1],
    "NONLITERAL" => [:shapeNot, :_shapeAnd_1],
    "NOT" => [:shapeNot, :_shapeAnd_1],
    :PNAME_LN => [:shapeNot, :_shapeAnd_1],
    :PNAME_NS => [:shapeNot, :_shapeAnd_1],
    :REGEXP => [:shapeNot, :_shapeAnd_1],
    "TOTALDIGITS" => [:shapeNot, :_shapeAnd_1],
    "[" => [:shapeNot, :_shapeAnd_1],
    "{" => [:shapeNot, :_shapeAnd_1],
  },
  :_shapeAnd_1 => {
    ")" => [],
    "AND" => [:_shapeAnd_3],
    "BASE" => [],
    :BLANK_NODE_LABEL => [],
    :IRIREF => [],
    "OR" => [],
    :PNAME_LN => [],
    :PNAME_NS => [],
    "PREFIX" => [],
    "START" => [],
  },
  :_shapeAnd_2 => {
    "AND" => ["AND", :shapeNot],
  },
  :_shapeAnd_3 => {
    "AND" => [:_shapeAnd_2, :_shapeAnd_1],
  },
  :shapeAtom => {
    "(" => [:_shapeAtom_3],
    "." => ["."],
    "@" => [:_shapeAtom_2],
    :ATPNAME_LN => [:_shapeAtom_2],
    :ATPNAME_NS => [:_shapeAtom_2],
    "BNODE" => [:_shapeAtom_1],
    "CLOSED" => [:_shapeAtom_2],
    "EXTRA" => [:_shapeAtom_2],
    "FRACTIONDIGITS" => [:litNodeConstraint],
    "IRI" => [:_shapeAtom_1],
    :IRIREF => [:litNodeConstraint],
    "LENGTH" => [:_shapeAtom_1],
    "LITERAL" => [:litNodeConstraint],
    "MAXEXCLUSIVE" => [:litNodeConstraint],
    "MAXINCLUSIVE" => [:litNodeConstraint],
    "MAXLENGTH" => [:_shapeAtom_1],
    "MINEXCLUSIVE" => [:litNodeConstraint],
    "MININCLUSIVE" => [:litNodeConstraint],
    "MINLENGTH" => [:_shapeAtom_1],
    "NONLITERAL" => [:_shapeAtom_1],
    :PNAME_LN => [:litNodeConstraint],
    :PNAME_NS => [:litNodeConstraint],
    :REGEXP => [:_shapeAtom_1],
    "TOTALDIGITS" => [:litNodeConstraint],
    "[" => [:litNodeConstraint],
    "{" => [:_shapeAtom_2],
  },
  :shapeAtomNoRef => {
    "(" => [:_shapeAtomNoRef_3],
    "." => ["."],
    "BNODE" => [:_shapeAtomNoRef_1],
    "CLOSED" => [:_shapeAtomNoRef_2],
    "EXTRA" => [:_shapeAtomNoRef_2],
    "FRACTIONDIGITS" => [:litNodeConstraint],
    "IRI" => [:_shapeAtomNoRef_1],
    :IRIREF => [:litNodeConstraint],
    "LENGTH" => [:_shapeAtomNoRef_1],
    "LITERAL" => [:litNodeConstraint],
    "MAXEXCLUSIVE" => [:litNodeConstraint],
    "MAXINCLUSIVE" => [:litNodeConstraint],
    "MAXLENGTH" => [:_shapeAtomNoRef_1],
    "MINEXCLUSIVE" => [:litNodeConstraint],
    "MININCLUSIVE" => [:litNodeConstraint],
    "MINLENGTH" => [:_shapeAtomNoRef_1],
    "NONLITERAL" => [:_shapeAtomNoRef_1],
    :PNAME_LN => [:litNodeConstraint],
    :PNAME_NS => [:litNodeConstraint],
    :REGEXP => [:_shapeAtomNoRef_1],
    "TOTALDIGITS" => [:litNodeConstraint],
    "[" => [:litNodeConstraint],
    "{" => [:_shapeAtomNoRef_2],
  },
  :_shapeAtomNoRef_1 => {
    "BNODE" => [:nonLitNodeConstraint, :_shapeAtomNoRef_4],
    "IRI" => [:nonLitNodeConstraint, :_shapeAtomNoRef_4],
    "LENGTH" => [:nonLitNodeConstraint, :_shapeAtomNoRef_4],
    "MAXLENGTH" => [:nonLitNodeConstraint, :_shapeAtomNoRef_4],
    "MINLENGTH" => [:nonLitNodeConstraint, :_shapeAtomNoRef_4],
    "NONLITERAL" => [:nonLitNodeConstraint, :_shapeAtomNoRef_4],
    :REGEXP => [:nonLitNodeConstraint, :_shapeAtomNoRef_4],
  },
  :_shapeAtomNoRef_2 => {
    "CLOSED" => [:shapeDefinition, :_shapeAtomNoRef_5],
    "EXTRA" => [:shapeDefinition, :_shapeAtomNoRef_5],
    "{" => [:shapeDefinition, :_shapeAtomNoRef_5],
  },
  :_shapeAtomNoRef_3 => {
    "(" => ["(", :shapeExpression, ")"],
  },
  :_shapeAtomNoRef_4 => {
    ")" => [],
    "@" => [:shapeOrRef],
    "AND" => [],
    :ATPNAME_LN => [:shapeOrRef],
    :ATPNAME_NS => [:shapeOrRef],
    "BASE" => [],
    :BLANK_NODE_LABEL => [],
    "CLOSED" => [:shapeOrRef],
    "EXTRA" => [:shapeOrRef],
    :IRIREF => [],
    "OR" => [],
    :PNAME_LN => [],
    :PNAME_NS => [],
    "PREFIX" => [],
    "START" => [],
    "{" => [:shapeOrRef],
  },
  :_shapeAtomNoRef_5 => {
    ")" => [],
    "AND" => [],
    "BASE" => [],
    :BLANK_NODE_LABEL => [],
    "BNODE" => [:nonLitNodeConstraint],
    "IRI" => [:nonLitNodeConstraint],
    :IRIREF => [],
    "LENGTH" => [:nonLitNodeConstraint],
    "MAXLENGTH" => [:nonLitNodeConstraint],
    "MINLENGTH" => [:nonLitNodeConstraint],
    "NONLITERAL" => [:nonLitNodeConstraint],
    "OR" => [],
    :PNAME_LN => [],
    :PNAME_NS => [],
    "PREFIX" => [],
    :REGEXP => [:nonLitNodeConstraint],
    "START" => [],
  },
  :_shapeAtom_1 => {
    "BNODE" => [:nonLitNodeConstraint, :_shapeAtom_4],
    "IRI" => [:nonLitNodeConstraint, :_shapeAtom_4],
    "LENGTH" => [:nonLitNodeConstraint, :_shapeAtom_4],
    "MAXLENGTH" => [:nonLitNodeConstraint, :_shapeAtom_4],
    "MINLENGTH" => [:nonLitNodeConstraint, :_shapeAtom_4],
    "NONLITERAL" => [:nonLitNodeConstraint, :_shapeAtom_4],
    :REGEXP => [:nonLitNodeConstraint, :_shapeAtom_4],
  },
  :_shapeAtom_2 => {
    "@" => [:shapeOrRef, :_shapeAtom_5],
    :ATPNAME_LN => [:shapeOrRef, :_shapeAtom_5],
    :ATPNAME_NS => [:shapeOrRef, :_shapeAtom_5],
    "CLOSED" => [:shapeOrRef, :_shapeAtom_5],
    "EXTRA" => [:shapeOrRef, :_shapeAtom_5],
    "{" => [:shapeOrRef, :_shapeAtom_5],
  },
  :_shapeAtom_3 => {
    "(" => ["(", :shapeExpression, ")"],
  },
  :_shapeAtom_4 => {
    ")" => [],
    "@" => [:shapeOrRef],
    "AND" => [],
    :ATPNAME_LN => [:shapeOrRef],
    :ATPNAME_NS => [:shapeOrRef],
    "BASE" => [],
    :BLANK_NODE_LABEL => [],
    "CLOSED" => [:shapeOrRef],
    "EXTRA" => [:shapeOrRef],
    :IRIREF => [],
    "OR" => [],
    :PNAME_LN => [],
    :PNAME_NS => [],
    "PREFIX" => [],
    "START" => [],
    "{" => [:shapeOrRef],
  },
  :_shapeAtom_5 => {
    ")" => [],
    "AND" => [],
    "BASE" => [],
    :BLANK_NODE_LABEL => [],
    "BNODE" => [:nonLitNodeConstraint],
    "IRI" => [:nonLitNodeConstraint],
    :IRIREF => [],
    "LENGTH" => [:nonLitNodeConstraint],
    "MAXLENGTH" => [:nonLitNodeConstraint],
    "MINLENGTH" => [:nonLitNodeConstraint],
    "NONLITERAL" => [:nonLitNodeConstraint],
    "OR" => [],
    :PNAME_LN => [],
    :PNAME_NS => [],
    "PREFIX" => [],
    :REGEXP => [:nonLitNodeConstraint],
    "START" => [],
  },
  :shapeDefinition => {
    "CLOSED" => [:_shapeDefinition_1, "{", :_shapeDefinition_2, "}", :_shapeDefinition_3, :semanticActions],
    "EXTRA" => [:_shapeDefinition_1, "{", :_shapeDefinition_2, "}", :_shapeDefinition_3, :semanticActions],
    "{" => [:_shapeDefinition_1, "{", :_shapeDefinition_2, "}", :_shapeDefinition_3, :semanticActions],
  },
  :_shapeDefinition_1 => {
    "CLOSED" => [:_shapeDefinition_5],
    "EXTRA" => [:_shapeDefinition_5],
    "{" => [],
  },
  :_shapeDefinition_2 => {
    "$" => [:tripleExpression],
    "&" => [:tripleExpression],
    "(" => [:tripleExpression],
    :IRIREF => [:tripleExpression],
    :PNAME_LN => [:tripleExpression],
    :PNAME_NS => [:tripleExpression],
    :RDF_TYPE => [:tripleExpression],
    "^" => [:tripleExpression],
    "}" => [],
  },
  :_shapeDefinition_3 => {
    "%" => [],
    ")" => [],
    "//" => [:_shapeDefinition_6],
    "AND" => [],
    "BASE" => [],
    :BLANK_NODE_LABEL => [],
    "BNODE" => [],
    "IRI" => [],
    :IRIREF => [],
    "LENGTH" => [],
    "MAXLENGTH" => [],
    "MINLENGTH" => [],
    "NONLITERAL" => [],
    "OR" => [],
    :PNAME_LN => [],
    :PNAME_NS => [],
    "PREFIX" => [],
    :REGEXP => [],
    "START" => [],
  },
  :_shapeDefinition_4 => {
    "CLOSED" => ["CLOSED"],
    "EXTRA" => [:extraPropertySet],
    :includeSet => [:includeSet],
  },
  :_shapeDefinition_5 => {
    "CLOSED" => [:_shapeDefinition_4, :_shapeDefinition_1],
    "EXTRA" => [:_shapeDefinition_4, :_shapeDefinition_1],
  },
  :_shapeDefinition_6 => {
    "//" => [:annotation, :_shapeDefinition_3],
  },
  :shapeExprDecl => {
    :BLANK_NODE_LABEL => [:shapeLabel, :_shapeExprDecl_1],
    :IRIREF => [:shapeLabel, :_shapeExprDecl_1],
    :PNAME_LN => [:shapeLabel, :_shapeExprDecl_1],
    :PNAME_NS => [:shapeLabel, :_shapeExprDecl_1],
  },
  :_shapeExprDecl_1 => {
    "(" => [:shapeExpression],
    "." => [:shapeExpression],
    "@" => [:shapeExpression],
    :ATPNAME_LN => [:shapeExpression],
    :ATPNAME_NS => [:shapeExpression],
    "BNODE" => [:shapeExpression],
    "CLOSED" => [:shapeExpression],
    "EXTERNAL" => ["EXTERNAL"],
    "EXTRA" => [:shapeExpression],
    "FRACTIONDIGITS" => [:shapeExpression],
    "IRI" => [:shapeExpression],
    :IRIREF => [:shapeExpression],
    "LENGTH" => [:shapeExpression],
    "LITERAL" => [:shapeExpression],
    "MAXEXCLUSIVE" => [:shapeExpression],
    "MAXINCLUSIVE" => [:shapeExpression],
    "MAXLENGTH" => [:shapeExpression],
    "MINEXCLUSIVE" => [:shapeExpression],
    "MININCLUSIVE" => [:shapeExpression],
    "MINLENGTH" => [:shapeExpression],
    "NONLITERAL" => [:shapeExpression],
    "NOT" => [:shapeExpression],
    :PNAME_LN => [:shapeExpression],
    :PNAME_NS => [:shapeExpression],
    :REGEXP => [:shapeExpression],
    "TOTALDIGITS" => [:shapeExpression],
    "[" => [:shapeExpression],
    "{" => [:shapeExpression],
  },
  :shapeExpression => {
    "(" => [:_shapeExpression_1],
    "." => [:_shapeExpression_1],
    "@" => [:_shapeExpression_3],
    :ATPNAME_LN => [:_shapeExpression_3],
    :ATPNAME_NS => [:_shapeExpression_3],
    "BNODE" => [:_shapeExpression_1],
    "CLOSED" => [:_shapeExpression_1],
    "EXTRA" => [:_shapeExpression_1],
    "FRACTIONDIGITS" => [:_shapeExpression_1],
    "IRI" => [:_shapeExpression_1],
    :IRIREF => [:_shapeExpression_1],
    "LENGTH" => [:_shapeExpression_1],
    "LITERAL" => [:_shapeExpression_1],
    "MAXEXCLUSIVE" => [:_shapeExpression_1],
    "MAXINCLUSIVE" => [:_shapeExpression_1],
    "MAXLENGTH" => [:_shapeExpression_1],
    "MINEXCLUSIVE" => [:_shapeExpression_1],
    "MININCLUSIVE" => [:_shapeExpression_1],
    "MINLENGTH" => [:_shapeExpression_1],
    "NONLITERAL" => [:_shapeExpression_1],
    "NOT" => [:_shapeExpression_2],
    :PNAME_LN => [:_shapeExpression_1],
    :PNAME_NS => [:_shapeExpression_1],
    :REGEXP => [:_shapeExpression_1],
    "TOTALDIGITS" => [:_shapeExpression_1],
    "[" => [:_shapeExpression_1],
    "{" => [:_shapeExpression_1],
  },
  :_shapeExpression_1 => {
    "(" => [:shapeAtomNoRef, :_shapeExpression_4],
    "." => [:shapeAtomNoRef, :_shapeExpression_4],
    "BNODE" => [:shapeAtomNoRef, :_shapeExpression_4],
    "CLOSED" => [:shapeAtomNoRef, :_shapeExpression_4],
    "EXTRA" => [:shapeAtomNoRef, :_shapeExpression_4],
    "FRACTIONDIGITS" => [:shapeAtomNoRef, :_shapeExpression_4],
    "IRI" => [:shapeAtomNoRef, :_shapeExpression_4],
    :IRIREF => [:shapeAtomNoRef, :_shapeExpression_4],
    "LENGTH" => [:shapeAtomNoRef, :_shapeExpression_4],
    "LITERAL" => [:shapeAtomNoRef, :_shapeExpression_4],
    "MAXEXCLUSIVE" => [:shapeAtomNoRef, :_shapeExpression_4],
    "MAXINCLUSIVE" => [:shapeAtomNoRef, :_shapeExpression_4],
    "MAXLENGTH" => [:shapeAtomNoRef, :_shapeExpression_4],
    "MINEXCLUSIVE" => [:shapeAtomNoRef, :_shapeExpression_4],
    "MININCLUSIVE" => [:shapeAtomNoRef, :_shapeExpression_4],
    "MINLENGTH" => [:shapeAtomNoRef, :_shapeExpression_4],
    "NONLITERAL" => [:shapeAtomNoRef, :_shapeExpression_4],
    :PNAME_LN => [:shapeAtomNoRef, :_shapeExpression_4],
    :PNAME_NS => [:shapeAtomNoRef, :_shapeExpression_4],
    :REGEXP => [:shapeAtomNoRef, :_shapeExpression_4],
    "TOTALDIGITS" => [:shapeAtomNoRef, :_shapeExpression_4],
    "[" => [:shapeAtomNoRef, :_shapeExpression_4],
    "{" => [:shapeAtomNoRef, :_shapeExpression_4],
  },
  :_shapeExpression_2 => {
    "NOT" => ["NOT", :_shapeExpression_5, :_shapeExpression_6],
  },
  :_shapeExpression_3 => {
    "@" => [:shapeRef, :shapeOr],
    :ATPNAME_LN => [:shapeRef, :shapeOr],
    :ATPNAME_NS => [:shapeRef, :shapeOr],
  },
  :_shapeExpression_4 => {
    ")" => [],
    "AND" => [:shapeOr],
    "BASE" => [],
    :BLANK_NODE_LABEL => [],
    :IRIREF => [],
    "OR" => [:shapeOr],
    :PNAME_LN => [],
    :PNAME_NS => [],
    "PREFIX" => [],
    "START" => [],
  },
  :_shapeExpression_5 => {
    "(" => [:shapeAtomNoRef],
    "." => [:shapeAtomNoRef],
    "@" => [:shapeRef],
    :ATPNAME_LN => [:shapeRef],
    :ATPNAME_NS => [:shapeRef],
    "BNODE" => [:shapeAtomNoRef],
    "CLOSED" => [:shapeAtomNoRef],
    "EXTRA" => [:shapeAtomNoRef],
    "FRACTIONDIGITS" => [:shapeAtomNoRef],
    "IRI" => [:shapeAtomNoRef],
    :IRIREF => [:shapeAtomNoRef],
    "LENGTH" => [:shapeAtomNoRef],
    "LITERAL" => [:shapeAtomNoRef],
    "MAXEXCLUSIVE" => [:shapeAtomNoRef],
    "MAXINCLUSIVE" => [:shapeAtomNoRef],
    "MAXLENGTH" => [:shapeAtomNoRef],
    "MINEXCLUSIVE" => [:shapeAtomNoRef],
    "MININCLUSIVE" => [:shapeAtomNoRef],
    "MINLENGTH" => [:shapeAtomNoRef],
    "NONLITERAL" => [:shapeAtomNoRef],
    :PNAME_LN => [:shapeAtomNoRef],
    :PNAME_NS => [:shapeAtomNoRef],
    :REGEXP => [:shapeAtomNoRef],
    "TOTALDIGITS" => [:shapeAtomNoRef],
    "[" => [:shapeAtomNoRef],
    "{" => [:shapeAtomNoRef],
  },
  :_shapeExpression_6 => {
    ")" => [],
    "AND" => [:shapeOr],
    "BASE" => [],
    :BLANK_NODE_LABEL => [],
    :IRIREF => [],
    "OR" => [:shapeOr],
    :PNAME_LN => [],
    :PNAME_NS => [],
    "PREFIX" => [],
    "START" => [],
  },
  :shapeLabel => {
    :BLANK_NODE_LABEL => [:blankNode],
    :IRIREF => [:iri],
    :PNAME_LN => [:iri],
    :PNAME_NS => [:iri],
  },
  :shapeNot => {
    "(" => [:_shapeNot_1, :shapeAtom],
    "." => [:_shapeNot_1, :shapeAtom],
    "@" => [:_shapeNot_1, :shapeAtom],
    :ATPNAME_LN => [:_shapeNot_1, :shapeAtom],
    :ATPNAME_NS => [:_shapeNot_1, :shapeAtom],
    "BNODE" => [:_shapeNot_1, :shapeAtom],
    "CLOSED" => [:_shapeNot_1, :shapeAtom],
    "EXTRA" => [:_shapeNot_1, :shapeAtom],
    "FRACTIONDIGITS" => [:_shapeNot_1, :shapeAtom],
    "IRI" => [:_shapeNot_1, :shapeAtom],
    :IRIREF => [:_shapeNot_1, :shapeAtom],
    "LENGTH" => [:_shapeNot_1, :shapeAtom],
    "LITERAL" => [:_shapeNot_1, :shapeAtom],
    "MAXEXCLUSIVE" => [:_shapeNot_1, :shapeAtom],
    "MAXINCLUSIVE" => [:_shapeNot_1, :shapeAtom],
    "MAXLENGTH" => [:_shapeNot_1, :shapeAtom],
    "MINEXCLUSIVE" => [:_shapeNot_1, :shapeAtom],
    "MININCLUSIVE" => [:_shapeNot_1, :shapeAtom],
    "MINLENGTH" => [:_shapeNot_1, :shapeAtom],
    "NONLITERAL" => [:_shapeNot_1, :shapeAtom],
    "NOT" => [:_shapeNot_1, :shapeAtom],
    :PNAME_LN => [:_shapeNot_1, :shapeAtom],
    :PNAME_NS => [:_shapeNot_1, :shapeAtom],
    :REGEXP => [:_shapeNot_1, :shapeAtom],
    "TOTALDIGITS" => [:_shapeNot_1, :shapeAtom],
    "[" => [:_shapeNot_1, :shapeAtom],
    "{" => [:_shapeNot_1, :shapeAtom],
  },
  :_shapeNot_1 => {
    "(" => [],
    "." => [],
    "@" => [],
    :ATPNAME_LN => [],
    :ATPNAME_NS => [],
    "BNODE" => [],
    "CLOSED" => [],
    "EXTRA" => [],
    "FRACTIONDIGITS" => [],
    "IRI" => [],
    :IRIREF => [],
    "LENGTH" => [],
    "LITERAL" => [],
    "MAXEXCLUSIVE" => [],
    "MAXINCLUSIVE" => [],
    "MAXLENGTH" => [],
    "MINEXCLUSIVE" => [],
    "MININCLUSIVE" => [],
    "MINLENGTH" => [],
    "NONLITERAL" => [],
    "NOT" => ["NOT"],
    :PNAME_LN => [],
    :PNAME_NS => [],
    :REGEXP => [],
    "TOTALDIGITS" => [],
    "[" => [],
    "{" => [],
  },
  :shapeOr => {
    "AND" => [:_shapeOr_1],
    "OR" => [:shapeOrA],
  },
  :shapeOrA => {
    "OR" => [:_shapeOrA_1, :_shapeOrA_2],
  },
  :_shapeOrA_1 => {
    "OR" => ["OR", :shapeAnd],
  },
  :_shapeOrA_2 => {
    ")" => [],
    "BASE" => [],
    :BLANK_NODE_LABEL => [],
    :IRIREF => [],
    "OR" => [:_shapeOrA_3],
    :PNAME_LN => [],
    :PNAME_NS => [],
    "PREFIX" => [],
    "START" => [],
  },
  :_shapeOrA_3 => {
    "OR" => [:_shapeOrA_1, :_shapeOrA_2],
  },
  :shapeOrB => {
    "AND" => [:_shapeOrB_1, :_shapeOrB_2],
  },
  :_shapeOrB_1 => {
    "AND" => ["AND", :shapeNot],
  },
  :_shapeOrB_2 => {
    ")" => [],
    "AND" => [:_shapeOrB_3],
    "BASE" => [],
    :BLANK_NODE_LABEL => [],
    :IRIREF => [],
    "OR" => [],
    :PNAME_LN => [],
    :PNAME_NS => [],
    "PREFIX" => [],
    "START" => [],
  },
  :_shapeOrB_3 => {
    "AND" => [:_shapeOrB_1, :_shapeOrB_2],
  },
  :shapeOrRef => {
    "@" => [:shapeRef],
    :ATPNAME_LN => [:shapeRef],
    :ATPNAME_NS => [:shapeRef],
    "CLOSED" => [:shapeDefinition],
    "EXTRA" => [:shapeDefinition],
    "{" => [:shapeDefinition],
  },
  :_shapeOr_1 => {
    "AND" => [:shapeOrB, :_shapeOr_2],
  },
  :_shapeOr_2 => {
    ")" => [],
    "BASE" => [],
    :BLANK_NODE_LABEL => [],
    :IRIREF => [],
    "OR" => [:shapeOrA],
    :PNAME_LN => [],
    :PNAME_NS => [],
    "PREFIX" => [],
    "START" => [],
  },
  :shapeRef => {
    "@" => [:_shapeRef_1],
    :ATPNAME_LN => [:ATPNAME_LN],
    :ATPNAME_NS => [:ATPNAME_NS],
  },
  :_shapeRef_1 => {
    "@" => ["@", :shapeLabel],
  },
  :shexDoc => {
    "%" => [:_shexDoc_1, :_shexDoc_2],
    "BASE" => [:_shexDoc_1, :_shexDoc_2],
    :BLANK_NODE_LABEL => [:_shexDoc_1, :_shexDoc_2],
    :IRIREF => [:_shexDoc_1, :_shexDoc_2],
    :PNAME_LN => [:_shexDoc_1, :_shexDoc_2],
    :PNAME_NS => [:_shexDoc_1, :_shexDoc_2],
    "PREFIX" => [:_shexDoc_1, :_shexDoc_2],
    "START" => [:_shexDoc_1, :_shexDoc_2],
  },
  :_shexDoc_1 => {
    "%" => [],
    "BASE" => [:_shexDoc_3],
    :BLANK_NODE_LABEL => [],
    :IRIREF => [],
    :PNAME_LN => [],
    :PNAME_NS => [],
    "PREFIX" => [:_shexDoc_3],
    "START" => [],
  },
  :_shexDoc_2 => {
    "%" => [:_shexDoc_4],
    :BLANK_NODE_LABEL => [:_shexDoc_4],
    :IRIREF => [:_shexDoc_4],
    :PNAME_LN => [:_shexDoc_4],
    :PNAME_NS => [:_shexDoc_4],
    "START" => [:_shexDoc_4],
  },
  :_shexDoc_3 => {
    "BASE" => [:directive, :_shexDoc_1],
    "PREFIX" => [:directive, :_shexDoc_1],
  },
  :_shexDoc_4 => {
    "%" => [:_shexDoc_5, :_shexDoc_6],
    :BLANK_NODE_LABEL => [:_shexDoc_5, :_shexDoc_6],
    :IRIREF => [:_shexDoc_5, :_shexDoc_6],
    :PNAME_LN => [:_shexDoc_5, :_shexDoc_6],
    :PNAME_NS => [:_shexDoc_5, :_shexDoc_6],
    "START" => [:_shexDoc_5, :_shexDoc_6],
  },
  :_shexDoc_5 => {
    "%" => [:startActions],
    :BLANK_NODE_LABEL => [:notStartAction],
    :IRIREF => [:notStartAction],
    :PNAME_LN => [:notStartAction],
    :PNAME_NS => [:notStartAction],
    "START" => [:notStartAction],
  },
  :_shexDoc_6 => {
    "BASE" => [:_shexDoc_7],
    :BLANK_NODE_LABEL => [:_shexDoc_7],
    :IRIREF => [:_shexDoc_7],
    :PNAME_LN => [:_shexDoc_7],
    :PNAME_NS => [:_shexDoc_7],
    "PREFIX" => [:_shexDoc_7],
    "START" => [:_shexDoc_7],
  },
  :_shexDoc_7 => {
    "BASE" => [:statement, :_shexDoc_6],
    :BLANK_NODE_LABEL => [:statement, :_shexDoc_6],
    :IRIREF => [:statement, :_shexDoc_6],
    :PNAME_LN => [:statement, :_shexDoc_6],
    :PNAME_NS => [:statement, :_shexDoc_6],
    "PREFIX" => [:statement, :_shexDoc_6],
    "START" => [:statement, :_shexDoc_6],
  },
  :start => {
    "START" => ["START", "=", :_start_1, :_start_2, :_start_3],
  },
  :startActions => {
    "%" => [:codeDecl, :_startActions_1],
  },
  :_startActions_1 => {
    "%" => [:_startActions_2],
    "BASE" => [],
    :BLANK_NODE_LABEL => [],
    :IRIREF => [],
    :PNAME_LN => [],
    :PNAME_NS => [],
    "PREFIX" => [],
    "START" => [],
  },
  :_startActions_2 => {
    "%" => [:codeDecl, :_startActions_1],
  },
  :_start_1 => {
    "(" => [],
    "." => [],
    "@" => [],
    :ATPNAME_LN => [],
    :ATPNAME_NS => [],
    "BNODE" => [],
    "CLOSED" => [],
    "EXTRA" => [],
    "FRACTIONDIGITS" => [],
    "IRI" => [],
    :IRIREF => [],
    "LENGTH" => [],
    "LITERAL" => [],
    "MAXEXCLUSIVE" => [],
    "MAXINCLUSIVE" => [],
    "MAXLENGTH" => [],
    "MINEXCLUSIVE" => [],
    "MININCLUSIVE" => [],
    "MINLENGTH" => [],
    "NONLITERAL" => [],
    "NOT" => ["NOT"],
    :PNAME_LN => [],
    :PNAME_NS => [],
    :REGEXP => [],
    "TOTALDIGITS" => [],
    "[" => [],
    "{" => [],
  },
  :_start_2 => {
    "(" => [:shapeAtomNoRef],
    "." => [:shapeAtomNoRef],
    "@" => [:shapeRef],
    :ATPNAME_LN => [:shapeRef],
    :ATPNAME_NS => [:shapeRef],
    "BNODE" => [:shapeAtomNoRef],
    "CLOSED" => [:shapeAtomNoRef],
    "EXTRA" => [:shapeAtomNoRef],
    "FRACTIONDIGITS" => [:shapeAtomNoRef],
    "IRI" => [:shapeAtomNoRef],
    :IRIREF => [:shapeAtomNoRef],
    "LENGTH" => [:shapeAtomNoRef],
    "LITERAL" => [:shapeAtomNoRef],
    "MAXEXCLUSIVE" => [:shapeAtomNoRef],
    "MAXINCLUSIVE" => [:shapeAtomNoRef],
    "MAXLENGTH" => [:shapeAtomNoRef],
    "MINEXCLUSIVE" => [:shapeAtomNoRef],
    "MININCLUSIVE" => [:shapeAtomNoRef],
    "MINLENGTH" => [:shapeAtomNoRef],
    "NONLITERAL" => [:shapeAtomNoRef],
    :PNAME_LN => [:shapeAtomNoRef],
    :PNAME_NS => [:shapeAtomNoRef],
    :REGEXP => [:shapeAtomNoRef],
    "TOTALDIGITS" => [:shapeAtomNoRef],
    "[" => [:shapeAtomNoRef],
    "{" => [:shapeAtomNoRef],
  },
  :_start_3 => {
    "AND" => [:shapeOr],
    "BASE" => [],
    :BLANK_NODE_LABEL => [],
    :IRIREF => [],
    "OR" => [:shapeOr],
    :PNAME_LN => [],
    :PNAME_NS => [],
    "PREFIX" => [],
    "START" => [],
  },
  :statement => {
    "BASE" => [:directive],
    :BLANK_NODE_LABEL => [:notStartAction],
    :IRIREF => [:notStartAction],
    :PNAME_LN => [:notStartAction],
    :PNAME_NS => [:notStartAction],
    "PREFIX" => [:directive],
    "START" => [:notStartAction],
  },
  :string => {
    :STRING_LITERAL1 => [:STRING_LITERAL1],
    :STRING_LITERAL2 => [:STRING_LITERAL2],
    :STRING_LITERAL_LONG1 => [:STRING_LITERAL_LONG1],
    :STRING_LITERAL_LONG2 => [:STRING_LITERAL_LONG2],
  },
  :stringFacet => {
    "LENGTH" => [:_stringFacet_1],
    "MAXLENGTH" => [:_stringFacet_1],
    "MINLENGTH" => [:_stringFacet_1],
    :REGEXP => [:REGEXP],
  },
  :_stringFacet_1 => {
    "LENGTH" => [:stringLength, :INTEGER],
    "MAXLENGTH" => [:stringLength, :INTEGER],
    "MINLENGTH" => [:stringLength, :INTEGER],
  },
  :stringLength => {
    "LENGTH" => ["LENGTH"],
    "MAXLENGTH" => ["MAXLENGTH"],
    "MINLENGTH" => ["MINLENGTH"],
  },
  :tripleConstraint => {
    :IRIREF => [:_tripleConstraint_1, :predicate, :inlineShapeExpression, :_tripleConstraint_2, :_tripleConstraint_3, :semanticActions],
    :PNAME_LN => [:_tripleConstraint_1, :predicate, :inlineShapeExpression, :_tripleConstraint_2, :_tripleConstraint_3, :semanticActions],
    :PNAME_NS => [:_tripleConstraint_1, :predicate, :inlineShapeExpression, :_tripleConstraint_2, :_tripleConstraint_3, :semanticActions],
    :RDF_TYPE => [:_tripleConstraint_1, :predicate, :inlineShapeExpression, :_tripleConstraint_2, :_tripleConstraint_3, :semanticActions],
    "^" => [:_tripleConstraint_1, :predicate, :inlineShapeExpression, :_tripleConstraint_2, :_tripleConstraint_3, :semanticActions],
  },
  :_tripleConstraint_1 => {
    :IRIREF => [],
    :PNAME_LN => [],
    :PNAME_NS => [],
    :RDF_TYPE => [],
    "^" => [:senseFlags],
  },
  :_tripleConstraint_2 => {
    "%" => [],
    ")" => [],
    "*" => [:cardinality],
    "+" => [:cardinality],
    "//" => [],
    ";" => [],
    "?" => [:cardinality],
    :REPEAT_RANGE => [:cardinality],
    "|" => [],
    "}" => [],
  },
  :_tripleConstraint_3 => {
    "%" => [],
    ")" => [],
    "//" => [:_tripleConstraint_4],
    ";" => [],
    "|" => [],
    "}" => [],
  },
  :_tripleConstraint_4 => {
    "//" => [:annotation, :_tripleConstraint_3],
  },
  :tripleExpression => {
    "$" => [:oneOfTripleExpr],
    "&" => [:oneOfTripleExpr],
    "(" => [:oneOfTripleExpr],
    :IRIREF => [:oneOfTripleExpr],
    :PNAME_LN => [:oneOfTripleExpr],
    :PNAME_NS => [:oneOfTripleExpr],
    :RDF_TYPE => [:oneOfTripleExpr],
    "^" => [:oneOfTripleExpr],
  },
  :unaryTripleExpr => {
    "$" => [:_unaryTripleExpr_1],
    "&" => [:include],
    "(" => [:_unaryTripleExpr_1],
    :IRIREF => [:_unaryTripleExpr_1],
    :PNAME_LN => [:_unaryTripleExpr_1],
    :PNAME_NS => [:_unaryTripleExpr_1],
    :RDF_TYPE => [:_unaryTripleExpr_1],
    "^" => [:_unaryTripleExpr_1],
  },
  :_unaryTripleExpr_1 => {
    "$" => [:_unaryTripleExpr_2, :_unaryTripleExpr_3],
    "(" => [:_unaryTripleExpr_2, :_unaryTripleExpr_3],
    :IRIREF => [:_unaryTripleExpr_2, :_unaryTripleExpr_3],
    :PNAME_LN => [:_unaryTripleExpr_2, :_unaryTripleExpr_3],
    :PNAME_NS => [:_unaryTripleExpr_2, :_unaryTripleExpr_3],
    :RDF_TYPE => [:_unaryTripleExpr_2, :_unaryTripleExpr_3],
    "^" => [:_unaryTripleExpr_2, :_unaryTripleExpr_3],
  },
  :_unaryTripleExpr_2 => {
    "$" => [:productionLabel],
    "(" => [],
    :IRIREF => [],
    :PNAME_LN => [],
    :PNAME_NS => [],
    :RDF_TYPE => [],
    "^" => [],
  },
  :_unaryTripleExpr_3 => {
    "(" => [:bracketedTripleExpr],
    :IRIREF => [:tripleConstraint],
    :PNAME_LN => [:tripleConstraint],
    :PNAME_NS => [:tripleConstraint],
    :RDF_TYPE => [:tripleConstraint],
    "^" => [:tripleConstraint],
  },
  :valueSet => {
    "[" => ["[", :_valueSet_1, "]"],
  },
  :valueSetValue => {
    "." => [:_valueSetValue_1],
    :DECIMAL => [:literalRange],
    :DOUBLE => [:literalRange],
    :INTEGER => [:literalRange],
    :IRIREF => [:iriRange],
    :LANGTAG => [:languageRange],
    :LANG_STRING_LITERAL1 => [:literalRange],
    :LANG_STRING_LITERAL2 => [:literalRange],
    :LANG_STRING_LITERAL_LONG1 => [:literalRange],
    :LANG_STRING_LITERAL_LONG2 => [:literalRange],
    :PNAME_LN => [:iriRange],
    :PNAME_NS => [:iriRange],
    :STRING_LITERAL1 => [:literalRange],
    :STRING_LITERAL2 => [:literalRange],
    :STRING_LITERAL_LONG1 => [:literalRange],
    :STRING_LITERAL_LONG2 => [:literalRange],
    "false" => [:literalRange],
    "true" => [:literalRange],
  },
  :_valueSetValue_1 => {
    "." => [".", :_valueSetValue_2],
  },
  :_valueSetValue_2 => {
    "-" => [:exclusion, :_valueSetValue_3],
  },
  :_valueSetValue_3 => {
    "-" => [:_valueSetValue_4],
    "." => [],
    :DECIMAL => [],
    :DOUBLE => [],
    :INTEGER => [],
    :IRIREF => [],
    :LANGTAG => [],
    :LANG_STRING_LITERAL1 => [],
    :LANG_STRING_LITERAL2 => [],
    :LANG_STRING_LITERAL_LONG1 => [],
    :LANG_STRING_LITERAL_LONG2 => [],
    :PNAME_LN => [],
    :PNAME_NS => [],
    :STRING_LITERAL1 => [],
    :STRING_LITERAL2 => [],
    :STRING_LITERAL_LONG1 => [],
    :STRING_LITERAL_LONG2 => [],
    "]" => [],
    "false" => [],
    "true" => [],
  },
  :_valueSetValue_4 => {
    "-" => [:exclusion, :_valueSetValue_3],
  },
  :_valueSet_1 => {
    "." => [:_valueSet_2],
    :DECIMAL => [:_valueSet_2],
    :DOUBLE => [:_valueSet_2],
    :INTEGER => [:_valueSet_2],
    :IRIREF => [:_valueSet_2],
    :LANGTAG => [:_valueSet_2],
    :LANG_STRING_LITERAL1 => [:_valueSet_2],
    :LANG_STRING_LITERAL2 => [:_valueSet_2],
    :LANG_STRING_LITERAL_LONG1 => [:_valueSet_2],
    :LANG_STRING_LITERAL_LONG2 => [:_valueSet_2],
    :PNAME_LN => [:_valueSet_2],
    :PNAME_NS => [:_valueSet_2],
    :STRING_LITERAL1 => [:_valueSet_2],
    :STRING_LITERAL2 => [:_valueSet_2],
    :STRING_LITERAL_LONG1 => [:_valueSet_2],
    :STRING_LITERAL_LONG2 => [:_valueSet_2],
    "]" => [],
    "false" => [:_valueSet_2],
    "true" => [:_valueSet_2],
  },
  :_valueSet_2 => {
    "." => [:valueSetValue, :_valueSet_1],
    :DECIMAL => [:valueSetValue, :_valueSet_1],
    :DOUBLE => [:valueSetValue, :_valueSet_1],
    :INTEGER => [:valueSetValue, :_valueSet_1],
    :IRIREF => [:valueSetValue, :_valueSet_1],
    :LANGTAG => [:valueSetValue, :_valueSet_1],
    :LANG_STRING_LITERAL1 => [:valueSetValue, :_valueSet_1],
    :LANG_STRING_LITERAL2 => [:valueSetValue, :_valueSet_1],
    :LANG_STRING_LITERAL_LONG1 => [:valueSetValue, :_valueSet_1],
    :LANG_STRING_LITERAL_LONG2 => [:valueSetValue, :_valueSet_1],
    :PNAME_LN => [:valueSetValue, :_valueSet_1],
    :PNAME_NS => [:valueSetValue, :_valueSet_1],
    :STRING_LITERAL1 => [:valueSetValue, :_valueSet_1],
    :STRING_LITERAL2 => [:valueSetValue, :_valueSet_1],
    :STRING_LITERAL_LONG1 => [:valueSetValue, :_valueSet_1],
    :STRING_LITERAL_LONG2 => [:valueSetValue, :_valueSet_1],
    "false" => [:valueSetValue, :_valueSet_1],
    "true" => [:valueSetValue, :_valueSet_1],
  },
  :xsFacet => {
    "FRACTIONDIGITS" => [:numericFacet],
    "LENGTH" => [:stringFacet],
    "MAXEXCLUSIVE" => [:numericFacet],
    "MAXINCLUSIVE" => [:numericFacet],
    "MAXLENGTH" => [:stringFacet],
    "MINEXCLUSIVE" => [:numericFacet],
    "MININCLUSIVE" => [:numericFacet],
    "MINLENGTH" => [:stringFacet],
    :REGEXP => [:stringFacet],
    "TOTALDIGITS" => [:numericFacet],
  },
}.freeze
TERMINALS =
[
  "$",
  "%",
  "&",
  "(",
  ")",
  "*",
  "+",
  "-",
  ".",
  "//",
  ";",
  "=",
  "?",
  "@",
  "AND",
  :ATPNAME_LN,
  :ATPNAME_NS,
  "BASE",
  :BLANK_NODE_LABEL,
  "BNODE",
  "CLOSED",
  :CODE,
  :DECIMAL,
  :DOUBLE,
  "EXTERNAL",
  "EXTRA",
  "FRACTIONDIGITS",
  :INTEGER,
  "IRI",
  :IRIREF,
  :LANGTAG,
  :LANG_STRING_LITERAL1,
  :LANG_STRING_LITERAL2,
  :LANG_STRING_LITERAL_LONG1,
  :LANG_STRING_LITERAL_LONG2,
  "LENGTH",
  "LITERAL",
  "MAXEXCLUSIVE",
  "MAXINCLUSIVE",
  "MAXLENGTH",
  "MINEXCLUSIVE",
  "MININCLUSIVE",
  "MINLENGTH",
  "NONLITERAL",
  "NOT",
  "OR",
  :PNAME_LN,
  :PNAME_NS,
  "PREFIX",
  :RDF_TYPE,
  :REGEXP,
  :REPEAT_RANGE,
  "START",
  :STRING_LITERAL1,
  :STRING_LITERAL2,
  :STRING_LITERAL_LONG1,
  :STRING_LITERAL_LONG2,
  "TOTALDIGITS",
  "[",
  "]",
  "^",
  "^^",
  "false",
  "true",
  "{",
  "|",
  "}",
  "~"
].freeze
FIRST =
{
  :annotation => [
    "//"],
  :_annotation_1 => [
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    :LANG_STRING_LITERAL1,
    :LANG_STRING_LITERAL_LONG1,
    :LANG_STRING_LITERAL2,
    :LANG_STRING_LITERAL_LONG2,
    :STRING_LITERAL1,
    :STRING_LITERAL_LONG1,
    :STRING_LITERAL2,
    :STRING_LITERAL_LONG2],
  :_annotation_2 => [
    :RDF_TYPE,
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :_annotation_3 => [
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    :LANG_STRING_LITERAL1,
    :LANG_STRING_LITERAL_LONG1,
    :LANG_STRING_LITERAL2,
    :LANG_STRING_LITERAL_LONG2,
    :STRING_LITERAL1,
    :STRING_LITERAL_LONG1,
    :STRING_LITERAL2,
    :STRING_LITERAL_LONG2],
  :baseDecl => [
    "BASE"],
  :_baseDecl_1 => [
    :IRIREF],
  :blankNode => [
    :BLANK_NODE_LABEL],
  :booleanLiteral => [
    "true",
    "false"],
  :bracketedTripleExpr => [
    "("],
  :_bracketedTripleExpr_1 => [
    :_eps,
    "*",
    "+",
    "?",
    :REPEAT_RANGE],
  :_bracketedTripleExpr_2 => [
    :_eps,
    "//"],
  :_bracketedTripleExpr_3 => [
    "//"],
  :_bracketedTripleExpr_4 => [
    "&",
    "$",
    "(",
    "^",
    :RDF_TYPE,
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :_bracketedTripleExpr_5 => [
    :_eps,
    "//"],
  :_bracketedTripleExpr_6 => [
    ")"],
  :_bracketedTripleExpr_7 => [
    "*",
    "+",
    "?",
    :REPEAT_RANGE,
    :_eps,
    "//",
    "%"],
  :_bracketedTripleExpr_8 => [
    :_eps,
    "//",
    "%"],
  :cardinality => [
    "*",
    "+",
    "?",
    :REPEAT_RANGE],
  :codeDecl => [
    "%"],
  :_codeDecl_1 => [
    :CODE,
    "%"],
  :_codeDecl_2 => [
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :_codeDecl_3 => [
    :CODE,
    "%"],
  :datatype => [
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :directive => [
    "BASE",
    "PREFIX"],
  :_empty => [
    :_eps],
  :exclusion => [
    "-"],
  :_exclusion_1 => [
    :LANGTAG,
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    :LANG_STRING_LITERAL1,
    :LANG_STRING_LITERAL_LONG1,
    :LANG_STRING_LITERAL2,
    :LANG_STRING_LITERAL_LONG2,
    :STRING_LITERAL1,
    :STRING_LITERAL_LONG1,
    :STRING_LITERAL2,
    :STRING_LITERAL_LONG2],
  :_exclusion_2 => [
    "~",
    :_eps],
  :_exclusion_3 => [
    :LANGTAG,
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    :LANG_STRING_LITERAL1,
    :LANG_STRING_LITERAL_LONG1,
    :LANG_STRING_LITERAL2,
    :LANG_STRING_LITERAL_LONG2,
    :STRING_LITERAL1,
    :STRING_LITERAL_LONG1,
    :STRING_LITERAL2,
    :STRING_LITERAL_LONG2],
  :_exclusion_4 => [
    "~",
    :_eps],
  :extraPropertySet => [
    "EXTRA"],
  :_extraPropertySet_1 => [
    :RDF_TYPE,
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :_extraPropertySet_2 => [
    :_eps,
    :RDF_TYPE,
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :_extraPropertySet_3 => [
    :RDF_TYPE,
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :_extraPropertySet_4 => [
    :RDF_TYPE,
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :_extraPropertySet_5 => [
    :_eps,
    :RDF_TYPE,
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :_extraPropertySet_6 => [
    :_eps,
    :RDF_TYPE,
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :groupTripleExpr => [
    "&",
    "$",
    "(",
    "^",
    :RDF_TYPE,
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :_groupTripleExpr_1 => [
    :_eps,
    ";"],
  :_groupTripleExpr_2 => [
    ";"],
  :_groupTripleExpr_3 => [
    ";"],
  :_groupTripleExpr_4 => [
    :_eps,
    "&",
    "$",
    "(",
    "^",
    :RDF_TYPE,
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :_groupTripleExpr_5 => [
    :_eps,
    ";"],
  :_groupTripleExpr_6 => [
    :_eps,
    ";"],
  :_groupTripleExpr_7 => [
    :_eps,
    "&",
    "$",
    "(",
    "^",
    :RDF_TYPE,
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :include => [
    "&"],
  :_include_1 => [
    :IRIREF,
    :BLANK_NODE_LABEL,
    :PNAME_LN,
    :PNAME_NS],
  :inlineShapeAnd => [
    "NOT",
    ".",
    "(",
    "LITERAL",
    "[",
    :ATPNAME_LN,
    :ATPNAME_NS,
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    :IRIREF,
    "@",
    :PNAME_LN,
    :PNAME_NS,
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS",
    "{",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "CLOSED",
    "EXTRA"],
  :_inlineShapeAnd_1 => [
    :_eps,
    "AND"],
  :_inlineShapeAnd_2 => [
    "AND"],
  :_inlineShapeAnd_3 => [
    "AND"],
  :_inlineShapeAnd_4 => [
    :_eps,
    "AND"],
  :_inlineShapeAnd_5 => [
    :_eps,
    "AND"],
  :_inlineShapeAnd_6 => [
    "NOT",
    ".",
    "(",
    "LITERAL",
    "[",
    :ATPNAME_LN,
    :ATPNAME_NS,
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    :IRIREF,
    "@",
    :PNAME_LN,
    :PNAME_NS,
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS",
    "{",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "CLOSED",
    "EXTRA"],
  :inlineShapeAtom => [
    ".",
    "(",
    "LITERAL",
    "[",
    :ATPNAME_LN,
    :ATPNAME_NS,
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    :IRIREF,
    "@",
    :PNAME_LN,
    :PNAME_NS,
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS",
    "{",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "CLOSED",
    "EXTRA"],
  :_inlineShapeAtom_1 => [
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH"],
  :_inlineShapeAtom_2 => [
    :ATPNAME_LN,
    :ATPNAME_NS,
    "@",
    "{",
    "CLOSED",
    "EXTRA"],
  :_inlineShapeAtom_3 => [
    "("],
  :_inlineShapeAtom_4 => [
    :_eps,
    :ATPNAME_LN,
    :ATPNAME_NS,
    "@",
    "{",
    "CLOSED",
    "EXTRA"],
  :_inlineShapeAtom_5 => [
    :_eps,
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH"],
  :_inlineShapeAtom_6 => [
    :_eps,
    :ATPNAME_LN,
    :ATPNAME_NS,
    "@",
    "{",
    "CLOSED",
    "EXTRA"],
  :_inlineShapeAtom_7 => [
    :_eps,
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH"],
  :_inlineShapeAtom_8 => [
    "NOT",
    ".",
    :ATPNAME_LN,
    :ATPNAME_NS,
    "(",
    "@",
    "LITERAL",
    "[",
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    :IRIREF,
    "{",
    :PNAME_LN,
    :PNAME_NS,
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS",
    "CLOSED",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "EXTRA"],
  :_inlineShapeAtom_9 => [
    ")"],
  :inlineShapeDefinition => [
    "{",
    "CLOSED",
    "EXTRA"],
  :_inlineShapeDefinition_1 => [
    :_eps,
    "CLOSED",
    "EXTRA"],
  :_inlineShapeDefinition_2 => [
    :_eps,
    "&",
    "$",
    "(",
    "^",
    :RDF_TYPE,
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :_inlineShapeDefinition_3 => [
    "CLOSED",
    "EXTRA"],
  :_inlineShapeDefinition_4 => [
    "CLOSED",
    "EXTRA"],
  :_inlineShapeDefinition_5 => [
    "{"],
  :_inlineShapeDefinition_6 => [
    :_eps,
    "CLOSED",
    "EXTRA"],
  :_inlineShapeDefinition_7 => [
    "}",
    "&",
    "$",
    "(",
    "^",
    :RDF_TYPE,
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :_inlineShapeDefinition_8 => [
    "}"],
  :inlineShapeExpression => [
    "NOT",
    ".",
    "(",
    "LITERAL",
    "[",
    :ATPNAME_LN,
    :ATPNAME_NS,
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    :IRIREF,
    "@",
    :PNAME_LN,
    :PNAME_NS,
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS",
    "{",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "CLOSED",
    "EXTRA"],
  :inlineShapeNot => [
    "NOT",
    ".",
    "(",
    "LITERAL",
    "[",
    :ATPNAME_LN,
    :ATPNAME_NS,
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    :IRIREF,
    "@",
    :PNAME_LN,
    :PNAME_NS,
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS",
    "{",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "CLOSED",
    "EXTRA"],
  :_inlineShapeNot_1 => [
    "NOT",
    :_eps],
  :_inlineShapeNot_2 => [
    ".",
    "(",
    "LITERAL",
    "[",
    :ATPNAME_LN,
    :ATPNAME_NS,
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    :IRIREF,
    "@",
    :PNAME_LN,
    :PNAME_NS,
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS",
    "{",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "CLOSED",
    "EXTRA"],
  :inlineShapeOr => [
    "NOT",
    ".",
    "(",
    "LITERAL",
    "[",
    :ATPNAME_LN,
    :ATPNAME_NS,
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    :IRIREF,
    "@",
    :PNAME_LN,
    :PNAME_NS,
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS",
    "{",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "CLOSED",
    "EXTRA"],
  :inlineShapeOrRef => [
    :ATPNAME_LN,
    :ATPNAME_NS,
    "@",
    "{",
    "CLOSED",
    "EXTRA"],
  :_inlineShapeOr_1 => [
    :_eps,
    "OR"],
  :_inlineShapeOr_2 => [
    "OR"],
  :_inlineShapeOr_3 => [
    "OR"],
  :_inlineShapeOr_4 => [
    :_eps,
    "OR"],
  :_inlineShapeOr_5 => [
    :_eps,
    "OR"],
  :_inlineShapeOr_6 => [
    "NOT",
    ".",
    "(",
    "LITERAL",
    "[",
    :ATPNAME_LN,
    :ATPNAME_NS,
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    :IRIREF,
    "@",
    :PNAME_LN,
    :PNAME_NS,
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS",
    "{",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "CLOSED",
    "EXTRA"],
  :iri => [
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :iriExclusion => [
    "-"],
  :_iriExclusion_1 => [
    "~",
    :_eps],
  :_iriExclusion_2 => [
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :_iriExclusion_3 => [
    "~",
    :_eps],
  :iriRange => [
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :_iriRange_1 => [
    :_eps,
    "~"],
  :_iriRange_2 => [
    "~"],
  :_iriRange_3 => [
    :_eps,
    "-"],
  :_iriRange_4 => [
    "-"],
  :_iriRange_5 => [
    "~",
    :_eps],
  :_iriRange_6 => [
    :_eps,
    "-"],
  :_iriRange_7 => [
    :_eps,
    "-"],
  :langString => [
    :LANG_STRING_LITERAL1,
    :LANG_STRING_LITERAL_LONG1,
    :LANG_STRING_LITERAL2,
    :LANG_STRING_LITERAL_LONG2],
  :languageExclusion => [
    "-"],
  :_languageExclusion_1 => [
    "~",
    :_eps],
  :_languageExclusion_2 => [
    :LANGTAG],
  :_languageExclusion_3 => [
    "~",
    :_eps],
  :languageRange => [
    :LANGTAG],
  :_languageRange_1 => [
    :_eps,
    "~"],
  :_languageRange_2 => [
    "~"],
  :_languageRange_3 => [
    :_eps,
    "-"],
  :_languageRange_4 => [
    "-"],
  :_languageRange_5 => [
    "~",
    :_eps],
  :_languageRange_6 => [
    :_eps,
    "-"],
  :_languageRange_7 => [
    :_eps,
    "-"],
  :litNodeConstraint => [
    "LITERAL",
    "[",
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS,
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS"],
  :_litNodeConstraint_1 => [
    "LITERAL"],
  :_litNodeConstraint_10 => [
    :REGEXP,
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS"],
  :_litNodeConstraint_11 => [
    :_eps,
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS"],
  :_litNodeConstraint_12 => [
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS"],
  :_litNodeConstraint_13 => [
    :_eps,
    :REGEXP,
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS"],
  :_litNodeConstraint_14 => [
    :_eps,
    :REGEXP,
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS"],
  :_litNodeConstraint_15 => [
    :_eps,
    :REGEXP,
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS"],
  :_litNodeConstraint_16 => [
    :_eps,
    :REGEXP,
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS"],
  :_litNodeConstraint_17 => [
    :_eps,
    :REGEXP,
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS"],
  :_litNodeConstraint_18 => [
    :_eps,
    :REGEXP,
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS"],
  :_litNodeConstraint_19 => [
    :_eps,
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS"],
  :_litNodeConstraint_2 => [
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :_litNodeConstraint_20 => [
    :_eps,
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS"],
  :_litNodeConstraint_3 => [
    "["],
  :_litNodeConstraint_4 => [
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS"],
  :_litNodeConstraint_5 => [
    :_eps,
    :REGEXP,
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS"],
  :_litNodeConstraint_6 => [
    :REGEXP,
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS"],
  :_litNodeConstraint_7 => [
    :_eps,
    :REGEXP,
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS"],
  :_litNodeConstraint_8 => [
    :REGEXP,
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS"],
  :_litNodeConstraint_9 => [
    :_eps,
    :REGEXP,
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS"],
  :literal => [
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    :LANG_STRING_LITERAL1,
    :LANG_STRING_LITERAL_LONG1,
    :LANG_STRING_LITERAL2,
    :LANG_STRING_LITERAL_LONG2,
    :STRING_LITERAL1,
    :STRING_LITERAL_LONG1,
    :STRING_LITERAL2,
    :STRING_LITERAL_LONG2],
  :literalExclusion => [
    "-"],
  :_literalExclusion_1 => [
    "~",
    :_eps],
  :_literalExclusion_2 => [
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    :LANG_STRING_LITERAL1,
    :LANG_STRING_LITERAL_LONG1,
    :LANG_STRING_LITERAL2,
    :LANG_STRING_LITERAL_LONG2,
    :STRING_LITERAL1,
    :STRING_LITERAL_LONG1,
    :STRING_LITERAL2,
    :STRING_LITERAL_LONG2],
  :_literalExclusion_3 => [
    "~",
    :_eps],
  :literalRange => [
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    :LANG_STRING_LITERAL1,
    :LANG_STRING_LITERAL_LONG1,
    :LANG_STRING_LITERAL2,
    :LANG_STRING_LITERAL_LONG2,
    :STRING_LITERAL1,
    :STRING_LITERAL_LONG1,
    :STRING_LITERAL2,
    :STRING_LITERAL_LONG2],
  :_literalRange_1 => [
    :_eps,
    "~"],
  :_literalRange_2 => [
    "~"],
  :_literalRange_3 => [
    :_eps,
    "-"],
  :_literalRange_4 => [
    "-"],
  :_literalRange_5 => [
    "~",
    :_eps],
  :_literalRange_6 => [
    :_eps,
    "-"],
  :_literalRange_7 => [
    :_eps,
    "-"],
  :nonLitNodeConstraint => [
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH"],
  :_nonLitNodeConstraint_1 => [
    "IRI",
    "BNODE",
    "NONLITERAL"],
  :_nonLitNodeConstraint_10 => [
    :_eps,
    :REGEXP,
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH"],
  :_nonLitNodeConstraint_2 => [
    :REGEXP,
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH"],
  :_nonLitNodeConstraint_3 => [
    :_eps,
    :REGEXP,
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH"],
  :_nonLitNodeConstraint_4 => [
    :REGEXP,
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH"],
  :_nonLitNodeConstraint_5 => [
    :_eps,
    :REGEXP,
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH"],
  :_nonLitNodeConstraint_6 => [
    :REGEXP,
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH"],
  :_nonLitNodeConstraint_7 => [
    :_eps,
    :REGEXP,
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH"],
  :_nonLitNodeConstraint_8 => [
    :_eps,
    :REGEXP,
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH"],
  :_nonLitNodeConstraint_9 => [
    :_eps,
    :REGEXP,
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH"],
  :nonLiteralKind => [
    "IRI",
    "BNODE",
    "NONLITERAL"],
  :notStartAction => [
    "START",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :PNAME_LN,
    :PNAME_NS],
  :numericFacet => [
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS"],
  :_numericFacet_1 => [
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE"],
  :_numericFacet_2 => [
    "TOTALDIGITS",
    "FRACTIONDIGITS"],
  :_numericFacet_3 => [
    :INTEGER,
    :DECIMAL,
    :DOUBLE],
  :_numericFacet_4 => [
    :INTEGER],
  :numericLength => [
    "TOTALDIGITS",
    "FRACTIONDIGITS"],
  :numericLiteral => [
    :INTEGER,
    :DECIMAL,
    :DOUBLE],
  :numericRange => [
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE"],
  :oneOfTripleExpr => [
    "&",
    "$",
    "(",
    "^",
    :RDF_TYPE,
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :_oneOfTripleExpr_1 => [
    :_eps,
    "|"],
  :_oneOfTripleExpr_2 => [
    "|"],
  :_oneOfTripleExpr_3 => [
    "|"],
  :_oneOfTripleExpr_4 => [
    :_eps,
    "|"],
  :_oneOfTripleExpr_5 => [
    :_eps,
    "|"],
  :_oneOfTripleExpr_6 => [
    "&",
    "$",
    "(",
    "^",
    :RDF_TYPE,
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :predicate => [
    :RDF_TYPE,
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :prefixDecl => [
    "PREFIX"],
  :_prefixDecl_1 => [
    :PNAME_NS],
  :prefixedName => [
    :PNAME_LN,
    :PNAME_NS],
  :productionLabel => [
    "$"],
  :_productionLabel_1 => [
    :IRIREF,
    :BLANK_NODE_LABEL,
    :PNAME_LN,
    :PNAME_NS],
  :_productionLabel_2 => [
    :IRIREF,
    :BLANK_NODE_LABEL,
    :PNAME_LN,
    :PNAME_NS],
  :rdfLiteral => [
    :LANG_STRING_LITERAL1,
    :LANG_STRING_LITERAL_LONG1,
    :LANG_STRING_LITERAL2,
    :LANG_STRING_LITERAL_LONG2,
    :STRING_LITERAL1,
    :STRING_LITERAL_LONG1,
    :STRING_LITERAL2,
    :STRING_LITERAL_LONG2],
  :_rdfLiteral_1 => [
    :STRING_LITERAL1,
    :STRING_LITERAL_LONG1,
    :STRING_LITERAL2,
    :STRING_LITERAL_LONG2],
  :_rdfLiteral_2 => [
    :_eps,
    "^^"],
  :_rdfLiteral_3 => [
    "^^"],
  :_rdfLiteral_4 => [
    "^^",
    :_eps],
  :_rdfLiteral_5 => [
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :semanticActions => [
    :_eps,
    "%"],
  :_semanticActions_1 => [
    "%"],
  :_semanticActions_2 => [
    :_eps,
    "%"],
  :senseFlags => [
    "^"],
  :shapeAnd => [
    "NOT",
    ".",
    "(",
    "LITERAL",
    "[",
    :ATPNAME_LN,
    :ATPNAME_NS,
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    :IRIREF,
    "@",
    :PNAME_LN,
    :PNAME_NS,
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS",
    "{",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "CLOSED",
    "EXTRA"],
  :_shapeAnd_1 => [
    :_eps,
    "AND"],
  :_shapeAnd_2 => [
    "AND"],
  :_shapeAnd_3 => [
    "AND"],
  :_shapeAnd_4 => [
    :_eps,
    "AND"],
  :_shapeAnd_5 => [
    :_eps,
    "AND"],
  :_shapeAnd_6 => [
    "NOT",
    ".",
    "(",
    "LITERAL",
    "[",
    :ATPNAME_LN,
    :ATPNAME_NS,
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    :IRIREF,
    "@",
    :PNAME_LN,
    :PNAME_NS,
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS",
    "{",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "CLOSED",
    "EXTRA"],
  :shapeAtom => [
    ".",
    "(",
    "LITERAL",
    "[",
    :ATPNAME_LN,
    :ATPNAME_NS,
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    :IRIREF,
    "@",
    :PNAME_LN,
    :PNAME_NS,
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS",
    "{",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "CLOSED",
    "EXTRA"],
  :shapeAtomNoRef => [
    ".",
    "(",
    "LITERAL",
    "[",
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    :IRIREF,
    "{",
    :PNAME_LN,
    :PNAME_NS,
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS",
    "CLOSED",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "EXTRA"],
  :_shapeAtomNoRef_1 => [
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH"],
  :_shapeAtomNoRef_2 => [
    "{",
    "CLOSED",
    "EXTRA"],
  :_shapeAtomNoRef_3 => [
    "("],
  :_shapeAtomNoRef_4 => [
    :_eps,
    :ATPNAME_LN,
    :ATPNAME_NS,
    "@",
    "{",
    "CLOSED",
    "EXTRA"],
  :_shapeAtomNoRef_5 => [
    :_eps,
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH"],
  :_shapeAtomNoRef_6 => [
    :_eps,
    :ATPNAME_LN,
    :ATPNAME_NS,
    "@",
    "{",
    "CLOSED",
    "EXTRA"],
  :_shapeAtomNoRef_7 => [
    :_eps,
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH"],
  :_shapeAtomNoRef_8 => [
    "NOT",
    ".",
    :ATPNAME_LN,
    :ATPNAME_NS,
    "(",
    "@",
    "LITERAL",
    "[",
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    :IRIREF,
    "{",
    :PNAME_LN,
    :PNAME_NS,
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS",
    "CLOSED",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "EXTRA"],
  :_shapeAtomNoRef_9 => [
    ")"],
  :_shapeAtom_1 => [
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH"],
  :_shapeAtom_2 => [
    :ATPNAME_LN,
    :ATPNAME_NS,
    "@",
    "{",
    "CLOSED",
    "EXTRA"],
  :_shapeAtom_3 => [
    "("],
  :_shapeAtom_4 => [
    :_eps,
    :ATPNAME_LN,
    :ATPNAME_NS,
    "@",
    "{",
    "CLOSED",
    "EXTRA"],
  :_shapeAtom_5 => [
    :_eps,
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH"],
  :_shapeAtom_6 => [
    :_eps,
    :ATPNAME_LN,
    :ATPNAME_NS,
    "@",
    "{",
    "CLOSED",
    "EXTRA"],
  :_shapeAtom_7 => [
    :_eps,
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH"],
  :_shapeAtom_8 => [
    "NOT",
    ".",
    :ATPNAME_LN,
    :ATPNAME_NS,
    "(",
    "@",
    "LITERAL",
    "[",
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    :IRIREF,
    "{",
    :PNAME_LN,
    :PNAME_NS,
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS",
    "CLOSED",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "EXTRA"],
  :_shapeAtom_9 => [
    ")"],
  :shapeDefinition => [
    "{",
    "CLOSED",
    "EXTRA"],
  :_shapeDefinition_1 => [
    :_eps,
    "CLOSED",
    "EXTRA"],
  :_shapeDefinition_10 => [
    "}",
    "&",
    "$",
    "(",
    "^",
    :RDF_TYPE,
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :_shapeDefinition_11 => [
    "}"],
  :_shapeDefinition_12 => [
    :_eps,
    "//",
    "%"],
  :_shapeDefinition_2 => [
    :_eps,
    "&",
    "$",
    "(",
    "^",
    :RDF_TYPE,
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :_shapeDefinition_3 => [
    :_eps,
    "//"],
  :_shapeDefinition_4 => [
    "CLOSED",
    "EXTRA"],
  :_shapeDefinition_5 => [
    "CLOSED",
    "EXTRA"],
  :_shapeDefinition_6 => [
    "//"],
  :_shapeDefinition_7 => [
    "{"],
  :_shapeDefinition_8 => [
    :_eps,
    "CLOSED",
    "EXTRA"],
  :_shapeDefinition_9 => [
    :_eps,
    "//"],
  :shapeExprDecl => [
    :IRIREF,
    :BLANK_NODE_LABEL,
    :PNAME_LN,
    :PNAME_NS],
  :_shapeExprDecl_1 => [
    "EXTERNAL",
    "NOT",
    ".",
    :ATPNAME_LN,
    :ATPNAME_NS,
    "(",
    "@",
    "LITERAL",
    "[",
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    :IRIREF,
    "{",
    :PNAME_LN,
    :PNAME_NS,
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS",
    "CLOSED",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "EXTRA"],
  :_shapeExprDecl_2 => [
    "EXTERNAL",
    "NOT",
    ".",
    :ATPNAME_LN,
    :ATPNAME_NS,
    "(",
    "@",
    "LITERAL",
    "[",
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    :IRIREF,
    "{",
    :PNAME_LN,
    :PNAME_NS,
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS",
    "CLOSED",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "EXTRA"],
  :shapeExpression => [
    "NOT",
    ".",
    :ATPNAME_LN,
    :ATPNAME_NS,
    "(",
    "@",
    "LITERAL",
    "[",
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    :IRIREF,
    "{",
    :PNAME_LN,
    :PNAME_NS,
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS",
    "CLOSED",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "EXTRA"],
  :_shapeExpression_1 => [
    ".",
    "(",
    "LITERAL",
    "[",
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    :IRIREF,
    "{",
    :PNAME_LN,
    :PNAME_NS,
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS",
    "CLOSED",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "EXTRA"],
  :_shapeExpression_10 => [
    :_eps,
    "OR",
    "AND"],
  :_shapeExpression_2 => [
    "NOT"],
  :_shapeExpression_3 => [
    :ATPNAME_LN,
    :ATPNAME_NS,
    "@"],
  :_shapeExpression_4 => [
    :_eps,
    "OR",
    "AND"],
  :_shapeExpression_5 => [
    ".",
    :ATPNAME_LN,
    :ATPNAME_NS,
    "(",
    "@",
    "LITERAL",
    "[",
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    :IRIREF,
    "{",
    :PNAME_LN,
    :PNAME_NS,
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS",
    "CLOSED",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "EXTRA"],
  :_shapeExpression_6 => [
    :_eps,
    "OR",
    "AND"],
  :_shapeExpression_7 => [
    :_eps,
    "OR",
    "AND"],
  :_shapeExpression_8 => [
    ".",
    :ATPNAME_LN,
    :ATPNAME_NS,
    "(",
    "@",
    "LITERAL",
    "[",
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    :IRIREF,
    "{",
    :PNAME_LN,
    :PNAME_NS,
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS",
    "CLOSED",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "EXTRA"],
  :_shapeExpression_9 => [
    "OR",
    "AND"],
  :shapeLabel => [
    :IRIREF,
    :BLANK_NODE_LABEL,
    :PNAME_LN,
    :PNAME_NS],
  :shapeNot => [
    "NOT",
    ".",
    "(",
    "LITERAL",
    "[",
    :ATPNAME_LN,
    :ATPNAME_NS,
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    :IRIREF,
    "@",
    :PNAME_LN,
    :PNAME_NS,
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS",
    "{",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "CLOSED",
    "EXTRA"],
  :_shapeNot_1 => [
    "NOT",
    :_eps],
  :_shapeNot_2 => [
    ".",
    "(",
    "LITERAL",
    "[",
    :ATPNAME_LN,
    :ATPNAME_NS,
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    :IRIREF,
    "@",
    :PNAME_LN,
    :PNAME_NS,
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS",
    "{",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "CLOSED",
    "EXTRA"],
  :shapeOr => [
    "OR",
    "AND"],
  :shapeOrA => [
    "OR"],
  :_shapeOrA_1 => [
    "OR"],
  :_shapeOrA_2 => [
    :_eps,
    "OR"],
  :_shapeOrA_3 => [
    "OR"],
  :_shapeOrA_4 => [
    :_eps,
    "OR"],
  :_shapeOrA_5 => [
    :_eps,
    "OR"],
  :_shapeOrA_6 => [
    "NOT",
    ".",
    "(",
    "LITERAL",
    "[",
    :ATPNAME_LN,
    :ATPNAME_NS,
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    :IRIREF,
    "@",
    :PNAME_LN,
    :PNAME_NS,
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS",
    "{",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "CLOSED",
    "EXTRA"],
  :shapeOrB => [
    "AND"],
  :_shapeOrB_1 => [
    "AND"],
  :_shapeOrB_2 => [
    :_eps,
    "AND"],
  :_shapeOrB_3 => [
    "AND"],
  :_shapeOrB_4 => [
    :_eps,
    "AND"],
  :_shapeOrB_5 => [
    :_eps,
    "AND"],
  :_shapeOrB_6 => [
    "NOT",
    ".",
    "(",
    "LITERAL",
    "[",
    :ATPNAME_LN,
    :ATPNAME_NS,
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    :IRIREF,
    "@",
    :PNAME_LN,
    :PNAME_NS,
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS",
    "{",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "CLOSED",
    "EXTRA"],
  :shapeOrRef => [
    :ATPNAME_LN,
    :ATPNAME_NS,
    "@",
    "{",
    "CLOSED",
    "EXTRA"],
  :_shapeOr_1 => [
    "AND"],
  :_shapeOr_2 => [
    :_eps,
    "OR"],
  :_shapeOr_3 => [
    :_eps,
    "OR"],
  :shapeRef => [
    :ATPNAME_LN,
    :ATPNAME_NS,
    "@"],
  :_shapeRef_1 => [
    "@"],
  :_shapeRef_2 => [
    :IRIREF,
    :BLANK_NODE_LABEL,
    :PNAME_LN,
    :PNAME_NS],
  :shexDoc => [
    :_eps,
    "BASE",
    "PREFIX",
    "START",
    "%",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :PNAME_LN,
    :PNAME_NS],
  :_shexDoc_1 => [
    :_eps,
    "BASE",
    "PREFIX"],
  :_shexDoc_10 => [
    :_eps,
    "BASE",
    "PREFIX",
    "START",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :PNAME_LN,
    :PNAME_NS],
  :_shexDoc_11 => [
    :_eps,
    "BASE",
    "PREFIX",
    "START",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :PNAME_LN,
    :PNAME_NS],
  :_shexDoc_2 => [
    :_eps,
    "START",
    "%",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :PNAME_LN,
    :PNAME_NS],
  :_shexDoc_3 => [
    "BASE",
    "PREFIX"],
  :_shexDoc_4 => [
    "START",
    "%",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :PNAME_LN,
    :PNAME_NS],
  :_shexDoc_5 => [
    "START",
    "%",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :PNAME_LN,
    :PNAME_NS],
  :_shexDoc_6 => [
    :_eps,
    "BASE",
    "PREFIX",
    "START",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :PNAME_LN,
    :PNAME_NS],
  :_shexDoc_7 => [
    "BASE",
    "PREFIX",
    "START",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :PNAME_LN,
    :PNAME_NS],
  :_shexDoc_8 => [
    :_eps,
    "START",
    "%",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :PNAME_LN,
    :PNAME_NS],
  :_shexDoc_9 => [
    :_eps,
    "BASE",
    "PREFIX"],
  :start => [
    "START"],
  :startActions => [
    "%"],
  :_startActions_1 => [
    :_eps,
    "%"],
  :_startActions_2 => [
    "%"],
  :_startActions_3 => [
    :_eps,
    "%"],
  :_startActions_4 => [
    :_eps,
    "%"],
  :_start_1 => [
    "NOT",
    :_eps],
  :_start_2 => [
    ".",
    :ATPNAME_LN,
    :ATPNAME_NS,
    "(",
    "@",
    "LITERAL",
    "[",
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    :IRIREF,
    "{",
    :PNAME_LN,
    :PNAME_NS,
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS",
    "CLOSED",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "EXTRA"],
  :_start_3 => [
    :_eps,
    "OR",
    "AND"],
  :_start_4 => [
    "="],
  :_start_5 => [
    "NOT",
    ".",
    :ATPNAME_LN,
    :ATPNAME_NS,
    "(",
    "@",
    "LITERAL",
    "[",
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    :IRIREF,
    "{",
    :PNAME_LN,
    :PNAME_NS,
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS",
    "CLOSED",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "EXTRA"],
  :_start_6 => [
    ".",
    :ATPNAME_LN,
    :ATPNAME_NS,
    "(",
    "@",
    "LITERAL",
    "[",
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    :IRIREF,
    "{",
    :PNAME_LN,
    :PNAME_NS,
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS",
    "CLOSED",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "EXTRA"],
  :_start_7 => [
    :_eps,
    "OR",
    "AND"],
  :statement => [
    "BASE",
    "PREFIX",
    "START",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :PNAME_LN,
    :PNAME_NS],
  :string => [
    :STRING_LITERAL1,
    :STRING_LITERAL_LONG1,
    :STRING_LITERAL2,
    :STRING_LITERAL_LONG2],
  :stringFacet => [
    :REGEXP,
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH"],
  :_stringFacet_1 => [
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH"],
  :_stringFacet_2 => [
    :INTEGER],
  :stringLength => [
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH"],
  :tripleConstraint => [
    "^",
    :RDF_TYPE,
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :_tripleConstraint_1 => [
    :_eps,
    "^"],
  :_tripleConstraint_2 => [
    :_eps,
    "*",
    "+",
    "?",
    :REPEAT_RANGE],
  :_tripleConstraint_3 => [
    :_eps,
    "//"],
  :_tripleConstraint_4 => [
    "//"],
  :_tripleConstraint_5 => [
    :RDF_TYPE,
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :_tripleConstraint_6 => [
    :_eps,
    "//"],
  :_tripleConstraint_7 => [
    "NOT",
    ".",
    "(",
    "LITERAL",
    "[",
    :ATPNAME_LN,
    :ATPNAME_NS,
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    :IRIREF,
    "@",
    :PNAME_LN,
    :PNAME_NS,
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS",
    "{",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "CLOSED",
    "EXTRA"],
  :_tripleConstraint_8 => [
    "*",
    "+",
    "?",
    :REPEAT_RANGE,
    :_eps,
    "//",
    "%"],
  :_tripleConstraint_9 => [
    :_eps,
    "//",
    "%"],
  :tripleExpression => [
    "&",
    "$",
    "(",
    "^",
    :RDF_TYPE,
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :unaryTripleExpr => [
    "&",
    "$",
    "(",
    "^",
    :RDF_TYPE,
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :_unaryTripleExpr_1 => [
    "$",
    "(",
    "^",
    :RDF_TYPE,
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :_unaryTripleExpr_2 => [
    :_eps,
    "$"],
  :_unaryTripleExpr_3 => [
    "(",
    "^",
    :RDF_TYPE,
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :_unaryTripleExpr_4 => [
    "(",
    "^",
    :RDF_TYPE,
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :valueSet => [
    "["],
  :valueSetValue => [
    :LANGTAG,
    ".",
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    :LANG_STRING_LITERAL1,
    :LANG_STRING_LITERAL_LONG1,
    :LANG_STRING_LITERAL2,
    :LANG_STRING_LITERAL_LONG2,
    :STRING_LITERAL1,
    :STRING_LITERAL_LONG1,
    :STRING_LITERAL2,
    :STRING_LITERAL_LONG2],
  :_valueSetValue_1 => [
    "."],
  :_valueSetValue_2 => [
    "-"],
  :_valueSetValue_3 => [
    :_eps,
    "-"],
  :_valueSetValue_4 => [
    "-"],
  :_valueSetValue_5 => [
    "-"],
  :_valueSetValue_6 => [
    :_eps,
    "-"],
  :_valueSetValue_7 => [
    :_eps,
    "-"],
  :_valueSet_1 => [
    :_eps,
    :LANGTAG,
    ".",
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    :LANG_STRING_LITERAL1,
    :LANG_STRING_LITERAL_LONG1,
    :LANG_STRING_LITERAL2,
    :LANG_STRING_LITERAL_LONG2,
    :STRING_LITERAL1,
    :STRING_LITERAL_LONG1,
    :STRING_LITERAL2,
    :STRING_LITERAL_LONG2],
  :_valueSet_2 => [
    :LANGTAG,
    ".",
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    :LANG_STRING_LITERAL1,
    :LANG_STRING_LITERAL_LONG1,
    :LANG_STRING_LITERAL2,
    :LANG_STRING_LITERAL_LONG2,
    :STRING_LITERAL1,
    :STRING_LITERAL_LONG1,
    :STRING_LITERAL2,
    :STRING_LITERAL_LONG2],
  :_valueSet_3 => [
    "]",
    :LANGTAG,
    ".",
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    :LANG_STRING_LITERAL1,
    :LANG_STRING_LITERAL_LONG1,
    :LANG_STRING_LITERAL2,
    :LANG_STRING_LITERAL_LONG2,
    :STRING_LITERAL1,
    :STRING_LITERAL_LONG1,
    :STRING_LITERAL2,
    :STRING_LITERAL_LONG2],
  :_valueSet_4 => [
    :_eps,
    :LANGTAG,
    ".",
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    :LANG_STRING_LITERAL1,
    :LANG_STRING_LITERAL_LONG1,
    :LANG_STRING_LITERAL2,
    :LANG_STRING_LITERAL_LONG2,
    :STRING_LITERAL1,
    :STRING_LITERAL_LONG1,
    :STRING_LITERAL2,
    :STRING_LITERAL_LONG2],
  :_valueSet_5 => [
    "]"],
  :xsFacet => [
    :REGEXP,
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS"],
}.freeze
FOLLOW =
{
  :annotation => [
    "//",
    ")",
    "%",
    :_eof,
    "}",
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    "OR",
    "AND",
    ";",
    "|",
    "BASE",
    "PREFIX",
    "START",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :PNAME_LN,
    :PNAME_NS],
  :_annotation_1 => [
    "//",
    ")",
    "%",
    :_eof,
    "}",
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    "OR",
    "AND",
    ";",
    "|",
    "BASE",
    "PREFIX",
    "START",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :PNAME_LN,
    :PNAME_NS],
  :_annotation_2 => [
    "//",
    ")",
    "%",
    :_eof,
    "}",
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    "OR",
    "AND",
    ";",
    "|",
    "BASE",
    "PREFIX",
    "START",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :PNAME_LN,
    :PNAME_NS],
  :_annotation_3 => [
    "//",
    ")",
    "%",
    :_eof,
    "}",
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    "OR",
    "AND",
    ";",
    "|",
    "BASE",
    "PREFIX",
    "START",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :PNAME_LN,
    :PNAME_NS],
  :baseDecl => [
    :_eof,
    "BASE",
    "PREFIX",
    "START",
    "%",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :PNAME_LN,
    :PNAME_NS],
  :_baseDecl_1 => [
    :_eof,
    "BASE",
    "PREFIX",
    "START",
    "%",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :PNAME_LN,
    :PNAME_NS],
  :blankNode => [
    "EXTERNAL",
    "(",
    ")",
    "}",
    "NOT",
    :_eof,
    "OR",
    ";",
    "|",
    ".",
    :ATPNAME_LN,
    :ATPNAME_NS,
    "^",
    :RDF_TYPE,
    :IRIREF,
    "AND",
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    "*",
    "+",
    "?",
    :REPEAT_RANGE,
    "@",
    :PNAME_LN,
    :PNAME_NS,
    "BASE",
    "PREFIX",
    "START",
    "LITERAL",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "//",
    "%",
    "[",
    :BLANK_NODE_LABEL,
    "{",
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS",
    "CLOSED",
    "EXTRA"],
  :booleanLiteral => [
    "~",
    "]",
    "-",
    :LANGTAG,
    ".",
    "//",
    ")",
    :IRIREF,
    "%",
    :_eof,
    "}",
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    "OR",
    "AND",
    ";",
    "|",
    :LANG_STRING_LITERAL1,
    :LANG_STRING_LITERAL_LONG1,
    :LANG_STRING_LITERAL2,
    :LANG_STRING_LITERAL_LONG2,
    "BASE",
    "PREFIX",
    "START",
    :STRING_LITERAL1,
    :STRING_LITERAL_LONG1,
    :STRING_LITERAL2,
    :STRING_LITERAL_LONG2,
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    :BLANK_NODE_LABEL],
  :bracketedTripleExpr => [
    ")",
    "}",
    ";",
    "|"],
  :_bracketedTripleExpr_1 => [
    "//",
    "%",
    ")",
    "}",
    ";",
    "|"],
  :_bracketedTripleExpr_2 => [
    "%",
    ")",
    "}",
    ";",
    "|"],
  :_bracketedTripleExpr_3 => [
    "%",
    ")",
    "}",
    ";",
    "|"],
  :_bracketedTripleExpr_4 => [
    ")",
    "}",
    ";",
    "|"],
  :_bracketedTripleExpr_5 => [
    "%",
    ")",
    "}",
    ";",
    "|"],
  :_bracketedTripleExpr_6 => [
    ")",
    "}",
    ";",
    "|"],
  :_bracketedTripleExpr_7 => [
    ")",
    "}",
    ";",
    "|"],
  :_bracketedTripleExpr_8 => [
    ")",
    "}",
    ";",
    "|"],
  :cardinality => [
    "//",
    "%",
    ")",
    "}",
    ";",
    "|"],
  :codeDecl => [
    :_eof,
    "%",
    "BASE",
    "PREFIX",
    "START",
    ")",
    "}",
    :IRIREF,
    :BLANK_NODE_LABEL,
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    "OR",
    "AND",
    ";",
    "|",
    :PNAME_LN,
    :PNAME_NS,
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH"],
  :_codeDecl_1 => [
    :_eof,
    "%",
    "BASE",
    "PREFIX",
    "START",
    ")",
    "}",
    :IRIREF,
    :BLANK_NODE_LABEL,
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    "OR",
    "AND",
    ";",
    "|",
    :PNAME_LN,
    :PNAME_NS,
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH"],
  :_codeDecl_2 => [
    :_eof,
    "%",
    "BASE",
    "PREFIX",
    "START",
    ")",
    "}",
    :IRIREF,
    :BLANK_NODE_LABEL,
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    "OR",
    "AND",
    ";",
    "|",
    :PNAME_LN,
    :PNAME_NS,
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH"],
  :_codeDecl_3 => [
    :_eof,
    "%",
    "BASE",
    "PREFIX",
    "START",
    ")",
    "}",
    :IRIREF,
    :BLANK_NODE_LABEL,
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    "OR",
    "AND",
    ";",
    "|",
    :PNAME_LN,
    :PNAME_NS,
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH"],
  :datatype => [
    ")",
    :_eof,
    "~",
    "]",
    :REGEXP,
    "AND",
    "OR",
    "*",
    "+",
    "?",
    :REPEAT_RANGE,
    "BASE",
    "PREFIX",
    "START",
    "}",
    "-",
    :LANGTAG,
    ".",
    "//",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS",
    "%",
    ";",
    "|",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    "IRI",
    "BNODE",
    "NONLITERAL",
    :LANG_STRING_LITERAL1,
    :LANG_STRING_LITERAL_LONG1,
    :LANG_STRING_LITERAL2,
    :LANG_STRING_LITERAL_LONG2,
    :STRING_LITERAL1,
    :STRING_LITERAL_LONG1,
    :STRING_LITERAL2,
    :STRING_LITERAL_LONG2],
  :directive => [
    :_eof,
    "BASE",
    "PREFIX",
    "START",
    "%",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :PNAME_LN,
    :PNAME_NS],
  :exclusion => [
    "-",
    "]",
    :LANGTAG,
    ".",
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    :LANG_STRING_LITERAL1,
    :LANG_STRING_LITERAL_LONG1,
    :LANG_STRING_LITERAL2,
    :LANG_STRING_LITERAL_LONG2,
    :STRING_LITERAL1,
    :STRING_LITERAL_LONG1,
    :STRING_LITERAL2,
    :STRING_LITERAL_LONG2],
  :_exclusion_1 => [
    "~",
    "-",
    "]",
    :LANGTAG,
    ".",
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    :LANG_STRING_LITERAL1,
    :LANG_STRING_LITERAL_LONG1,
    :LANG_STRING_LITERAL2,
    :LANG_STRING_LITERAL_LONG2,
    :STRING_LITERAL1,
    :STRING_LITERAL_LONG1,
    :STRING_LITERAL2,
    :STRING_LITERAL_LONG2],
  :_exclusion_2 => [
    "-",
    "]",
    :LANGTAG,
    ".",
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    :LANG_STRING_LITERAL1,
    :LANG_STRING_LITERAL_LONG1,
    :LANG_STRING_LITERAL2,
    :LANG_STRING_LITERAL_LONG2,
    :STRING_LITERAL1,
    :STRING_LITERAL_LONG1,
    :STRING_LITERAL2,
    :STRING_LITERAL_LONG2],
  :_exclusion_3 => [
    "-",
    "]",
    :LANGTAG,
    ".",
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    :LANG_STRING_LITERAL1,
    :LANG_STRING_LITERAL_LONG1,
    :LANG_STRING_LITERAL2,
    :LANG_STRING_LITERAL_LONG2,
    :STRING_LITERAL1,
    :STRING_LITERAL_LONG1,
    :STRING_LITERAL2,
    :STRING_LITERAL_LONG2],
  :_exclusion_4 => [
    "-",
    "]",
    :LANGTAG,
    ".",
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    :LANG_STRING_LITERAL1,
    :LANG_STRING_LITERAL_LONG1,
    :LANG_STRING_LITERAL2,
    :LANG_STRING_LITERAL_LONG2,
    :STRING_LITERAL1,
    :STRING_LITERAL_LONG1,
    :STRING_LITERAL2,
    :STRING_LITERAL_LONG2],
  :extraPropertySet => [
    "{",
    "CLOSED",
    "EXTRA"],
  :_extraPropertySet_1 => [
    "{",
    "CLOSED",
    "EXTRA"],
  :_extraPropertySet_2 => [
    "{",
    "CLOSED",
    "EXTRA"],
  :_extraPropertySet_3 => [
    "{",
    "CLOSED",
    "EXTRA"],
  :_extraPropertySet_4 => [
    "{",
    "CLOSED",
    "EXTRA"],
  :_extraPropertySet_5 => [
    "{",
    "CLOSED",
    "EXTRA"],
  :_extraPropertySet_6 => [
    "{",
    "CLOSED",
    "EXTRA"],
  :groupTripleExpr => [
    ")",
    "}",
    "|"],
  :_groupTripleExpr_1 => [
    ")",
    "}",
    "|"],
  :_groupTripleExpr_2 => [
    ";",
    ")",
    "}",
    "|"],
  :_groupTripleExpr_3 => [
    ")",
    "}",
    "|"],
  :_groupTripleExpr_4 => [
    ";",
    ")",
    "}",
    "|"],
  :_groupTripleExpr_5 => [
    ")",
    "}",
    "|"],
  :_groupTripleExpr_6 => [
    ")",
    "}",
    "|"],
  :_groupTripleExpr_7 => [
    ";",
    ")",
    "}",
    "|"],
  :include => [
    ")",
    "}",
    ";",
    "|"],
  :_include_1 => [
    ")",
    "}",
    ";",
    "|"],
  :inlineShapeAnd => [
    "OR",
    "*",
    "+",
    "?",
    :REPEAT_RANGE,
    ")",
    "}",
    "//",
    "%",
    ";",
    "|"],
  :_inlineShapeAnd_1 => [
    "OR",
    "*",
    "+",
    "?",
    :REPEAT_RANGE,
    ")",
    "}",
    "//",
    "%",
    ";",
    "|"],
  :_inlineShapeAnd_2 => [
    "AND",
    "OR",
    "*",
    "+",
    "?",
    :REPEAT_RANGE,
    ")",
    "}",
    "//",
    "%",
    ";",
    "|"],
  :_inlineShapeAnd_3 => [
    "OR",
    "*",
    "+",
    "?",
    :REPEAT_RANGE,
    ")",
    "}",
    "//",
    "%",
    ";",
    "|"],
  :_inlineShapeAnd_4 => [
    "OR",
    "*",
    "+",
    "?",
    :REPEAT_RANGE,
    ")",
    "}",
    "//",
    "%",
    ";",
    "|"],
  :_inlineShapeAnd_5 => [
    "OR",
    "*",
    "+",
    "?",
    :REPEAT_RANGE,
    ")",
    "}",
    "//",
    "%",
    ";",
    "|"],
  :_inlineShapeAnd_6 => [
    "AND",
    "OR",
    "*",
    "+",
    "?",
    :REPEAT_RANGE,
    ")",
    "}",
    "//",
    "%",
    ";",
    "|"],
  :inlineShapeAtom => [
    "AND",
    "OR",
    "*",
    "+",
    "?",
    :REPEAT_RANGE,
    ")",
    "}",
    "//",
    "%",
    ";",
    "|"],
  :_inlineShapeAtom_1 => [
    "AND",
    "OR",
    "*",
    "+",
    "?",
    :REPEAT_RANGE,
    ")",
    "}",
    "//",
    "%",
    ";",
    "|"],
  :_inlineShapeAtom_2 => [
    "AND",
    "OR",
    "*",
    "+",
    "?",
    :REPEAT_RANGE,
    ")",
    "}",
    "//",
    "%",
    ";",
    "|"],
  :_inlineShapeAtom_3 => [
    "AND",
    "OR",
    "*",
    "+",
    "?",
    :REPEAT_RANGE,
    ")",
    "}",
    "//",
    "%",
    ";",
    "|"],
  :_inlineShapeAtom_4 => [
    "AND",
    "OR",
    "*",
    "+",
    "?",
    :REPEAT_RANGE,
    ")",
    "}",
    "//",
    "%",
    ";",
    "|"],
  :_inlineShapeAtom_5 => [
    "AND",
    "OR",
    "*",
    "+",
    "?",
    :REPEAT_RANGE,
    ")",
    "}",
    "//",
    "%",
    ";",
    "|"],
  :_inlineShapeAtom_6 => [
    "AND",
    "OR",
    "*",
    "+",
    "?",
    :REPEAT_RANGE,
    ")",
    "}",
    "//",
    "%",
    ";",
    "|"],
  :_inlineShapeAtom_7 => [
    "AND",
    "OR",
    "*",
    "+",
    "?",
    :REPEAT_RANGE,
    ")",
    "}",
    "//",
    "%",
    ";",
    "|"],
  :_inlineShapeAtom_8 => [
    "AND",
    "OR",
    "*",
    "+",
    "?",
    :REPEAT_RANGE,
    ")",
    "}",
    "//",
    "%",
    ";",
    "|"],
  :_inlineShapeAtom_9 => [
    "AND",
    "OR",
    "*",
    "+",
    "?",
    :REPEAT_RANGE,
    ")",
    "}",
    "//",
    "%",
    ";",
    "|"],
  :inlineShapeDefinition => [
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    "AND",
    "OR",
    "*",
    "+",
    "?",
    :REPEAT_RANGE,
    ")",
    "}",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "//",
    "%",
    ";",
    "|"],
  :_inlineShapeDefinition_1 => [
    "{"],
  :_inlineShapeDefinition_2 => [
    "}"],
  :_inlineShapeDefinition_3 => [
    "{",
    "CLOSED",
    "EXTRA"],
  :_inlineShapeDefinition_4 => [
    "{"],
  :_inlineShapeDefinition_5 => [
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    "AND",
    "OR",
    "*",
    "+",
    "?",
    :REPEAT_RANGE,
    ")",
    "}",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "//",
    "%",
    ";",
    "|"],
  :_inlineShapeDefinition_6 => [
    "{"],
  :_inlineShapeDefinition_7 => [
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    "AND",
    "OR",
    "*",
    "+",
    "?",
    :REPEAT_RANGE,
    ")",
    "}",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "//",
    "%",
    ";",
    "|"],
  :_inlineShapeDefinition_8 => [
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    "AND",
    "OR",
    "*",
    "+",
    "?",
    :REPEAT_RANGE,
    ")",
    "}",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "//",
    "%",
    ";",
    "|"],
  :inlineShapeExpression => [
    "*",
    "+",
    "?",
    :REPEAT_RANGE,
    ")",
    "}",
    "//",
    "%",
    ";",
    "|"],
  :inlineShapeNot => [
    "AND",
    "OR",
    "*",
    "+",
    "?",
    :REPEAT_RANGE,
    ")",
    "}",
    "//",
    "%",
    ";",
    "|"],
  :_inlineShapeNot_1 => [
    ".",
    "(",
    "LITERAL",
    "[",
    :ATPNAME_LN,
    :ATPNAME_NS,
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    :IRIREF,
    "@",
    :PNAME_LN,
    :PNAME_NS,
    "MININCLUSIVE",
    "MINEXCLUSIVE",
    "MAXINCLUSIVE",
    "MAXEXCLUSIVE",
    "TOTALDIGITS",
    "FRACTIONDIGITS",
    "{",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "CLOSED",
    "EXTRA"],
  :_inlineShapeNot_2 => [
    "AND",
    "OR",
    "*",
    "+",
    "?",
    :REPEAT_RANGE,
    ")",
    "}",
    "//",
    "%",
    ";",
    "|"],
  :inlineShapeOr => [
    "*",
    "+",
    "?",
    :REPEAT_RANGE,
    ")",
    "}",
    "//",
    "%",
    ";",
    "|"],
  :inlineShapeOrRef => [
    "IRI",
    "BNODE",
    "NONLITERAL",
    :REGEXP,
    "AND",
    "OR",
    "*",
    "+",
    "?",
    :REPEAT_RANGE,
    ")",
    "}",
    "LENGTH",
    "MINLENGTH",
    "MAXLENGTH",
    "//",
    "%",
    ";",
    "|"],
  :_inlineShapeOr_1 => [
    "*",
    "+",
    "?",
    :REPEAT_RANGE,
    ")",
    "}",
    "//",
    "%",
    ";",
    "|"],
  :_inlineShapeOr_2 => [
    "OR",
    "*",
    "+",
    "?",
    :REPEAT_RANGE,
    ")",
    "}",
    "//",
    "%",
    ";",
    "|"],
  :_inlineShapeOr_3 => [
    "*",
    "+",
    "?",
    :REPEAT_RANGE,
    ")",
    "}",
    "//",
    "%",
    ";",
    "|"],
  :_inlineShapeOr_4 => [
    "*",
    "+",
    "?",
    :REPEAT_RANGE,
    ")",
    "}",
    "//",
    "%",
    ";",
    "|"],
  :_inlineShapeOr_5 => [
    "*",
    "+",
    "?",
    :REPEAT_RANGE,
    ")",
    "}",
    "//",
    "%",
    ";",
    "|"],
  :_inlineShapeOr_6 => [
    "OR",
    "*",
    "+",
    "?",
    :REPEAT_RANGE,
    ")",
    "}",
    "//",
    "%",
    ";",
    "|"],
  :iri => [
    "EXTERNAL",
    "~",
    :CODE,
    "%",
    "]",
    ")",
    "(",
    :IRIREF,
    :RDF_TYPE,
    "{",
    :_eof,
    "}",
    "NOT",
    "-",
    :LANGTAG,
    ".",
    "//",
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    "CLOSED",
    :REGEXP,
    "AND",
    "OR",
    "*",
    "+",
    "?",
    :REPEAT_RANGE,
    ";",
    "|",
    :ATPNAME_LN,
    :ATPNAME_NS,
    "^",
    :LANG_STRING_LITERAL1,
    :LANG_STRING_LITERAL_LONG1,
    :LANG_STRING_LITERAL2,
    :LANG_STRING_LITERAL_LONG2,
    "EXTRA",
    "BASE",
    "PREFIX",
    "START",