Module: LD::Patch::Meta

Included in:
Parser
Defined in:
lib/ld/patch/meta.rb

Overview

This file is automatically generated by /Users/gregg/.rvm/gems/ruby-2.3.3/bundler/gems/ebnf-7d5f4b7c477c/lib/ebnf/base.rb BRANCH derived from etc/ld-patch.ebnf

Constant Summary collapse

START =
:ldpatch
BRANCH =
{
  :BlankNode => {
    :ANON => [:ANON],
    :BLANK_NODE_LABEL => [:BLANK_NODE_LABEL],
  },
  :BooleanLiteral => {
    "false" => ["false"],
    "true" => ["true"],
  },
  :NumericLiteral => {
    :DECIMAL => [:DECIMAL],
    :DOUBLE => [:DOUBLE],
    :INTEGER => [:INTEGER],
  },
  :PrefixedName => {
    :PNAME_LN => [:PNAME_LN],
    :PNAME_NS => [:PNAME_NS],
  },
  :RDFLiteral => {
    :STRING_LITERAL_LONG_QUOTE => [:String, :_RDFLiteral_1],
    :STRING_LITERAL_LONG_SINGLE_QUOTE => [:String, :_RDFLiteral_1],
    :STRING_LITERAL_QUOTE => [:String, :_RDFLiteral_1],
    :STRING_LITERAL_SINGLE_QUOTE => [:String, :_RDFLiteral_1],
  },
  :_RDFLiteral_1 => {
    "!" => [],
    "(" => [],
    ")" => [],
    "," => [],
    "." => [],
    "/" => [],
    ";" => [],
    :ANON => [],
    :BLANK_NODE_LABEL => [],
    :DECIMAL => [],
    :DOUBLE => [],
    :INTEGER => [],
    :IRIREF => [],
    :LANGTAG => [:_RDFLiteral_2],
    :PNAME_LN => [],
    :PNAME_NS => [],
    :STRING_LITERAL_LONG_QUOTE => [],
    :STRING_LITERAL_LONG_SINGLE_QUOTE => [],
    :STRING_LITERAL_QUOTE => [],
    :STRING_LITERAL_SINGLE_QUOTE => [],
    :VAR1 => [],
    "[" => [],
    "]" => [],
    "^^" => [:_RDFLiteral_2],
    "false" => [],
    "true" => [],
    "}" => [],
  },
  :_RDFLiteral_2 => {
    :LANGTAG => [:LANGTAG],
    "^^" => [:_RDFLiteral_3],
  },
  :_RDFLiteral_3 => {
    "^^" => ["^^", :iri],
  },
  :String => {
    :STRING_LITERAL_LONG_QUOTE => [:STRING_LITERAL_LONG_QUOTE],
    :STRING_LITERAL_LONG_SINGLE_QUOTE => [:STRING_LITERAL_LONG_SINGLE_QUOTE],
    :STRING_LITERAL_QUOTE => [:STRING_LITERAL_QUOTE],
    :STRING_LITERAL_SINGLE_QUOTE => [:STRING_LITERAL_SINGLE_QUOTE],
  },
  :add => {
    "A" => [:_add_1, "{", :graph, "}", "."],
    "Add" => [:_add_1, "{", :graph, "}", "."],
  },
  :addNew => {
    "AN" => [:_addNew_1, "{", :graph, "}", "."],
    "AddNew" => [:_addNew_1, "{", :graph, "}", "."],
  },
  :_addNew_1 => {
    "AN" => ["AN"],
    "AddNew" => ["AddNew"],
  },
  :_add_1 => {
    "A" => ["A"],
    "Add" => ["Add"],
  },
  :bind => {
    "B" => [:_bind_1, :VAR1, :value, :_bind_2, "."],
    "Bind" => [:_bind_1, :VAR1, :value, :_bind_2, "."],
  },
  :_bind_1 => {
    "B" => ["B"],
    "Bind" => ["Bind"],
  },
  :_bind_2 => {
    "!" => [:path],
    "." => [],
    "/" => [:path],
    "[" => [:path],
  },
  :blankNodePropertyList => {
    "[" => ["[", :predicateObjectList, "]"],
  },
  :collection => {
    "(" => ["(", :_collection_1, ")"],
  },
  :_collection_1 => {
    "(" => [:_collection_2],
    ")" => [],
    :ANON => [:_collection_2],
    :BLANK_NODE_LABEL => [:_collection_2],
    :DECIMAL => [:_collection_2],
    :DOUBLE => [:_collection_2],
    :INTEGER => [:_collection_2],
    :IRIREF => [:_collection_2],
    :PNAME_LN => [:_collection_2],
    :PNAME_NS => [:_collection_2],
    :STRING_LITERAL_LONG_QUOTE => [:_collection_2],
    :STRING_LITERAL_LONG_SINGLE_QUOTE => [:_collection_2],
    :STRING_LITERAL_QUOTE => [:_collection_2],
    :STRING_LITERAL_SINGLE_QUOTE => [:_collection_2],
    :VAR1 => [:_collection_2],
    "[" => [:_collection_2],
    "false" => [:_collection_2],
    "true" => [:_collection_2],
  },
  :_collection_2 => {
    "(" => [:object, :_collection_1],
    :ANON => [:object, :_collection_1],
    :BLANK_NODE_LABEL => [:object, :_collection_1],
    :DECIMAL => [:object, :_collection_1],
    :DOUBLE => [:object, :_collection_1],
    :INTEGER => [:object, :_collection_1],
    :IRIREF => [:object, :_collection_1],
    :PNAME_LN => [:object, :_collection_1],
    :PNAME_NS => [:object, :_collection_1],
    :STRING_LITERAL_LONG_QUOTE => [:object, :_collection_1],
    :STRING_LITERAL_LONG_SINGLE_QUOTE => [:object, :_collection_1],
    :STRING_LITERAL_QUOTE => [:object, :_collection_1],
    :STRING_LITERAL_SINGLE_QUOTE => [:object, :_collection_1],
    :VAR1 => [:object, :_collection_1],
    "[" => [:object, :_collection_1],
    "false" => [:object, :_collection_1],
    "true" => [:object, :_collection_1],
  },
  :constraint => {
    "!" => ["!"],
    "[" => [:_constraint_1],
  },
  :_constraint_1 => {
    "[" => ["[", :path, :_constraint_2, "]"],
  },
  :_constraint_2 => {
    "=" => [:_constraint_3],
    "]" => [],
  },
  :_constraint_3 => {
    "=" => ["=", :value],
  },
  :cut => {
    "C" => [:_cut_1, :VAR1, "."],
    "Cut" => [:_cut_1, :VAR1, "."],
  },
  :_cut_1 => {
    "C" => ["C"],
    "Cut" => ["Cut"],
  },
  :delete => {
    "D" => [:_delete_1, "{", :graph, "}", "."],
    "Delete" => [:_delete_1, "{", :graph, "}", "."],
  },
  :deleteExisting => {
    "DE" => [:_deleteExisting_1, "{", :graph, "}", "."],
    "DeleteExisting" => [:_deleteExisting_1, "{", :graph, "}", "."],
  },
  :_deleteExisting_1 => {
    "DE" => ["DE"],
    "DeleteExisting" => ["DeleteExisting"],
  },
  :_delete_1 => {
    "D" => ["D"],
    "Delete" => ["Delete"],
  },
  :graph => {
    "(" => [:triples, :_graph_1],
    :ANON => [:triples, :_graph_1],
    :BLANK_NODE_LABEL => [:triples, :_graph_1],
    :IRIREF => [:triples, :_graph_1],
    :PNAME_LN => [:triples, :_graph_1],
    :PNAME_NS => [:triples, :_graph_1],
    :VAR1 => [:triples, :_graph_1],
    "[" => [:triples, :_graph_1],
  },
  :_graph_1 => {
    "." => [:_graph_3],
    "}" => [],
  },
  :_graph_2 => {
    "." => [".", :_graph_4],
  },
  :_graph_3 => {
    "." => [:_graph_2, :_graph_1],
  },
  :_graph_4 => {
    "(" => [:triples],
    "." => [],
    :ANON => [:triples],
    :BLANK_NODE_LABEL => [:triples],
    :IRIREF => [:triples],
    :PNAME_LN => [:triples],
    :PNAME_NS => [:triples],
    :VAR1 => [:triples],
    "[" => [:triples],
    "}" => [],
  },
  :iri => {
    :IRIREF => [:IRIREF],
    :PNAME_LN => [:PrefixedName],
    :PNAME_NS => [:PrefixedName],
  },
  :ldpatch => {
    "@prefix" => [:prologue, :_ldpatch_1],
    "A" => [:prologue, :_ldpatch_1],
    "AN" => [:prologue, :_ldpatch_1],
    "Add" => [:prologue, :_ldpatch_1],
    "AddNew" => [:prologue, :_ldpatch_1],
    "B" => [:prologue, :_ldpatch_1],
    "Bind" => [:prologue, :_ldpatch_1],
    "C" => [:prologue, :_ldpatch_1],
    "Cut" => [:prologue, :_ldpatch_1],
    "D" => [:prologue, :_ldpatch_1],
    "DE" => [:prologue, :_ldpatch_1],
    "Delete" => [:prologue, :_ldpatch_1],
    "DeleteExisting" => [:prologue, :_ldpatch_1],
    "UL" => [:prologue, :_ldpatch_1],
    "UpdateList" => [:prologue, :_ldpatch_1],
  },
  :_ldpatch_1 => {
    "A" => [:_ldpatch_2],
    "AN" => [:_ldpatch_2],
    "Add" => [:_ldpatch_2],
    "AddNew" => [:_ldpatch_2],
    "B" => [:_ldpatch_2],
    "Bind" => [:_ldpatch_2],
    "C" => [:_ldpatch_2],
    "Cut" => [:_ldpatch_2],
    "D" => [:_ldpatch_2],
    "DE" => [:_ldpatch_2],
    "Delete" => [:_ldpatch_2],
    "DeleteExisting" => [:_ldpatch_2],
    "UL" => [:_ldpatch_2],
    "UpdateList" => [:_ldpatch_2],
  },
  :_ldpatch_2 => {
    "A" => [:statement, :_ldpatch_1],
    "AN" => [:statement, :_ldpatch_1],
    "Add" => [:statement, :_ldpatch_1],
    "AddNew" => [:statement, :_ldpatch_1],
    "B" => [:statement, :_ldpatch_1],
    "Bind" => [:statement, :_ldpatch_1],
    "C" => [:statement, :_ldpatch_1],
    "Cut" => [:statement, :_ldpatch_1],
    "D" => [:statement, :_ldpatch_1],
    "DE" => [:statement, :_ldpatch_1],
    "Delete" => [:statement, :_ldpatch_1],
    "DeleteExisting" => [:statement, :_ldpatch_1],
    "UL" => [:statement, :_ldpatch_1],
    "UpdateList" => [:statement, :_ldpatch_1],
  },
  :literal => {
    :DECIMAL => [:NumericLiteral],
    :DOUBLE => [:NumericLiteral],
    :INTEGER => [:NumericLiteral],
    :STRING_LITERAL_LONG_QUOTE => [:RDFLiteral],
    :STRING_LITERAL_LONG_SINGLE_QUOTE => [:RDFLiteral],
    :STRING_LITERAL_QUOTE => [:RDFLiteral],
    :STRING_LITERAL_SINGLE_QUOTE => [:RDFLiteral],
    "false" => [:BooleanLiteral],
    "true" => [:BooleanLiteral],
  },
  :object => {
    "(" => [:collection],
    :ANON => [:BlankNode],
    :BLANK_NODE_LABEL => [:BlankNode],
    :DECIMAL => [:literal],
    :DOUBLE => [:literal],
    :INTEGER => [:literal],
    :IRIREF => [:iri],
    :PNAME_LN => [:iri],
    :PNAME_NS => [:iri],
    :STRING_LITERAL_LONG_QUOTE => [:literal],
    :STRING_LITERAL_LONG_SINGLE_QUOTE => [:literal],
    :STRING_LITERAL_QUOTE => [:literal],
    :STRING_LITERAL_SINGLE_QUOTE => [:literal],
    :VAR1 => [:VAR1],
    "[" => [:blankNodePropertyList],
    "false" => [:literal],
    "true" => [:literal],
  },
  :objectList => {
    "(" => [:object, :_objectList_1],
    :ANON => [:object, :_objectList_1],
    :BLANK_NODE_LABEL => [:object, :_objectList_1],
    :DECIMAL => [:object, :_objectList_1],
    :DOUBLE => [:object, :_objectList_1],
    :INTEGER => [:object, :_objectList_1],
    :IRIREF => [:object, :_objectList_1],
    :PNAME_LN => [:object, :_objectList_1],
    :PNAME_NS => [:object, :_objectList_1],
    :STRING_LITERAL_LONG_QUOTE => [:object, :_objectList_1],
    :STRING_LITERAL_LONG_SINGLE_QUOTE => [:object, :_objectList_1],
    :STRING_LITERAL_QUOTE => [:object, :_objectList_1],
    :STRING_LITERAL_SINGLE_QUOTE => [:object, :_objectList_1],
    :VAR1 => [:object, :_objectList_1],
    "[" => [:object, :_objectList_1],
    "false" => [:object, :_objectList_1],
    "true" => [:object, :_objectList_1],
  },
  :_objectList_1 => {
    "," => [:_objectList_3],
    "." => [],
    ";" => [],
    "]" => [],
    "}" => [],
  },
  :_objectList_2 => {
    "," => [",", :object],
  },
  :_objectList_3 => {
    "," => [:_objectList_2, :_objectList_1],
  },
  :path => {
    "!" => [:_path_2],
    "." => [],
    "/" => [:_path_2],
    "=" => [],
    "[" => [:_path_2],
    "]" => [],
  },
  :_path_1 => {
    "!" => [:constraint],
    "/" => [:_path_3],
    "[" => [:constraint],
  },
  :_path_2 => {
    "!" => [:_path_1, :path],
    "/" => [:_path_1, :path],
    "[" => [:_path_1, :path],
  },
  :_path_3 => {
    "/" => ["/", :step],
  },
  :predicate => {
    :IRIREF => [:iri],
    :PNAME_LN => [:iri],
    :PNAME_NS => [:iri],
  },
  :predicateObjectList => {
    :IRIREF => [:verb, :objectList, :_predicateObjectList_1],
    :PNAME_LN => [:verb, :objectList, :_predicateObjectList_1],
    :PNAME_NS => [:verb, :objectList, :_predicateObjectList_1],
    "a" => [:verb, :objectList, :_predicateObjectList_1],
  },
  :_predicateObjectList_1 => {
    "." => [],
    ";" => [:_predicateObjectList_3],
    "]" => [],
    "}" => [],
  },
  :_predicateObjectList_2 => {
    ";" => [";", :_predicateObjectList_4],
  },
  :_predicateObjectList_3 => {
    ";" => [:_predicateObjectList_2, :_predicateObjectList_1],
  },
  :_predicateObjectList_4 => {
    "." => [],
    ";" => [],
    :IRIREF => [:_predicateObjectList_5],
    :PNAME_LN => [:_predicateObjectList_5],
    :PNAME_NS => [:_predicateObjectList_5],
    "]" => [],
    "a" => [:_predicateObjectList_5],
    "}" => [],
  },
  :_predicateObjectList_5 => {
    :IRIREF => [:verb, :objectList],
    :PNAME_LN => [:verb, :objectList],
    :PNAME_NS => [:verb, :objectList],
    "a" => [:verb, :objectList],
  },
  :prefixID => {
    "@prefix" => ["@prefix", :PNAME_NS, :IRIREF, "."],
  },
  :prologue => {
    "@prefix" => [:_prologue_1],
    "A" => [],
    "AN" => [],
    "Add" => [],
    "AddNew" => [],
    "B" => [],
    "Bind" => [],
    "C" => [],
    "Cut" => [],
    "D" => [],
    "DE" => [],
    "Delete" => [],
    "DeleteExisting" => [],
    "UL" => [],
    "UpdateList" => [],
  },
  :_prologue_1 => {
    "@prefix" => [:prefixID, :prologue],
  },
  :slice => {
    ".." => [:_slice_1, "..", :_slice_2],
    :INTEGER => [:_slice_1, "..", :_slice_2],
  },
  :_slice_1 => {
    ".." => [],
    :INTEGER => [:INTEGER],
  },
  :_slice_2 => {
    "(" => [],
    :INTEGER => [:INTEGER],
  },
  :statement => {
    "A" => [:add],
    "AN" => [:addNew],
    "Add" => [:add],
    "AddNew" => [:addNew],
    "B" => [:bind],
    "Bind" => [:bind],
    "C" => [:cut],
    "Cut" => [:cut],
    "D" => [:delete],
    "DE" => [:deleteExisting],
    "Delete" => [:delete],
    "DeleteExisting" => [:deleteExisting],
    "UL" => [:updateList],
    "UpdateList" => [:updateList],
  },
  :step => {
    :INTEGER => [:INTEGER],
    :IRIREF => [:iri],
    :PNAME_LN => [:iri],
    :PNAME_NS => [:iri],
    "^" => [:_step_1],
  },
  :_step_1 => {
    "^" => ["^", :iri],
  },
  :subject => {
    "(" => [:collection],
    :ANON => [:BlankNode],
    :BLANK_NODE_LABEL => [:BlankNode],
    :IRIREF => [:iri],
    :PNAME_LN => [:iri],
    :PNAME_NS => [:iri],
    :VAR1 => [:VAR1],
  },
  :triples => {
    "(" => [:_triples_1],
    :ANON => [:_triples_1],
    :BLANK_NODE_LABEL => [:_triples_1],
    :IRIREF => [:_triples_1],
    :PNAME_LN => [:_triples_1],
    :PNAME_NS => [:_triples_1],
    :VAR1 => [:_triples_1],
    "[" => [:_triples_2],
  },
  :_triples_1 => {
    "(" => [:subject, :predicateObjectList],
    :ANON => [:subject, :predicateObjectList],
    :BLANK_NODE_LABEL => [:subject, :predicateObjectList],
    :IRIREF => [:subject, :predicateObjectList],
    :PNAME_LN => [:subject, :predicateObjectList],
    :PNAME_NS => [:subject, :predicateObjectList],
    :VAR1 => [:subject, :predicateObjectList],
  },
  :_triples_2 => {
    "[" => [:blankNodePropertyList, :_triples_3],
  },
  :_triples_3 => {
    "." => [],
    :IRIREF => [:predicateObjectList],
    :PNAME_LN => [:predicateObjectList],
    :PNAME_NS => [:predicateObjectList],
    "a" => [:predicateObjectList],
    "}" => [],
  },
  :updateList => {
    "UL" => [:_updateList_1, :varOrIRI, :predicate, :slice, :collection, "."],
    "UpdateList" => [:_updateList_1, :varOrIRI, :predicate, :slice, :collection, "."],
  },
  :_updateList_1 => {
    "UL" => ["UL"],
    "UpdateList" => ["UpdateList"],
  },
  :value => {
    :DECIMAL => [:literal],
    :DOUBLE => [:literal],
    :INTEGER => [:literal],
    :IRIREF => [:iri],
    :PNAME_LN => [:iri],
    :PNAME_NS => [:iri],
    :STRING_LITERAL_LONG_QUOTE => [:literal],
    :STRING_LITERAL_LONG_SINGLE_QUOTE => [:literal],
    :STRING_LITERAL_QUOTE => [:literal],
    :STRING_LITERAL_SINGLE_QUOTE => [:literal],
    :VAR1 => [:VAR1],
    "false" => [:literal],
    "true" => [:literal],
  },
  :varOrIRI => {
    :IRIREF => [:iri],
    :PNAME_LN => [:iri],
    :PNAME_NS => [:iri],
    :VAR1 => [:VAR1],
  },
  :verb => {
    :IRIREF => [:predicate],
    :PNAME_LN => [:predicate],
    :PNAME_NS => [:predicate],
    "a" => ["a"],
  },
}.freeze
TERMINALS =
[
  "!",
  "(",
  ")",
  ",",
  ".",
  "..",
  "/",
  ";",
  "=",
  "@prefix",
  "A",
  "AN",
  :ANON,
  "Add",
  "AddNew",
  "B",
  :BLANK_NODE_LABEL,
  "Bind",
  "C",
  "Cut",
  "D",
  "DE",
  :DECIMAL,
  :DOUBLE,
  "Delete",
  "DeleteExisting",
  :INTEGER,
  :IRIREF,
  :LANGTAG,
  :PNAME_LN,
  :PNAME_NS,
  :STRING_LITERAL_LONG_QUOTE,
  :STRING_LITERAL_LONG_SINGLE_QUOTE,
  :STRING_LITERAL_QUOTE,
  :STRING_LITERAL_SINGLE_QUOTE,
  "UL",
  "UpdateList",
  :VAR1,
  "[",
  "]",
  "^",
  "^^",
  "a",
  "false",
  "true",
  "{",
  "}"
].freeze
FIRST =
{
  :BlankNode => [
    :BLANK_NODE_LABEL,
    :ANON],
  :BooleanLiteral => [
    "true",
    "false"],
  :NumericLiteral => [
    :INTEGER,
    :DECIMAL,
    :DOUBLE],
  :PrefixedName => [
    :PNAME_LN,
    :PNAME_NS],
  :RDFLiteral => [
    :STRING_LITERAL_QUOTE,
    :STRING_LITERAL_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_QUOTE],
  :_RDFLiteral_1 => [
    :_eps,
    :LANGTAG,
    "^^"],
  :_RDFLiteral_2 => [
    :LANGTAG,
    "^^"],
  :_RDFLiteral_3 => [
    "^^"],
  :_RDFLiteral_4 => [
    :LANGTAG,
    :_eps,
    "^^"],
  :String => [
    :STRING_LITERAL_QUOTE,
    :STRING_LITERAL_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_QUOTE],
  :add => [
    "Add",
    "A"],
  :addNew => [
    "AddNew",
    "AN"],
  :_addNew_1 => [
    "AddNew",
    "AN"],
  :_addNew_2 => [
    "{"],
  :_addNew_3 => [
    :VAR1,
    "[",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :ANON,
    "(",
    :PNAME_LN,
    :PNAME_NS],
  :_addNew_4 => [
    "}"],
  :_add_1 => [
    "Add",
    "A"],
  :_add_2 => [
    "{"],
  :_add_3 => [
    :VAR1,
    "[",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :ANON,
    "(",
    :PNAME_LN,
    :PNAME_NS],
  :_add_4 => [
    "}"],
  :bind => [
    "Bind",
    "B"],
  :_bind_1 => [
    "Bind",
    "B"],
  :_bind_2 => [
    :_eps,
    "/",
    "!",
    "["],
  :_bind_3 => [
    :VAR1],
  :_bind_4 => [
    :VAR1,
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    :STRING_LITERAL_QUOTE,
    :STRING_LITERAL_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_QUOTE],
  :_bind_5 => [
    ".",
    "/",
    "!",
    "["],
  :blankNodePropertyList => [
    "["],
  :_blankNodePropertyList_1 => [
    "a",
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :_blankNodePropertyList_2 => [
    "]"],
  :collection => [
    "("],
  :_collection_1 => [
    :_eps,
    :VAR1,
    :IRIREF,
    :BLANK_NODE_LABEL,
    :ANON,
    "(",
    "[",
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    :STRING_LITERAL_QUOTE,
    :STRING_LITERAL_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_QUOTE],
  :_collection_2 => [
    :VAR1,
    :IRIREF,
    :BLANK_NODE_LABEL,
    :ANON,
    "(",
    "[",
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    :STRING_LITERAL_QUOTE,
    :STRING_LITERAL_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_QUOTE],
  :_collection_3 => [
    :VAR1,
    ")",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :ANON,
    "(",
    "[",
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    :STRING_LITERAL_QUOTE,
    :STRING_LITERAL_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_QUOTE],
  :_collection_4 => [
    :VAR1,
    :_eps,
    :IRIREF,
    :BLANK_NODE_LABEL,
    :ANON,
    "(",
    "[",
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    :STRING_LITERAL_QUOTE,
    :STRING_LITERAL_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_QUOTE],
  :_collection_5 => [
    ")"],
  :constraint => [
    "!",
    "["],
  :_constraint_1 => [
    "["],
  :_constraint_2 => [
    :_eps,
    "="],
  :_constraint_3 => [
    "="],
  :_constraint_4 => [
    "=",
    "]",
    "/",
    "!",
    "["],
  :_constraint_5 => [
    :VAR1,
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    :STRING_LITERAL_QUOTE,
    :STRING_LITERAL_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_QUOTE],
  :_constraint_6 => [
    "=",
    "]"],
  :cut => [
    "Cut",
    "C"],
  :_cut_1 => [
    "Cut",
    "C"],
  :_cut_2 => [
    :VAR1],
  :_cut_3 => [
    "."],
  :delete => [
    "Delete",
    "D"],
  :deleteExisting => [
    "DeleteExisting",
    "DE"],
  :_deleteExisting_1 => [
    "DeleteExisting",
    "DE"],
  :_deleteExisting_2 => [
    "{"],
  :_deleteExisting_3 => [
    :VAR1,
    "[",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :ANON,
    "(",
    :PNAME_LN,
    :PNAME_NS],
  :_deleteExisting_4 => [
    "}"],
  :_delete_1 => [
    "Delete",
    "D"],
  :_delete_2 => [
    "{"],
  :_delete_3 => [
    :VAR1,
    "[",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :ANON,
    "(",
    :PNAME_LN,
    :PNAME_NS],
  :_delete_4 => [
    "}"],
  :_empty => [
    :_eps],
  :graph => [
    :VAR1,
    "[",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :ANON,
    "(",
    :PNAME_LN,
    :PNAME_NS],
  :_graph_1 => [
    :_eps,
    "."],
  :_graph_2 => [
    "."],
  :_graph_3 => [
    "."],
  :_graph_4 => [
    :_eps,
    :VAR1,
    "[",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :ANON,
    "(",
    :PNAME_LN,
    :PNAME_NS],
  :_graph_5 => [
    :_eps,
    "."],
  :_graph_6 => [
    :_eps,
    "."],
  :_graph_7 => [
    :_eps,
    :VAR1,
    "[",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :ANON,
    "(",
    :PNAME_LN,
    :PNAME_NS],
  :iri => [
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :ldpatch => [
    :_eps,
    "@prefix",
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :_ldpatch_1 => [
    :_eps,
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :_ldpatch_2 => [
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :_ldpatch_3 => [
    :_eps,
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :_ldpatch_4 => [
    :_eps,
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :literal => [
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    :STRING_LITERAL_QUOTE,
    :STRING_LITERAL_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_QUOTE],
  :object => [
    :VAR1,
    :IRIREF,
    :BLANK_NODE_LABEL,
    :ANON,
    "(",
    "[",
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    :STRING_LITERAL_QUOTE,
    :STRING_LITERAL_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_QUOTE],
  :objectList => [
    :VAR1,
    :IRIREF,
    :BLANK_NODE_LABEL,
    :ANON,
    "(",
    "[",
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    :STRING_LITERAL_QUOTE,
    :STRING_LITERAL_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_QUOTE],
  :_objectList_1 => [
    :_eps,
    ","],
  :_objectList_2 => [
    ","],
  :_objectList_3 => [
    ","],
  :_objectList_4 => [
    :_eps,
    ","],
  :_objectList_5 => [
    :_eps,
    ","],
  :_objectList_6 => [
    :VAR1,
    :IRIREF,
    :BLANK_NODE_LABEL,
    :ANON,
    "(",
    "[",
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    :STRING_LITERAL_QUOTE,
    :STRING_LITERAL_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_QUOTE],
  :path => [
    :_eps,
    "/",
    "!",
    "["],
  :_path_1 => [
    "/",
    "!",
    "["],
  :_path_2 => [
    "/",
    "!",
    "["],
  :_path_3 => [
    "/"],
  :_path_4 => [
    :_eps,
    "/",
    "!",
    "["],
  :_path_5 => [
    :INTEGER,
    "^",
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :predicate => [
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :predicateObjectList => [
    "a",
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :_predicateObjectList_1 => [
    :_eps,
    ";"],
  :_predicateObjectList_2 => [
    ";"],
  :_predicateObjectList_3 => [
    ";"],
  :_predicateObjectList_4 => [
    :_eps,
    "a",
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :_predicateObjectList_5 => [
    "a",
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :_predicateObjectList_6 => [
    :VAR1,
    :IRIREF,
    :BLANK_NODE_LABEL,
    :ANON,
    "(",
    "[",
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    :STRING_LITERAL_QUOTE,
    :STRING_LITERAL_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_QUOTE],
  :_predicateObjectList_7 => [
    :_eps,
    ";"],
  :_predicateObjectList_8 => [
    :_eps,
    "a",
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :_predicateObjectList_9 => [
    :VAR1,
    :IRIREF,
    :BLANK_NODE_LABEL,
    :ANON,
    "(",
    "[",
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    :STRING_LITERAL_QUOTE,
    :STRING_LITERAL_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_QUOTE],
  :prefixID => [
    "@prefix"],
  :_prefixID_1 => [
    :PNAME_NS],
  :_prefixID_2 => [
    :IRIREF],
  :prologue => [
    :_eps,
    "@prefix"],
  :_prologue_1 => [
    "@prefix"],
  :_prologue_2 => [
    :_eps,
    "@prefix"],
  :slice => [
    :INTEGER,
    ".."],
  :_slice_1 => [
    :INTEGER,
    :_eps],
  :_slice_2 => [
    :INTEGER,
    :_eps],
  :_slice_3 => [
    ".."],
  :_slice_4 => [
    :INTEGER,
    :_eps],
  :statement => [
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :step => [
    :INTEGER,
    "^",
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :_step_1 => [
    "^"],
  :subject => [
    :VAR1,
    :IRIREF,
    :BLANK_NODE_LABEL,
    :ANON,
    "(",
    :PNAME_LN,
    :PNAME_NS],
  :triples => [
    :VAR1,
    "[",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :ANON,
    "(",
    :PNAME_LN,
    :PNAME_NS],
  :_triples_1 => [
    :VAR1,
    :IRIREF,
    :BLANK_NODE_LABEL,
    :ANON,
    "(",
    :PNAME_LN,
    :PNAME_NS],
  :_triples_2 => [
    "["],
  :_triples_3 => [
    :_eps,
    "a",
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :_triples_4 => [
    "a",
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :_triples_5 => [
    :_eps,
    "a",
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :updateList => [
    "UpdateList",
    "UL"],
  :_updateList_1 => [
    "UpdateList",
    "UL"],
  :_updateList_2 => [
    :VAR1,
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :_updateList_3 => [
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :_updateList_4 => [
    :INTEGER,
    ".."],
  :_updateList_5 => [
    "("],
  :value => [
    :VAR1,
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    :STRING_LITERAL_QUOTE,
    :STRING_LITERAL_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_QUOTE],
  :varOrIRI => [
    :VAR1,
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :verb => [
    "a",
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
}.freeze
FOLLOW =
{
  :BlankNode => [
    "a",
    :VAR1,
    ")",
    ",",
    "]",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :ANON,
    "(",
    "[",
    ";",
    "}",
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    ".",
    :STRING_LITERAL_QUOTE,
    :STRING_LITERAL_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_QUOTE],
  :BooleanLiteral => [
    "]",
    ".",
    :VAR1,
    ")",
    ",",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :ANON,
    "(",
    "[",
    ";",
    "}",
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    "/",
    "!",
    :STRING_LITERAL_QUOTE,
    :STRING_LITERAL_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_QUOTE],
  :NumericLiteral => [
    "]",
    ".",
    :VAR1,
    ")",
    ",",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :ANON,
    "(",
    "[",
    ";",
    "}",
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    "/",
    "!",
    :STRING_LITERAL_QUOTE,
    :STRING_LITERAL_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_QUOTE],
  :PrefixedName => [
    "a",
    :VAR1,
    :IRIREF,
    "]",
    ".",
    :INTEGER,
    :BLANK_NODE_LABEL,
    :ANON,
    "(",
    "[",
    ")",
    ",",
    :PNAME_LN,
    :PNAME_NS,
    "=",
    "..",
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    ";",
    "}",
    "/",
    "!",
    :STRING_LITERAL_QUOTE,
    :STRING_LITERAL_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_QUOTE],
  :RDFLiteral => [
    "]",
    ".",
    :VAR1,
    ")",
    ",",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :ANON,
    "(",
    "[",
    ";",
    "}",
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    "/",
    "!",
    :STRING_LITERAL_QUOTE,
    :STRING_LITERAL_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_QUOTE],
  :_RDFLiteral_1 => [
    "]",
    ".",
    :VAR1,
    ")",
    ",",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :ANON,
    "(",
    "[",
    ";",
    "}",
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    "/",
    "!",
    :STRING_LITERAL_QUOTE,
    :STRING_LITERAL_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_QUOTE],
  :_RDFLiteral_2 => [
    "]",
    ".",
    :VAR1,
    ")",
    ",",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :ANON,
    "(",
    "[",
    ";",
    "}",
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    "/",
    "!",
    :STRING_LITERAL_QUOTE,
    :STRING_LITERAL_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_QUOTE],
  :_RDFLiteral_3 => [
    "]",
    ".",
    :VAR1,
    ")",
    ",",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :ANON,
    "(",
    "[",
    ";",
    "}",
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    "/",
    "!",
    :STRING_LITERAL_QUOTE,
    :STRING_LITERAL_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_QUOTE],
  :_RDFLiteral_4 => [
    "]",
    ".",
    :VAR1,
    ")",
    ",",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :ANON,
    "(",
    "[",
    ";",
    "}",
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    "/",
    "!",
    :STRING_LITERAL_QUOTE,
    :STRING_LITERAL_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_QUOTE],
  :String => [
    :LANGTAG,
    "^^",
    "]",
    ".",
    :VAR1,
    ")",
    ",",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :ANON,
    "(",
    "[",
    ";",
    "}",
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    "/",
    "!",
    :STRING_LITERAL_QUOTE,
    :STRING_LITERAL_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_QUOTE],
  :add => [
    :_eof,
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :addNew => [
    :_eof,
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :_addNew_1 => [
    "{"],
  :_addNew_2 => [
    :_eof,
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :_addNew_3 => [
    :_eof,
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :_addNew_4 => [
    :_eof,
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :_add_1 => [
    "{"],
  :_add_2 => [
    :_eof,
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :_add_3 => [
    :_eof,
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :_add_4 => [
    :_eof,
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :bind => [
    :_eof,
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :_bind_1 => [
    :VAR1],
  :_bind_2 => [
    "."],
  :_bind_3 => [
    :_eof,
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :_bind_4 => [
    :_eof,
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :_bind_5 => [
    :_eof,
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :blankNodePropertyList => [
    "}",
    "a",
    ".",
    :VAR1,
    ")",
    ",",
    "]",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :ANON,
    "(",
    "[",
    ";",
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    :STRING_LITERAL_QUOTE,
    :STRING_LITERAL_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_QUOTE],
  :_blankNodePropertyList_1 => [
    "}",
    "a",
    ".",
    :VAR1,
    ")",
    ",",
    "]",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :ANON,
    "(",
    "[",
    ";",
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    :STRING_LITERAL_QUOTE,
    :STRING_LITERAL_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_QUOTE],
  :_blankNodePropertyList_2 => [
    "}",
    ".",
    "a",
    :VAR1,
    ")",
    ",",
    "]",
    "=",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :ANON,
    "(",
    "[",
    ";",
    "/",
    "!",
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    :STRING_LITERAL_QUOTE,
    :STRING_LITERAL_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_QUOTE],
  :collection => [
    ".",
    "a",
    :VAR1,
    ")",
    ",",
    "]",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :ANON,
    "(",
    "[",
    ";",
    "}",
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    :STRING_LITERAL_QUOTE,
    :STRING_LITERAL_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_QUOTE],
  :_collection_1 => [
    ")"],
  :_collection_2 => [
    ")"],
  :_collection_3 => [
    ".",
    "a",
    :VAR1,
    ")",
    ",",
    "]",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :ANON,
    "(",
    "[",
    ";",
    "}",
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    :STRING_LITERAL_QUOTE,
    :STRING_LITERAL_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_QUOTE],
  :_collection_4 => [
    ")"],
  :_collection_5 => [
    ".",
    "a",
    :VAR1,
    ")",
    ",",
    "]",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :ANON,
    "(",
    "[",
    ";",
    "}",
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    :STRING_LITERAL_QUOTE,
    :STRING_LITERAL_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_QUOTE],
  :constraint => [
    ".",
    "=",
    "]",
    "/",
    "!",
    "["],
  :_constraint_1 => [
    ".",
    "=",
    "]",
    "/",
    "!",
    "["],
  :_constraint_2 => [
    "]"],
  :_constraint_3 => [
    "]"],
  :_constraint_4 => [
    ".",
    "=",
    "]",
    "/",
    "!",
    "["],
  :_constraint_5 => [
    "]"],
  :_constraint_6 => [
    ".",
    "=",
    "]",
    "/",
    "!",
    "["],
  :cut => [
    :_eof,
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :_cut_1 => [
    :VAR1],
  :_cut_2 => [
    :_eof,
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :_cut_3 => [
    :_eof,
    "@prefix",
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :delete => [
    :_eof,
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :deleteExisting => [
    :_eof,
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :_deleteExisting_1 => [
    "{"],
  :_deleteExisting_2 => [
    :_eof,
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :_deleteExisting_3 => [
    :_eof,
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :_deleteExisting_4 => [
    :_eof,
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :_delete_1 => [
    "{"],
  :_delete_2 => [
    :_eof,
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :_delete_3 => [
    :_eof,
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :_delete_4 => [
    :_eof,
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :graph => [
    "}"],
  :_graph_1 => [
    "}"],
  :_graph_2 => [
    ".",
    "}"],
  :_graph_3 => [
    "}"],
  :_graph_4 => [
    ".",
    "}"],
  :_graph_5 => [
    "}"],
  :_graph_6 => [
    "}"],
  :_graph_7 => [
    ".",
    "}"],
  :iri => [
    "a",
    :VAR1,
    :IRIREF,
    "]",
    ".",
    :INTEGER,
    :BLANK_NODE_LABEL,
    :ANON,
    "(",
    "[",
    ")",
    ",",
    :PNAME_LN,
    :PNAME_NS,
    "=",
    "..",
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    ";",
    "}",
    "/",
    "!",
    :STRING_LITERAL_QUOTE,
    :STRING_LITERAL_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_QUOTE],
  :ldpatch => [
    :_eof],
  :_ldpatch_1 => [
    :_eof],
  :_ldpatch_2 => [
    :_eof],
  :_ldpatch_3 => [
    :_eof],
  :_ldpatch_4 => [
    :_eof],
  :literal => [
    "]",
    ".",
    :VAR1,
    ")",
    ",",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :ANON,
    "(",
    "[",
    ";",
    "}",
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    "/",
    "!",
    :STRING_LITERAL_QUOTE,
    :STRING_LITERAL_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_QUOTE],
  :object => [
    :VAR1,
    ")",
    ",",
    "]",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :ANON,
    "(",
    "[",
    ";",
    "}",
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    ".",
    :STRING_LITERAL_QUOTE,
    :STRING_LITERAL_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_QUOTE],
  :objectList => [
    "]",
    ";",
    "}",
    "."],
  :_objectList_1 => [
    "]",
    ";",
    "}",
    "."],
  :_objectList_2 => [
    ",",
    "]",
    ";",
    "}",
    "."],
  :_objectList_3 => [
    "]",
    ";",
    "}",
    "."],
  :_objectList_4 => [
    "]",
    ";",
    "}",
    "."],
  :_objectList_5 => [
    "]",
    ";",
    "}",
    "."],
  :_objectList_6 => [
    ",",
    "]",
    ";",
    "}",
    "."],
  :path => [
    ".",
    "=",
    "]"],
  :_path_1 => [
    ".",
    "=",
    "]",
    "/",
    "!",
    "["],
  :_path_2 => [
    ".",
    "=",
    "]"],
  :_path_3 => [
    ".",
    "=",
    "]",
    "/",
    "!",
    "["],
  :_path_4 => [
    ".",
    "=",
    "]"],
  :_path_5 => [
    ".",
    "=",
    "]",
    "/",
    "!",
    "["],
  :predicate => [
    :VAR1,
    :INTEGER,
    ".",
    :IRIREF,
    :BLANK_NODE_LABEL,
    :ANON,
    "(",
    "[",
    "..",
    "=",
    "]",
    :PNAME_LN,
    :PNAME_NS,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    ")",
    ",",
    "/",
    "!",
    :STRING_LITERAL_QUOTE,
    :STRING_LITERAL_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_QUOTE,
    ";",
    "}"],
  :predicateObjectList => [
    "]",
    "}",
    "."],
  :_predicateObjectList_1 => [
    "]",
    "}",
    "."],
  :_predicateObjectList_2 => [
    ";",
    "]",
    "}",
    "."],
  :_predicateObjectList_3 => [
    "]",
    "}",
    "."],
  :_predicateObjectList_4 => [
    ";",
    "]",
    "}",
    "."],
  :_predicateObjectList_5 => [
    ";",
    "]",
    "}",
    "."],
  :_predicateObjectList_6 => [
    "]",
    "}",
    "."],
  :_predicateObjectList_7 => [
    "]",
    "}",
    "."],
  :_predicateObjectList_8 => [
    ";",
    "]",
    "}",
    "."],
  :_predicateObjectList_9 => [
    ";",
    "]",
    "}",
    "."],
  :prefixID => [
    :_eof,
    "@prefix",
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :_prefixID_1 => [
    :_eof,
    "@prefix",
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :_prefixID_2 => [
    :_eof,
    "@prefix",
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :prologue => [
    :_eof,
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :_prologue_1 => [
    :_eof,
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :_prologue_2 => [
    :_eof,
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :slice => [
    "("],
  :_slice_1 => [
    ".."],
  :_slice_2 => [
    "("],
  :_slice_3 => [
    "("],
  :_slice_4 => [
    "("],
  :statement => [
    :_eof,
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :step => [
    ".",
    "=",
    "]",
    "/",
    "!",
    "["],
  :_step_1 => [
    ".",
    "=",
    "]",
    "/",
    "!",
    "["],
  :subject => [
    "a",
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :triples => [
    "}",
    "."],
  :_triples_1 => [
    "}",
    "."],
  :_triples_2 => [
    "}",
    "."],
  :_triples_3 => [
    "}",
    "."],
  :_triples_4 => [
    "}",
    "."],
  :_triples_5 => [
    "}",
    "."],
  :updateList => [
    :_eof,
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :_updateList_1 => [
    :VAR1,
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :_updateList_2 => [
    :_eof,
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :_updateList_3 => [
    :_eof,
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :_updateList_4 => [
    :_eof,
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :_updateList_5 => [
    :_eof,
    "Bind",
    "B",
    "Add",
    "A",
    "AddNew",
    "AN",
    "Delete",
    "D",
    "DeleteExisting",
    "DE",
    "Cut",
    "C",
    "UpdateList",
    "UL"],
  :value => [
    "]",
    ".",
    "/",
    "!",
    "["],
  :varOrIRI => [
    :IRIREF,
    :PNAME_LN,
    :PNAME_NS],
  :verb => [
    :VAR1,
    :IRIREF,
    :BLANK_NODE_LABEL,
    :ANON,
    "(",
    "[",
    :PNAME_LN,
    :PNAME_NS,
    :INTEGER,
    :DECIMAL,
    :DOUBLE,
    "true",
    "false",
    :STRING_LITERAL_QUOTE,
    :STRING_LITERAL_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_SINGLE_QUOTE,
    :STRING_LITERAL_LONG_QUOTE],
}.freeze
CLEANUP =
{
  :_RDFLiteral_1 => :opt,
  :_bind_2 => :opt,
  :_collection_1 => :star,
  :_collection_2 => :merge,
  :_constraint_2 => :opt,
  :_graph_1 => :star,
  :_graph_3 => :merge,
  :_graph_4 => :opt,
  :_ldpatch_1 => :star,
  :_ldpatch_2 => :merge,
  :_objectList_1 => :star,
  :_objectList_3 => :merge,
  :path => :star,
  :_path_2 => :merge,
  :_predicateObjectList_1 => :star,
  :_predicateObjectList_3 => :merge,
  :_predicateObjectList_4 => :opt,
  :prologue => :star,
  :_prologue_1 => :merge,
  :_slice_1 => :opt,
  :_slice_2 => :opt,
  :_triples_3 => :opt,
}.freeze