-
-
Save anonymous/b36694c3a1577944acbecad4262deef9 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[2](3)("parse(production)" "token \"PREFIX\", prod :QueryUnit, depth 0") | |
[2](2) ("QueryUnit(:start:1)" "\"PREFIX\"") | |
[2](3) ("parse(production)" | |
"token \"PREFIX\" prod :QueryUnit, prod_branch [\"ASK\", \"BASE\", \"CONSTRUCT\", \"DESCRIBE\", \"PREFIX\", \"SELECT\"], sequence [:Query]" | |
) | |
[2](3) ("parse(terms)" "todo {:prod=>:QueryUnit, :terms=>[:Query]}, depth 1") | |
[2](3) ("parse(token)" "accept :Query") | |
[2](3) ("parse(push)" "term :Query, depth 1") | |
[2](3) ("parse(production)" "token \"PREFIX\", prod :Query, depth 1") | |
[2](2) ("Query(:start:2)" "\"PREFIX\"") | |
[2](3) ("parse(production)" | |
"token \"PREFIX\" prod :Query, prod_branch [\"ASK\", \"BASE\", \"CONSTRUCT\", \"DESCRIBE\", \"PREFIX\", \"SELECT\"], sequence [:Prologue, :_Query_1]" | |
) | |
[2](3) ("parse(terms)" "todo {:prod=>:Query, :terms=>[:Prologue, :_Query_1]}, depth 2") | |
[2](3) ("parse(token)" "accept :Prologue") | |
[2](3) ("parse(push)" "term :Prologue, depth 2") | |
[2](3) ("parse(production)" "token \"PREFIX\", prod :Prologue, depth 2") | |
[2](2) ("Prologue(:start:3)" "\"PREFIX\"") | |
[2](3) ("parse(production)" | |
"token \"PREFIX\" prod :Prologue, prod_branch [\"ADD\", \"ASK\", \"BASE\", \"CLEAR\", \"CONSTRUCT\", \"COPY\", \"CREATE\", \"DELETE\", \"DELETE DATA\", \"DELETE WHERE\", \"DESCRIBE\", \"DROP\", \"INSERT\", \"INSERT DATA\", \"LOAD\", \"MOVE\", \"PREFIX\", \"SELECT\", \"WITH\"], sequence [:_Prologue_2]" | |
) | |
[2](3) ("parse(terms)" "todo {:prod=>:Prologue, :terms=>[:_Prologue_2]}, depth 3") | |
[2](3) ("parse(token)" "accept :_Prologue_2") | |
[2](3) ("parse(push)" "term :_Prologue_2, depth 3") | |
[2](3) ("parse(production)" "token \"PREFIX\", prod :_Prologue_2, depth 3") | |
[2](2) ("_Prologue_2(:start:3)" "\"PREFIX\"") | |
[2](3) ("parse(production)" | |
"token \"PREFIX\" prod :_Prologue_2, prod_branch [\"BASE\", \"PREFIX\"], sequence [:_Prologue_1, :Prologue]" | |
) | |
[2](3) ("parse(terms)" | |
"todo {:prod=>:_Prologue_2, :terms=>[:_Prologue_1, :Prologue]}, depth 4" ) | |
[2](3) ("parse(token)" "accept :_Prologue_1") | |
[2](3) ("parse(push)" "term :_Prologue_1, depth 4") | |
[2](3) ("parse(production)" "token \"PREFIX\", prod :_Prologue_1, depth 4") | |
[2](2) ("_Prologue_1(:start:3)" "\"PREFIX\"") | |
[2](3) ("parse(production)" | |
"token \"PREFIX\" prod :_Prologue_1, prod_branch [\"BASE\", \"PREFIX\"], sequence [:PrefixDecl]" | |
) | |
[2](3) ("parse(terms)" "todo {:prod=>:_Prologue_1, :terms=>[:PrefixDecl]}, depth 5") | |
[2](3) ("parse(token)" "accept :PrefixDecl") | |
[2](3) ("parse(push)" "term :PrefixDecl, depth 5") | |
[2](3) ("parse(production)" "token \"PREFIX\", prod :PrefixDecl, depth 5") | |
[2](2) ("PrefixDecl(:start:4)" "\"PREFIX\"") | |
[2](3) ("parse(production)" | |
"token \"PREFIX\" prod :PrefixDecl, prod_branch [\"PREFIX\"], sequence [\"PREFIX\", :PNAME_NS, :IRIREF]" | |
) | |
[2](3) ("parse(terms)" | |
"todo {:prod=>:PrefixDecl, :terms=>[\"PREFIX\", :PNAME_NS, :IRIREF]}, depth 6" | |
) | |
[2](3) ("parse(token)" "accept \"PREFIX\"") | |
[2](3) ("accept" "\"PREFIX\" === \"PREFIX\"") | |
[2](3) ("parse(token)" "token \"PREFIX\", term \"PREFIX\"") | |
[2](2) ("PREFIX(:terminal)" "" "PREFIX: {}") | |
[2](3) ("parse(token)" "accept :PNAME_NS") | |
[2](3) ("accept" "\"rdf:\"(PNAME_NS) === :PNAME_NS") | |
[2](3) ("parse(token)" "token \"rdf:\"(PNAME_NS), term :PNAME_NS") | |
[2](3) ("ns(\"rdf\"): base: '', suffix: ''") | |
[2](2) ("PNAME_NS(:terminal)" "" | |
":PNAME_NS: {:iri=>#<RDF::URI:0x3f813da79254 URI:>, :prefix=>:rdf}" ) | |
[2](3) ("parse(token)" "accept :IRIREF") | |
[2](3) ("accept" "\"<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\"(IRIREF) === :IRIREF") | |
[2](3) ("parse(token)" | |
"token \"<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\"(IRIREF), term :IRIREF" | |
) | |
[2](2) ("IRIREF(:terminal)" "" | |
":IRIREF: {:iri=>#<RDF::URI:0x3f813da74d30 URI:http://www.w3.org/1999/02/22-rdf-syntax-ns#>, :prefix=>:rdf}" | |
) | |
[2](3) ("parse(pop)" "todo {:prod=>:PrefixDecl, :terms=>[]}, depth 6") | |
[2](3) ("add_prod_datum(PrefixDecl)" | |
"[] << #<SPARQL::Algebra::Operator::Prefix:0x3f813d994c80((((rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>)) ()))>" | |
) | |
[2](2) ("PrefixDecl(:finish):3" | |
((PrefixDecl ((prefix ((rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>)) ()))))) | |
[2](3) ("parse(pop)" "todo {:prod=>:_Prologue_1, :terms=>[]}, depth 5") | |
[2](2) ("_Prologue_1(:finish):3") | |
[2](3) ("parse(terms)" "todo {:prod=>:_Prologue_2, :terms=>[:Prologue]}, depth 4") | |
[2](3) ("parse(token)" "accept :Prologue") | |
[3](3) ("parse(push)" "term :Prologue, depth 4") | |
[3](3) ("parse(production)" "token \"PREFIX\", prod :Prologue, depth 4") | |
[3](2) ("Prologue(:start:4)" "\"PREFIX\"") | |
[3](3) ("parse(production)" | |
"token \"PREFIX\" prod :Prologue, prod_branch [\"ADD\", \"ASK\", \"BASE\", \"CLEAR\", \"CONSTRUCT\", \"COPY\", \"CREATE\", \"DELETE\", \"DELETE DATA\", \"DELETE WHERE\", \"DESCRIBE\", \"DROP\", \"INSERT\", \"INSERT DATA\", \"LOAD\", \"MOVE\", \"PREFIX\", \"SELECT\", \"WITH\"], sequence [:_Prologue_2]" | |
) | |
[3](3) ("parse(terms)" "todo {:prod=>:Prologue, :terms=>[:_Prologue_2]}, depth 5") | |
[3](3) ("parse(token)" "accept :_Prologue_2") | |
[3](3) ("parse(push)" "term :_Prologue_2, depth 5") | |
[3](3) ("parse(production)" "token \"PREFIX\", prod :_Prologue_2, depth 5") | |
[3](2) ("_Prologue_2(:start:4)" "\"PREFIX\"") | |
[3](3) ("parse(production)" | |
"token \"PREFIX\" prod :_Prologue_2, prod_branch [\"BASE\", \"PREFIX\"], sequence [:_Prologue_1, :Prologue]" | |
) | |
[3](3) ("parse(terms)" | |
"todo {:prod=>:_Prologue_2, :terms=>[:_Prologue_1, :Prologue]}, depth 6" ) | |
[3](3) ("parse(token)" "accept :_Prologue_1") | |
[3](3) ("parse(push)" "term :_Prologue_1, depth 6") | |
[3](3) ("parse(production)" "token \"PREFIX\", prod :_Prologue_1, depth 6") | |
[3](2) ("_Prologue_1(:start:4)" "\"PREFIX\"") | |
[3](3) ("parse(production)" | |
"token \"PREFIX\" prod :_Prologue_1, prod_branch [\"BASE\", \"PREFIX\"], sequence [:PrefixDecl]" | |
) | |
[3](3) ("parse(terms)" "todo {:prod=>:_Prologue_1, :terms=>[:PrefixDecl]}, depth 7") | |
[3](3) ("parse(token)" "accept :PrefixDecl") | |
[3](3) ("parse(push)" "term :PrefixDecl, depth 7") | |
[3](3) ("parse(production)" "token \"PREFIX\", prod :PrefixDecl, depth 7") | |
[3](2) ("PrefixDecl(:start:5)" "\"PREFIX\"") | |
[3](3) ("parse(production)" | |
"token \"PREFIX\" prod :PrefixDecl, prod_branch [\"PREFIX\"], sequence [\"PREFIX\", :PNAME_NS, :IRIREF]" | |
) | |
[3](3) ("parse(terms)" | |
"todo {:prod=>:PrefixDecl, :terms=>[\"PREFIX\", :PNAME_NS, :IRIREF]}, depth 8" | |
) | |
[3](3) ("parse(token)" "accept \"PREFIX\"") | |
[3](3) ("accept" "\"PREFIX\" === \"PREFIX\"") | |
[3](3) ("parse(token)" "token \"PREFIX\", term \"PREFIX\"") | |
[3](2) ("PREFIX(:terminal)" "" "PREFIX: {}") | |
[3](3) ("parse(token)" "accept :PNAME_NS") | |
[3](3) ("accept" "\"owl:\"(PNAME_NS) === :PNAME_NS") | |
[3](3) ("parse(token)" "token \"owl:\"(PNAME_NS), term :PNAME_NS") | |
[3](3) ("ns(\"owl\"): base: '', suffix: ''") | |
[3](2) ("PNAME_NS(:terminal)" "" | |
":PNAME_NS: {:iri=>#<RDF::URI:0x3f813d955544 URI:>, :prefix=>:owl}" ) | |
[3](3) ("parse(token)" "accept :IRIREF") | |
[3](3) ("accept" "\"<http://www.w3.org/2002/07/owl#>\"(IRIREF) === :IRIREF") | |
[3](3) ("parse(token)" | |
"token \"<http://www.w3.org/2002/07/owl#>\"(IRIREF), term :IRIREF" ) | |
[3](2) ("IRIREF(:terminal)" "" | |
":IRIREF: {:iri=>#<RDF::URI:0x3f813d94cee4 URI:http://www.w3.org/2002/07/owl#>, :prefix=>:owl}" | |
) | |
[3](3) ("parse(pop)" "todo {:prod=>:PrefixDecl, :terms=>[]}, depth 8") | |
[3](3) ("add_prod_datum(PrefixDecl)" | |
"[] << #<SPARQL::Algebra::Operator::Prefix:0x3f813d945a54((((owl: <http://www.w3.org/2002/07/owl#>)) ()))>" | |
) | |
[3](2) ("PrefixDecl(:finish):4" ((PrefixDecl ((prefix ((owl: <http://www.w3.org/2002/07/owl#>)) ()))))) | |
[3](3) ("parse(pop)" "todo {:prod=>:_Prologue_1, :terms=>[]}, depth 7") | |
[3](2) ("_Prologue_1(:finish):4") | |
[3](3) ("parse(terms)" "todo {:prod=>:_Prologue_2, :terms=>[:Prologue]}, depth 6") | |
[3](3) ("parse(token)" "accept :Prologue") | |
[4](3) ("parse(push)" "term :Prologue, depth 6") | |
[4](3) ("parse(production)" "token \"PREFIX\", prod :Prologue, depth 6") | |
[4](2) ("Prologue(:start:5)" "\"PREFIX\"") | |
[4](3) ("parse(production)" | |
"token \"PREFIX\" prod :Prologue, prod_branch [\"ADD\", \"ASK\", \"BASE\", \"CLEAR\", \"CONSTRUCT\", \"COPY\", \"CREATE\", \"DELETE\", \"DELETE DATA\", \"DELETE WHERE\", \"DESCRIBE\", \"DROP\", \"INSERT\", \"INSERT DATA\", \"LOAD\", \"MOVE\", \"PREFIX\", \"SELECT\", \"WITH\"], sequence [:_Prologue_2]" | |
) | |
[4](3) ("parse(terms)" "todo {:prod=>:Prologue, :terms=>[:_Prologue_2]}, depth 7") | |
[4](3) ("parse(token)" "accept :_Prologue_2") | |
[4](3) ("parse(push)" "term :_Prologue_2, depth 7") | |
[4](3) ("parse(production)" "token \"PREFIX\", prod :_Prologue_2, depth 7") | |
[4](2) ("_Prologue_2(:start:5)" "\"PREFIX\"") | |
[4](3) ("parse(production)" | |
"token \"PREFIX\" prod :_Prologue_2, prod_branch [\"BASE\", \"PREFIX\"], sequence [:_Prologue_1, :Prologue]" | |
) | |
[4](3) ("parse(terms)" | |
"todo {:prod=>:_Prologue_2, :terms=>[:_Prologue_1, :Prologue]}, depth 8" ) | |
[4](3) ("parse(token)" "accept :_Prologue_1") | |
[4](3) ("parse(push)" "term :_Prologue_1, depth 8") | |
[4](3) ("parse(production)" "token \"PREFIX\", prod :_Prologue_1, depth 8") | |
[4](2) ("_Prologue_1(:start:5)" "\"PREFIX\"") | |
[4](3) ("parse(production)" | |
"token \"PREFIX\" prod :_Prologue_1, prod_branch [\"BASE\", \"PREFIX\"], sequence [:PrefixDecl]" | |
) | |
[4](3) ("parse(terms)" "todo {:prod=>:_Prologue_1, :terms=>[:PrefixDecl]}, depth 9") | |
[4](3) ("parse(token)" "accept :PrefixDecl") | |
[4](3) ("parse(push)" "term :PrefixDecl, depth 9") | |
[4](3) ("parse(production)" "token \"PREFIX\", prod :PrefixDecl, depth 9") | |
[4](2) ("PrefixDecl(:start:6)" "\"PREFIX\"") | |
[4](3) ("parse(production)" | |
"token \"PREFIX\" prod :PrefixDecl, prod_branch [\"PREFIX\"], sequence [\"PREFIX\", :PNAME_NS, :IRIREF]" | |
) | |
[4](3) ("parse(terms)" | |
"todo {:prod=>:PrefixDecl, :terms=>[\"PREFIX\", :PNAME_NS, :IRIREF]}, depth 10" | |
) | |
[4](3) ("parse(token)" "accept \"PREFIX\"") | |
[4](3) ("accept" "\"PREFIX\" === \"PREFIX\"") | |
[4](3) ("parse(token)" "token \"PREFIX\", term \"PREFIX\"") | |
[4](2) ("PREFIX(:terminal)" "" "PREFIX: {}") | |
[4](3) ("parse(token)" "accept :PNAME_NS") | |
[4](3) ("accept" "\"rdfs:\"(PNAME_NS) === :PNAME_NS") | |
[4](3) ("parse(token)" "token \"rdfs:\"(PNAME_NS), term :PNAME_NS") | |
[4](3) ("ns(\"rdfs\"): base: '', suffix: ''") | |
[4](2) ("PNAME_NS(:terminal)" "" | |
":PNAME_NS: {:iri=>#<RDF::URI:0x3f813d90d258 URI:>, :prefix=>:rdfs}" ) | |
[4](3) ("parse(token)" "accept :IRIREF") | |
[4](3) ("accept" "\"<http://www.w3.org/2000/01/rdf-schema#>\"(IRIREF) === :IRIREF") | |
[4](3) ("parse(token)" | |
"token \"<http://www.w3.org/2000/01/rdf-schema#>\"(IRIREF), term :IRIREF" ) | |
[4](2) ("IRIREF(:terminal)" "" | |
":IRIREF: {:iri=>#<RDF::URI:0x3f813d904b6c URI:http://www.w3.org/2000/01/rdf-schema#>, :prefix=>:rdfs}" | |
) | |
[4](3) ("parse(pop)" "todo {:prod=>:PrefixDecl, :terms=>[]}, depth 10") | |
[4](3) ("add_prod_datum(PrefixDecl)" | |
"[] << #<SPARQL::Algebra::Operator::Prefix:0x3f813d8fd7a4((((rdfs: <http://www.w3.org/2000/01/rdf-schema#>)) ()))>" | |
) | |
[4](2) ("PrefixDecl(:finish):5" | |
((PrefixDecl ((prefix ((rdfs: <http://www.w3.org/2000/01/rdf-schema#>)) ()))))) | |
[4](3) ("parse(pop)" "todo {:prod=>:_Prologue_1, :terms=>[]}, depth 9") | |
[4](2) ("_Prologue_1(:finish):5") | |
[4](3) ("parse(terms)" "todo {:prod=>:_Prologue_2, :terms=>[:Prologue]}, depth 8") | |
[4](3) ("parse(token)" "accept :Prologue") | |
[6](3) ("parse(token)" "skip optional term :Prologue on \"SELECT\"") | |
[6](3) ("parse(pop)" "todo {:prod=>:_Prologue_2, :terms=>[]}, depth 8") | |
[6](2) ("_Prologue_2(:finish):5") | |
[6](3) ("parse(pop)" "todo {:prod=>:Prologue, :terms=>[]}, depth 7") | |
[6](3) ("add_prod_datum(PrefixDecl)" | |
"[#<SPARQL::Algebra::Operator::Prefix:0x3f813d945a54((((owl: <http://www.w3.org/2002/07/owl#>)) ()))>] += [#<SPARQL::Algebra::Operator::Prefix:0x3f813d8fd7a4((((rdfs: <http://www.w3.org/2000/01/rdf-schema#>)) ()))>]" | |
) | |
[6](2) ("Prologue(:finish):4" | |
( | |
(PrefixDecl | |
( | |
(prefix ((owl: <http://www.w3.org/2002/07/owl#>)) ()) | |
(prefix ((rdfs: <http://www.w3.org/2000/01/rdf-schema#>)) ())) )) ) | |
[6](3) ("parse(pop)" "todo {:prod=>:_Prologue_2, :terms=>[]}, depth 6") | |
[6](2) ("_Prologue_2(:finish):4") | |
[6](3) ("parse(pop)" "todo {:prod=>:Prologue, :terms=>[]}, depth 5") | |
[6](3) ("add_prod_datum(PrefixDecl)" | |
"[#<SPARQL::Algebra::Operator::Prefix:0x3f813d994c80((((rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>)) ()))>] += [#<SPARQL::Algebra::Operator::Prefix:0x3f813d945a54((((owl: <http://www.w3.org/2002/07/owl#>)) ()))>, #<SPARQL::Algebra::Operator::Prefix:0x3f813d8fd7a4((((rdfs: <http://www.w3.org/2000/01/rdf-schema#>)) ()))>]" | |
) | |
[6](2) ("Prologue(:finish):3" | |
( | |
(PrefixDecl | |
( | |
(prefix ((rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>)) ()) | |
(prefix ((owl: <http://www.w3.org/2002/07/owl#>)) ()) | |
(prefix ((rdfs: <http://www.w3.org/2000/01/rdf-schema#>)) ())) )) ) | |
[6](3) ("parse(pop)" "todo {:prod=>:_Prologue_2, :terms=>[]}, depth 4") | |
[6](2) ("_Prologue_2(:finish):3") | |
[6](3) ("parse(pop)" "todo {:prod=>:Prologue, :terms=>[]}, depth 3") | |
[6](3) ("add_prod_datum(PrefixDecl)" | |
"[] += [#<SPARQL::Algebra::Operator::Prefix:0x3f813d994c80((((rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>)) ()))>, #<SPARQL::Algebra::Operator::Prefix:0x3f813d945a54((((owl: <http://www.w3.org/2002/07/owl#>)) ()))>, #<SPARQL::Algebra::Operator::Prefix:0x3f813d8fd7a4((((rdfs: <http://www.w3.org/2000/01/rdf-schema#>)) ()))>]" | |
) | |
[6](2) ("Prologue(:finish):2" | |
( | |
(PrefixDecl | |
( | |
(prefix ((rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>)) ()) | |
(prefix ((owl: <http://www.w3.org/2002/07/owl#>)) ()) | |
(prefix ((rdfs: <http://www.w3.org/2000/01/rdf-schema#>)) ())) )) ) | |
[6](3) ("parse(terms)" "todo {:prod=>:Query, :terms=>[:_Query_1]}, depth 2") | |
[6](3) ("parse(token)" "accept :_Query_1") | |
[6](3) ("parse(push)" "term :_Query_1, depth 2") | |
[6](3) ("parse(production)" "token \"SELECT\", prod :_Query_1, depth 2") | |
[6](2) ("_Query_1(:start:2)" "\"SELECT\"") | |
[6](3) ("parse(production)" | |
"token \"SELECT\" prod :_Query_1, prod_branch [\"ASK\", \"CONSTRUCT\", \"DESCRIBE\", \"SELECT\"], sequence [:SelectQuery]" | |
) | |
[6](3) ("parse(terms)" "todo {:prod=>:_Query_1, :terms=>[:SelectQuery]}, depth 3") | |
[6](3) ("parse(token)" "accept :SelectQuery") | |
[6](3) ("parse(push)" "term :SelectQuery, depth 3") | |
[6](3) ("parse(production)" "token \"SELECT\", prod :SelectQuery, depth 3") | |
[6](2) ("SelectQuery(:start:3)" "\"SELECT\"") | |
[6](3) ("parse(production)" | |
"token \"SELECT\" prod :SelectQuery, prod_branch [\"SELECT\"], sequence [:SelectClause, :_SelectQuery_1, :WhereClause, :SolutionModifier, :ValuesClause]" | |
) | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:SelectQuery, :terms=>[:SelectClause, :_SelectQuery_1, :WhereClause, :SolutionModifier, :ValuesClause]}, depth 4" | |
) | |
[6](3) ("parse(token)" "accept :SelectClause") | |
[6](3) ("parse(push)" "term :SelectClause, depth 4") | |
[6](3) ("parse(production)" "token \"SELECT\", prod :SelectClause, depth 4") | |
[6](2) ("SelectClause(:start:3)" "\"SELECT\"") | |
[6](3) ("parse(production)" | |
"token \"SELECT\" prod :SelectClause, prod_branch [\"SELECT\"], sequence [\"SELECT\", :_SelectClause_1, :_SelectClause_2]" | |
) | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:SelectClause, :terms=>[\"SELECT\", :_SelectClause_1, :_SelectClause_2]}, depth 5" | |
) | |
[6](3) ("parse(token)" "accept \"SELECT\"") | |
[6](3) ("accept" "\"SELECT\" === \"SELECT\"") | |
[6](3) ("parse(token)" "token \"SELECT\", term \"SELECT\"") | |
[6](2) ("SELECT(:terminal)" "" "SELECT: {}") | |
[6](3) ("parse(token)" "accept :_SelectClause_1") | |
[6](3) ("parse(token)" "skip optional term :_SelectClause_1 on \"?class\"(VAR1)") | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:SelectClause, :terms=>[:_SelectClause_2]}, depth 5" ) | |
[6](3) ("parse(token)" "accept :_SelectClause_2") | |
[6](3) ("parse(push)" "term :_SelectClause_2, depth 5") | |
[6](3) ("parse(production)" "token :VAR1, prod :_SelectClause_2, depth 5") | |
[6](2) ("_SelectClause_2(:start:3)" "\"?class\"(VAR1)") | |
[6](3) ("parse(production)" | |
"token :VAR1 prod :_SelectClause_2, prod_branch [\"(\", \"*\", :VAR1, :VAR2], sequence [:_SelectClause_4]" | |
) | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:_SelectClause_2, :terms=>[:_SelectClause_4]}, depth 6" ) | |
[6](3) ("parse(token)" "accept :_SelectClause_4") | |
[6](3) ("parse(push)" "term :_SelectClause_4, depth 6") | |
[6](3) ("parse(production)" "token :VAR1, prod :_SelectClause_4, depth 6") | |
[6](2) ("_SelectClause_4(:start:3)" "\"?class\"(VAR1)") | |
[6](3) ("parse(production)" | |
"token :VAR1 prod :_SelectClause_4, prod_branch [\"(\", :VAR1, :VAR2], sequence [:_SelectClause_5, :_SelectClause_6]" | |
) | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:_SelectClause_4, :terms=>[:_SelectClause_5, :_SelectClause_6]}, depth 7" | |
) | |
[6](3) ("parse(token)" "accept :_SelectClause_5") | |
[6](3) ("parse(push)" "term :_SelectClause_5, depth 7") | |
[6](3) ("parse(production)" "token :VAR1, prod :_SelectClause_5, depth 7") | |
[6](2) ("_SelectClause_5(:start:3)" "\"?class\"(VAR1)") | |
[6](3) ("parse(production)" | |
"token :VAR1 prod :_SelectClause_5, prod_branch [\"(\", :VAR1, :VAR2], sequence [:Var]" | |
) | |
[6](3) ("parse(terms)" "todo {:prod=>:_SelectClause_5, :terms=>[:Var]}, depth 8") | |
[6](3) ("parse(token)" "accept :Var") | |
[6](3) ("parse(push)" "term :Var, depth 8") | |
[6](3) ("parse(production)" "token :VAR1, prod :Var, depth 8") | |
[6](2) ("Var(:start:3)" "\"?class\"(VAR1)") | |
[6](3) ("parse(production)" | |
"token :VAR1 prod :Var, prod_branch [:VAR1, :VAR2], sequence [:VAR1]" ) | |
[6](3) ("parse(terms)" "todo {:prod=>:Var, :terms=>[:VAR1]}, depth 9") | |
[6](3) ("parse(token)" "accept :VAR1") | |
[6](3) ("accept" "\"?class\"(VAR1) === :VAR1") | |
[6](3) ("parse(token)" "token \"?class\"(VAR1), term :VAR1") | |
[6](3) ("add_prod_datum(Var)" "[] << #<RDF::Query::Variable:0x3f813d85ce30(?class)>") | |
[6](2) ("VAR1(:terminal)" "" | |
":VAR1: {:Var=>[#<RDF::Query::Variable:0x3f813d85ce30(?class)>]}" ) | |
[6](3) ("parse(pop)" "todo {:prod=>:Var, :terms=>[]}, depth 9") | |
[6](2) ("Var(:finish):3") | |
[6](3) ("parse(pop)" "todo {:prod=>:_SelectClause_5, :terms=>[]}, depth 8") | |
[6](2) ("_SelectClause_5(:finish):3") | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:_SelectClause_4, :terms=>[:_SelectClause_6]}, depth 7" ) | |
[6](3) ("parse(token)" "accept :_SelectClause_6") | |
[6](3) ("parse(push)" "term :_SelectClause_6, depth 7") | |
[6](3) ("parse(production)" "token \"(\", prod :_SelectClause_6, depth 7") | |
[6](2) ("_SelectClause_6(:start:3)" "\"(\"") | |
[6](3) ("parse(production)" | |
"token \"(\" prod :_SelectClause_6, prod_branch [\"(\", \"FROM\", :VAR1, :VAR2, \"WHERE\", \"{\"], sequence [:_SelectClause_7]" | |
) | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:_SelectClause_6, :terms=>[:_SelectClause_7]}, depth 8" ) | |
[6](3) ("parse(token)" "accept :_SelectClause_7") | |
[6](3) ("parse(push)" "term :_SelectClause_7, depth 8") | |
[6](3) ("parse(production)" "token \"(\", prod :_SelectClause_7, depth 8") | |
[6](2) ("_SelectClause_7(:start:3)" "\"(\"") | |
[6](3) ("parse(production)" | |
"token \"(\" prod :_SelectClause_7, prod_branch [\"(\", :VAR1, :VAR2], sequence [:_SelectClause_5, :_SelectClause_6]" | |
) | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:_SelectClause_7, :terms=>[:_SelectClause_5, :_SelectClause_6]}, depth 9" | |
) | |
[6](3) ("parse(token)" "accept :_SelectClause_5") | |
[6](3) ("parse(push)" "term :_SelectClause_5, depth 9") | |
[6](3) ("parse(production)" "token \"(\", prod :_SelectClause_5, depth 9") | |
[6](2) ("_SelectClause_5(:start:3)" "\"(\"") | |
[6](3) ("parse(production)" | |
"token \"(\" prod :_SelectClause_5, prod_branch [\"(\", :VAR1, :VAR2], sequence [:_SelectClause_8]" | |
) | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:_SelectClause_5, :terms=>[:_SelectClause_8]}, depth 10" ) | |
[6](3) ("parse(token)" "accept :_SelectClause_8") | |
[6](3) ("parse(push)" "term :_SelectClause_8, depth 10") | |
[6](3) ("parse(production)" "token \"(\", prod :_SelectClause_8, depth 10") | |
[6](2) ("_SelectClause_8(:start:4)" "\"(\"") | |
[6](3) ("parse(production)" | |
"token \"(\" prod :_SelectClause_8, prod_branch [\"(\"], sequence [\"(\", :Expression, \"AS\", :Var, \")\"]" | |
) | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:_SelectClause_8, :terms=>[\"(\", :Expression, \"AS\", :Var, \")\"]}, depth 11" | |
) | |
[6](3) ("parse(token)" "accept \"(\"") | |
[6](3) ("accept" "\"(\" === \"(\"") | |
[6](3) ("parse(token)" "token \"(\", term \"(\"") | |
[6](2) ("((:terminal)" "" "(: {}") | |
[6](3) ("parse(token)" "accept :Expression") | |
[6](3) ("parse(push)" "term :Expression, depth 11") | |
[6](3) ("parse(production)" "token \"GROUP_CONCAT\", prod :Expression, depth 11") | |
[6](2) ("Expression(:start:5)" "\"GROUP_CONCAT\"") | |
[6](3) ("parse(production)" | |
"token \"GROUP_CONCAT\" prod :Expression, prod_branch [\"!\", \"(\", \"+\", \"-\", \"ABS\", \"AVG\", \"BNODE\", \"BOUND\", \"CEIL\", \"COALESCE\", \"CONCAT\", \"CONTAINS\", \"COUNT\", \"DATATYPE\", \"DAY\", :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, \"ENCODE_FOR_URI\", \"EXISTS\", \"FLOOR\", \"GROUP_CONCAT\", \"HOURS\", \"IF\", :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, \"IRI\", :IRIREF, \"LANG\", \"LANGMATCHES\", \"LCASE\", \"MAX\", \"MD5\", \"MIN\", \"MINUTES\", \"MONTH\", \"NOT\", \"NOW\", :PNAME_LN, :PNAME_NS, \"RAND\", \"REGEX\", \"REPLACE\", \"ROUND\", \"SAMPLE\", \"SECONDS\", \"SHA1\", \"SHA224\", \"SHA256\", \"SHA384\", \"SHA512\", \"STR\", \"STRAFTER\", \"STRBEFORE\", \"STRDT\", \"STRENDS\", :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, \"STRLANG\", \"STRLEN\", \"STRSTARTS\", \"STRUUID\", \"SUBSTR\", \"SUM\", \"TIMEZONE\", \"TZ\", \"UCASE\", \"URI\", \"UUID\", :VAR1, :VAR2, \"YEAR\", \"false\", \"isBLANK\", \"isIRI\", \"isLITERAL\", \"isNUMERIC\", \"isURI\", \"sameTerm\", \"true\"], sequence [:ConditionalOrExpression]" | |
) | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:Expression, :terms=>[:ConditionalOrExpression]}, depth 12" ) | |
[6](3) ("parse(token)" "accept :ConditionalOrExpression") | |
[6](3) ("parse(push)" "term :ConditionalOrExpression, depth 12") | |
[6](3) ("parse(production)" | |
"token \"GROUP_CONCAT\", prod :ConditionalOrExpression, depth 12" ) | |
[6](2) ("ConditionalOrExpression(:start:6)" "\"GROUP_CONCAT\"") | |
[6](3) ("parse(production)" | |
"token \"GROUP_CONCAT\" prod :ConditionalOrExpression, prod_branch [\"!\", \"(\", \"+\", \"-\", \"ABS\", \"AVG\", \"BNODE\", \"BOUND\", \"CEIL\", \"COALESCE\", \"CONCAT\", \"CONTAINS\", \"COUNT\", \"DATATYPE\", \"DAY\", :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, \"ENCODE_FOR_URI\", \"EXISTS\", \"FLOOR\", \"GROUP_CONCAT\", \"HOURS\", \"IF\", :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, \"IRI\", :IRIREF, \"LANG\", \"LANGMATCHES\", \"LCASE\", \"MAX\", \"MD5\", \"MIN\", \"MINUTES\", \"MONTH\", \"NOT\", \"NOW\", :PNAME_LN, :PNAME_NS, \"RAND\", \"REGEX\", \"REPLACE\", \"ROUND\", \"SAMPLE\", \"SECONDS\", \"SHA1\", \"SHA224\", \"SHA256\", \"SHA384\", \"SHA512\", \"STR\", \"STRAFTER\", \"STRBEFORE\", \"STRDT\", \"STRENDS\", :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, \"STRLANG\", \"STRLEN\", \"STRSTARTS\", \"STRUUID\", \"SUBSTR\", \"SUM\", \"TIMEZONE\", \"TZ\", \"UCASE\", \"URI\", \"UUID\", :VAR1, :VAR2, \"YEAR\", \"false\", \"isBLANK\", \"isIRI\", \"isLITERAL\", \"isNUMERIC\", \"isURI\", \"sameTerm\", \"true\"], sequence [:ConditionalAndExpression, :_ConditionalOrExpression_1]" | |
) | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:ConditionalOrExpression, :terms=>[:ConditionalAndExpression, :_ConditionalOrExpression_1]}, depth 13" | |
) | |
[6](3) ("parse(token)" "accept :ConditionalAndExpression") | |
[6](3) ("parse(push)" "term :ConditionalAndExpression, depth 13") | |
[6](3) ("parse(production)" | |
"token \"GROUP_CONCAT\", prod :ConditionalAndExpression, depth 13" ) | |
[6](2) ("ConditionalAndExpression(:start:7)" "\"GROUP_CONCAT\"") | |
[6](3) ("parse(production)" | |
"token \"GROUP_CONCAT\" prod :ConditionalAndExpression, prod_branch [\"!\", \"(\", \"+\", \"-\", \"ABS\", \"AVG\", \"BNODE\", \"BOUND\", \"CEIL\", \"COALESCE\", \"CONCAT\", \"CONTAINS\", \"COUNT\", \"DATATYPE\", \"DAY\", :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, \"ENCODE_FOR_URI\", \"EXISTS\", \"FLOOR\", \"GROUP_CONCAT\", \"HOURS\", \"IF\", :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, \"IRI\", :IRIREF, \"LANG\", \"LANGMATCHES\", \"LCASE\", \"MAX\", \"MD5\", \"MIN\", \"MINUTES\", \"MONTH\", \"NOT\", \"NOW\", :PNAME_LN, :PNAME_NS, \"RAND\", \"REGEX\", \"REPLACE\", \"ROUND\", \"SAMPLE\", \"SECONDS\", \"SHA1\", \"SHA224\", \"SHA256\", \"SHA384\", \"SHA512\", \"STR\", \"STRAFTER\", \"STRBEFORE\", \"STRDT\", \"STRENDS\", :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, \"STRLANG\", \"STRLEN\", \"STRSTARTS\", \"STRUUID\", \"SUBSTR\", \"SUM\", \"TIMEZONE\", \"TZ\", \"UCASE\", \"URI\", \"UUID\", :VAR1, :VAR2, \"YEAR\", \"false\", \"isBLANK\", \"isIRI\", \"isLITERAL\", \"isNUMERIC\", \"isURI\", \"sameTerm\", \"true\"], sequence [:ValueLogical, :_ConditionalAndExpression_1]" | |
) | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:ConditionalAndExpression, :terms=>[:ValueLogical, :_ConditionalAndExpression_1]}, depth 14" | |
) | |
[6](3) ("parse(token)" "accept :ValueLogical") | |
[6](3) ("parse(push)" "term :ValueLogical, depth 14") | |
[6](3) ("parse(production)" "token \"GROUP_CONCAT\", prod :ValueLogical, depth 14") | |
[6](2) ("ValueLogical(:start:7)" "\"GROUP_CONCAT\"") | |
[6](3) ("parse(production)" | |
"token \"GROUP_CONCAT\" prod :ValueLogical, prod_branch [\"!\", \"(\", \"+\", \"-\", \"ABS\", \"AVG\", \"BNODE\", \"BOUND\", \"CEIL\", \"COALESCE\", \"CONCAT\", \"CONTAINS\", \"COUNT\", \"DATATYPE\", \"DAY\", :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, \"ENCODE_FOR_URI\", \"EXISTS\", \"FLOOR\", \"GROUP_CONCAT\", \"HOURS\", \"IF\", :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, \"IRI\", :IRIREF, \"LANG\", \"LANGMATCHES\", \"LCASE\", \"MAX\", \"MD5\", \"MIN\", \"MINUTES\", \"MONTH\", \"NOT\", \"NOW\", :PNAME_LN, :PNAME_NS, \"RAND\", \"REGEX\", \"REPLACE\", \"ROUND\", \"SAMPLE\", \"SECONDS\", \"SHA1\", \"SHA224\", \"SHA256\", \"SHA384\", \"SHA512\", \"STR\", \"STRAFTER\", \"STRBEFORE\", \"STRDT\", \"STRENDS\", :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, \"STRLANG\", \"STRLEN\", \"STRSTARTS\", \"STRUUID\", \"SUBSTR\", \"SUM\", \"TIMEZONE\", \"TZ\", \"UCASE\", \"URI\", \"UUID\", :VAR1, :VAR2, \"YEAR\", \"false\", \"isBLANK\", \"isIRI\", \"isLITERAL\", \"isNUMERIC\", \"isURI\", \"sameTerm\", \"true\"], sequence [:RelationalExpression]" | |
) | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:ValueLogical, :terms=>[:RelationalExpression]}, depth 15" ) | |
[6](3) ("parse(token)" "accept :RelationalExpression") | |
[6](3) ("parse(push)" "term :RelationalExpression, depth 15") | |
[6](3) ("parse(production)" | |
"token \"GROUP_CONCAT\", prod :RelationalExpression, depth 15" ) | |
[6](2) ("RelationalExpression(:start:8)" "\"GROUP_CONCAT\"") | |
[6](3) ("parse(production)" | |
"token \"GROUP_CONCAT\" prod :RelationalExpression, prod_branch [\"!\", \"(\", \"+\", \"-\", \"ABS\", \"AVG\", \"BNODE\", \"BOUND\", \"CEIL\", \"COALESCE\", \"CONCAT\", \"CONTAINS\", \"COUNT\", \"DATATYPE\", \"DAY\", :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, \"ENCODE_FOR_URI\", \"EXISTS\", \"FLOOR\", \"GROUP_CONCAT\", \"HOURS\", \"IF\", :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, \"IRI\", :IRIREF, \"LANG\", \"LANGMATCHES\", \"LCASE\", \"MAX\", \"MD5\", \"MIN\", \"MINUTES\", \"MONTH\", \"NOT\", \"NOW\", :PNAME_LN, :PNAME_NS, \"RAND\", \"REGEX\", \"REPLACE\", \"ROUND\", \"SAMPLE\", \"SECONDS\", \"SHA1\", \"SHA224\", \"SHA256\", \"SHA384\", \"SHA512\", \"STR\", \"STRAFTER\", \"STRBEFORE\", \"STRDT\", \"STRENDS\", :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, \"STRLANG\", \"STRLEN\", \"STRSTARTS\", \"STRUUID\", \"SUBSTR\", \"SUM\", \"TIMEZONE\", \"TZ\", \"UCASE\", \"URI\", \"UUID\", :VAR1, :VAR2, \"YEAR\", \"false\", \"isBLANK\", \"isIRI\", \"isLITERAL\", \"isNUMERIC\", \"isURI\", \"sameTerm\", \"true\"], sequence [:NumericExpression, :_RelationalExpression_1]" | |
) | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:RelationalExpression, :terms=>[:NumericExpression, :_RelationalExpression_1]}, depth 16" | |
) | |
[6](3) ("parse(token)" "accept :NumericExpression") | |
[6](3) ("parse(push)" "term :NumericExpression, depth 16") | |
[6](3) ("parse(production)" "token \"GROUP_CONCAT\", prod :NumericExpression, depth 16") | |
[6](2) ("NumericExpression(:start:8)" "\"GROUP_CONCAT\"") | |
[6](3) ("parse(production)" | |
"token \"GROUP_CONCAT\" prod :NumericExpression, prod_branch [\"!\", \"(\", \"+\", \"-\", \"ABS\", \"AVG\", \"BNODE\", \"BOUND\", \"CEIL\", \"COALESCE\", \"CONCAT\", \"CONTAINS\", \"COUNT\", \"DATATYPE\", \"DAY\", :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, \"ENCODE_FOR_URI\", \"EXISTS\", \"FLOOR\", \"GROUP_CONCAT\", \"HOURS\", \"IF\", :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, \"IRI\", :IRIREF, \"LANG\", \"LANGMATCHES\", \"LCASE\", \"MAX\", \"MD5\", \"MIN\", \"MINUTES\", \"MONTH\", \"NOT\", \"NOW\", :PNAME_LN, :PNAME_NS, \"RAND\", \"REGEX\", \"REPLACE\", \"ROUND\", \"SAMPLE\", \"SECONDS\", \"SHA1\", \"SHA224\", \"SHA256\", \"SHA384\", \"SHA512\", \"STR\", \"STRAFTER\", \"STRBEFORE\", \"STRDT\", \"STRENDS\", :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, \"STRLANG\", \"STRLEN\", \"STRSTARTS\", \"STRUUID\", \"SUBSTR\", \"SUM\", \"TIMEZONE\", \"TZ\", \"UCASE\", \"URI\", \"UUID\", :VAR1, :VAR2, \"YEAR\", \"false\", \"isBLANK\", \"isIRI\", \"isLITERAL\", \"isNUMERIC\", \"isURI\", \"sameTerm\", \"true\"], sequence [:AdditiveExpression]" | |
) | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:NumericExpression, :terms=>[:AdditiveExpression]}, depth 17" ) | |
[6](3) ("parse(token)" "accept :AdditiveExpression") | |
[6](3) ("parse(push)" "term :AdditiveExpression, depth 17") | |
[6](3) ("parse(production)" "token \"GROUP_CONCAT\", prod :AdditiveExpression, depth 17") | |
[6](2) ("AdditiveExpression(:start:9)" "\"GROUP_CONCAT\"") | |
[6](3) ("parse(production)" | |
"token \"GROUP_CONCAT\" prod :AdditiveExpression, prod_branch [\"!\", \"(\", \"+\", \"-\", \"ABS\", \"AVG\", \"BNODE\", \"BOUND\", \"CEIL\", \"COALESCE\", \"CONCAT\", \"CONTAINS\", \"COUNT\", \"DATATYPE\", \"DAY\", :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, \"ENCODE_FOR_URI\", \"EXISTS\", \"FLOOR\", \"GROUP_CONCAT\", \"HOURS\", \"IF\", :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, \"IRI\", :IRIREF, \"LANG\", \"LANGMATCHES\", \"LCASE\", \"MAX\", \"MD5\", \"MIN\", \"MINUTES\", \"MONTH\", \"NOT\", \"NOW\", :PNAME_LN, :PNAME_NS, \"RAND\", \"REGEX\", \"REPLACE\", \"ROUND\", \"SAMPLE\", \"SECONDS\", \"SHA1\", \"SHA224\", \"SHA256\", \"SHA384\", \"SHA512\", \"STR\", \"STRAFTER\", \"STRBEFORE\", \"STRDT\", \"STRENDS\", :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, \"STRLANG\", \"STRLEN\", \"STRSTARTS\", \"STRUUID\", \"SUBSTR\", \"SUM\", \"TIMEZONE\", \"TZ\", \"UCASE\", \"URI\", \"UUID\", :VAR1, :VAR2, \"YEAR\", \"false\", \"isBLANK\", \"isIRI\", \"isLITERAL\", \"isNUMERIC\", \"isURI\", \"sameTerm\", \"true\"], sequence [:MultiplicativeExpression, :_AdditiveExpression_1]" | |
) | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:AdditiveExpression, :terms=>[:MultiplicativeExpression, :_AdditiveExpression_1]}, depth 18" | |
) | |
[6](3) ("parse(token)" "accept :MultiplicativeExpression") | |
[6](3) ("parse(push)" "term :MultiplicativeExpression, depth 18") | |
[6](3) ("parse(production)" | |
"token \"GROUP_CONCAT\", prod :MultiplicativeExpression, depth 18" ) | |
[6](2) ("MultiplicativeExpression(:start:10)" "\"GROUP_CONCAT\"") | |
[6](3) ("parse(production)" | |
"token \"GROUP_CONCAT\" prod :MultiplicativeExpression, prod_branch [\"!\", \"(\", \"+\", \"-\", \"ABS\", \"AVG\", \"BNODE\", \"BOUND\", \"CEIL\", \"COALESCE\", \"CONCAT\", \"CONTAINS\", \"COUNT\", \"DATATYPE\", \"DAY\", :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, \"ENCODE_FOR_URI\", \"EXISTS\", \"FLOOR\", \"GROUP_CONCAT\", \"HOURS\", \"IF\", :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, \"IRI\", :IRIREF, \"LANG\", \"LANGMATCHES\", \"LCASE\", \"MAX\", \"MD5\", \"MIN\", \"MINUTES\", \"MONTH\", \"NOT\", \"NOW\", :PNAME_LN, :PNAME_NS, \"RAND\", \"REGEX\", \"REPLACE\", \"ROUND\", \"SAMPLE\", \"SECONDS\", \"SHA1\", \"SHA224\", \"SHA256\", \"SHA384\", \"SHA512\", \"STR\", \"STRAFTER\", \"STRBEFORE\", \"STRDT\", \"STRENDS\", :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, \"STRLANG\", \"STRLEN\", \"STRSTARTS\", \"STRUUID\", \"SUBSTR\", \"SUM\", \"TIMEZONE\", \"TZ\", \"UCASE\", \"URI\", \"UUID\", :VAR1, :VAR2, \"YEAR\", \"false\", \"isBLANK\", \"isIRI\", \"isLITERAL\", \"isNUMERIC\", \"isURI\", \"sameTerm\", \"true\"], sequence [:UnaryExpression, :_MultiplicativeExpression_1]" | |
) | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:MultiplicativeExpression, :terms=>[:UnaryExpression, :_MultiplicativeExpression_1]}, depth 19" | |
) | |
[6](3) ("parse(token)" "accept :UnaryExpression") | |
[6](3) ("parse(push)" "term :UnaryExpression, depth 19") | |
[6](3) ("parse(production)" "token \"GROUP_CONCAT\", prod :UnaryExpression, depth 19") | |
[6](2) ("UnaryExpression(:start:11)" "\"GROUP_CONCAT\"") | |
[6](3) ("parse(production)" | |
"token \"GROUP_CONCAT\" prod :UnaryExpression, prod_branch [\"!\", \"(\", \"+\", \"-\", \"ABS\", \"AVG\", \"BNODE\", \"BOUND\", \"CEIL\", \"COALESCE\", \"CONCAT\", \"CONTAINS\", \"COUNT\", \"DATATYPE\", \"DAY\", :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, \"ENCODE_FOR_URI\", \"EXISTS\", \"FLOOR\", \"GROUP_CONCAT\", \"HOURS\", \"IF\", :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, \"IRI\", :IRIREF, \"LANG\", \"LANGMATCHES\", \"LCASE\", \"MAX\", \"MD5\", \"MIN\", \"MINUTES\", \"MONTH\", \"NOT\", \"NOW\", :PNAME_LN, :PNAME_NS, \"RAND\", \"REGEX\", \"REPLACE\", \"ROUND\", \"SAMPLE\", \"SECONDS\", \"SHA1\", \"SHA224\", \"SHA256\", \"SHA384\", \"SHA512\", \"STR\", \"STRAFTER\", \"STRBEFORE\", \"STRDT\", \"STRENDS\", :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, \"STRLANG\", \"STRLEN\", \"STRSTARTS\", \"STRUUID\", \"SUBSTR\", \"SUM\", \"TIMEZONE\", \"TZ\", \"UCASE\", \"URI\", \"UUID\", :VAR1, :VAR2, \"YEAR\", \"false\", \"isBLANK\", \"isIRI\", \"isLITERAL\", \"isNUMERIC\", \"isURI\", \"sameTerm\", \"true\"], sequence [:PrimaryExpression]" | |
) | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:UnaryExpression, :terms=>[:PrimaryExpression]}, depth 20" ) | |
[6](3) ("parse(token)" "accept :PrimaryExpression") | |
[6](3) ("parse(push)" "term :PrimaryExpression, depth 20") | |
[6](3) ("parse(production)" "token \"GROUP_CONCAT\", prod :PrimaryExpression, depth 20") | |
[6](2) ("PrimaryExpression(:start:12)" "\"GROUP_CONCAT\"") | |
[6](3) ("parse(production)" | |
"token \"GROUP_CONCAT\" prod :PrimaryExpression, prod_branch [\"(\", \"ABS\", \"AVG\", \"BNODE\", \"BOUND\", \"CEIL\", \"COALESCE\", \"CONCAT\", \"CONTAINS\", \"COUNT\", \"DATATYPE\", \"DAY\", :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, \"ENCODE_FOR_URI\", \"EXISTS\", \"FLOOR\", \"GROUP_CONCAT\", \"HOURS\", \"IF\", :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, \"IRI\", :IRIREF, \"LANG\", \"LANGMATCHES\", \"LCASE\", \"MAX\", \"MD5\", \"MIN\", \"MINUTES\", \"MONTH\", \"NOT\", \"NOW\", :PNAME_LN, :PNAME_NS, \"RAND\", \"REGEX\", \"REPLACE\", \"ROUND\", \"SAMPLE\", \"SECONDS\", \"SHA1\", \"SHA224\", \"SHA256\", \"SHA384\", \"SHA512\", \"STR\", \"STRAFTER\", \"STRBEFORE\", \"STRDT\", \"STRENDS\", :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, \"STRLANG\", \"STRLEN\", \"STRSTARTS\", \"STRUUID\", \"SUBSTR\", \"SUM\", \"TIMEZONE\", \"TZ\", \"UCASE\", \"URI\", \"UUID\", :VAR1, :VAR2, \"YEAR\", \"false\", \"isBLANK\", \"isIRI\", \"isLITERAL\", \"isNUMERIC\", \"isURI\", \"sameTerm\", \"true\"], sequence [:BuiltInCall]" | |
) | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:PrimaryExpression, :terms=>[:BuiltInCall]}, depth 21" ) | |
[6](3) ("parse(token)" "accept :BuiltInCall") | |
[6](3) ("parse(push)" "term :BuiltInCall, depth 21") | |
[6](3) ("parse(production)" "token \"GROUP_CONCAT\", prod :BuiltInCall, depth 21") | |
[6](2) ("BuiltInCall(:start:13)" "\"GROUP_CONCAT\"") | |
[6](3) ("parse(production)" | |
"token \"GROUP_CONCAT\" prod :BuiltInCall, prod_branch [\"ABS\", \"AVG\", \"BNODE\", \"BOUND\", \"CEIL\", \"COALESCE\", \"CONCAT\", \"CONTAINS\", \"COUNT\", \"DATATYPE\", \"DAY\", \"ENCODE_FOR_URI\", \"EXISTS\", \"FLOOR\", \"GROUP_CONCAT\", \"HOURS\", \"IF\", \"IRI\", \"LANG\", \"LANGMATCHES\", \"LCASE\", \"MAX\", \"MD5\", \"MIN\", \"MINUTES\", \"MONTH\", \"NOT\", \"NOW\", \"RAND\", \"REGEX\", \"REPLACE\", \"ROUND\", \"SAMPLE\", \"SECONDS\", \"SHA1\", \"SHA224\", \"SHA256\", \"SHA384\", \"SHA512\", \"STR\", \"STRAFTER\", \"STRBEFORE\", \"STRDT\", \"STRENDS\", \"STRLANG\", \"STRLEN\", \"STRSTARTS\", \"STRUUID\", \"SUBSTR\", \"SUM\", \"TIMEZONE\", \"TZ\", \"UCASE\", \"URI\", \"UUID\", \"YEAR\", \"isBLANK\", \"isIRI\", \"isLITERAL\", \"isNUMERIC\", \"isURI\", \"sameTerm\"], sequence [:Aggregate]" | |
) | |
[6](3) ("parse(terms)" "todo {:prod=>:BuiltInCall, :terms=>[:Aggregate]}, depth 22") | |
[6](3) ("parse(token)" "accept :Aggregate") | |
[6](3) ("parse(push)" "term :Aggregate, depth 22") | |
[6](3) ("parse(production)" "token \"GROUP_CONCAT\", prod :Aggregate, depth 22") | |
[6](2) ("Aggregate(:start:14)" "\"GROUP_CONCAT\"") | |
[6](3) ("parse(production)" | |
"token \"GROUP_CONCAT\" prod :Aggregate, prod_branch [\"AVG\", \"COUNT\", \"GROUP_CONCAT\", \"MAX\", \"MIN\", \"SAMPLE\", \"SUM\"], sequence [:_Aggregate_7]" | |
) | |
[6](3) ("parse(terms)" "todo {:prod=>:Aggregate, :terms=>[:_Aggregate_7]}, depth 23") | |
[6](3) ("parse(token)" "accept :_Aggregate_7") | |
[6](3) ("parse(push)" "term :_Aggregate_7, depth 23") | |
[6](3) ("parse(production)" "token \"GROUP_CONCAT\", prod :_Aggregate_7, depth 23") | |
[6](2) ("_Aggregate_7(:start:14)" "\"GROUP_CONCAT\"") | |
[6](3) ("parse(production)" | |
"token \"GROUP_CONCAT\" prod :_Aggregate_7, prod_branch [\"GROUP_CONCAT\"], sequence [\"GROUP_CONCAT\", \"(\", :_Aggregate_15, :Expression, :_Aggregate_16, \")\"]" | |
) | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:_Aggregate_7, :terms=>[\"GROUP_CONCAT\", \"(\", :_Aggregate_15, :Expression, :_Aggregate_16, \")\"]}, depth 24" | |
) | |
[6](3) ("parse(token)" "accept \"GROUP_CONCAT\"") | |
[6](3) ("accept" "\"GROUP_CONCAT\" === \"GROUP_CONCAT\"") | |
[6](3) ("parse(token)" "token \"GROUP_CONCAT\", term \"GROUP_CONCAT\"") | |
[6](3) ("add_prod_datum(group_concat)" "[] << :group_concat") | |
[6](2) ("GROUP_CONCAT(:terminal)" "" "GROUP_CONCAT: {:group_concat=>[:group_concat]}") | |
[6](3) ("parse(token)" "accept \"(\"") | |
[6](3) ("accept" "\"(\" === \"(\"") | |
[6](3) ("parse(token)" "token \"(\", term \"(\"") | |
[6](2) ("((:terminal)" "" "(: {:group_concat=>[:group_concat]}") | |
[6](3) ("parse(token)" "accept :_Aggregate_15") | |
[6](3) ("parse(push)" "term :_Aggregate_15, depth 24") | |
[6](3) ("parse(production)" "token \"DISTINCT\", prod :_Aggregate_15, depth 24") | |
[6](2) ("_Aggregate_15(:start:14)" "\"DISTINCT\"") | |
[6](3) ("parse(production)" | |
"token \"DISTINCT\" prod :_Aggregate_15, prod_branch [\"!\", \"(\", \"+\", \"-\", \"ABS\", \"AVG\", \"BNODE\", \"BOUND\", \"CEIL\", \"COALESCE\", \"CONCAT\", \"CONTAINS\", \"COUNT\", \"DATATYPE\", \"DAY\", :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, \"DISTINCT\", :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, \"ENCODE_FOR_URI\", \"EXISTS\", \"FLOOR\", \"GROUP_CONCAT\", \"HOURS\", \"IF\", :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, \"IRI\", :IRIREF, \"LANG\", \"LANGMATCHES\", \"LCASE\", \"MAX\", \"MD5\", \"MIN\", \"MINUTES\", \"MONTH\", \"NOT\", \"NOW\", :PNAME_LN, :PNAME_NS, \"RAND\", \"REGEX\", \"REPLACE\", \"ROUND\", \"SAMPLE\", \"SECONDS\", \"SHA1\", \"SHA224\", \"SHA256\", \"SHA384\", \"SHA512\", \"STR\", \"STRAFTER\", \"STRBEFORE\", \"STRDT\", \"STRENDS\", :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, \"STRLANG\", \"STRLEN\", \"STRSTARTS\", \"STRUUID\", \"SUBSTR\", \"SUM\", \"TIMEZONE\", \"TZ\", \"UCASE\", \"URI\", \"UUID\", :VAR1, :VAR2, \"YEAR\", \"false\", \"isBLANK\", \"isIRI\", \"isLITERAL\", \"isNUMERIC\", \"isURI\", \"sameTerm\", \"true\"], sequence [\"DISTINCT\"]" | |
) | |
[6](3) ("parse(terms)" "todo {:prod=>:_Aggregate_15, :terms=>[\"DISTINCT\"]}, depth 25") | |
[6](3) ("parse(token)" "accept \"DISTINCT\"") | |
[6](3) ("accept" "\"DISTINCT\" === \"DISTINCT\"") | |
[6](3) ("parse(token)" "token \"DISTINCT\", term \"DISTINCT\"") | |
[6](2) ("DISTINCT(:terminal)" "" | |
"DISTINCT: {:group_concat=>[:group_concat], :DISTINCT_REDUCED=>:distinct}" ) | |
[6](3) ("parse(pop)" "todo {:prod=>:_Aggregate_15, :terms=>[]}, depth 25") | |
[6](2) ("_Aggregate_15(:finish):14") | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:_Aggregate_7, :terms=>[:Expression, :_Aggregate_16, \")\"]}, depth 24" | |
) | |
[6](3) ("parse(token)" "accept :Expression") | |
[6](3) ("parse(push)" "term :Expression, depth 24") | |
[6](3) ("parse(production)" "token :VAR1, prod :Expression, depth 24") | |
[6](2) ("Expression(:start:15)" "\"?item\"(VAR1)") | |
[6](3) ("parse(production)" | |
"token :VAR1 prod :Expression, prod_branch [\"!\", \"(\", \"+\", \"-\", \"ABS\", \"AVG\", \"BNODE\", \"BOUND\", \"CEIL\", \"COALESCE\", \"CONCAT\", \"CONTAINS\", \"COUNT\", \"DATATYPE\", \"DAY\", :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, \"ENCODE_FOR_URI\", \"EXISTS\", \"FLOOR\", \"GROUP_CONCAT\", \"HOURS\", \"IF\", :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, \"IRI\", :IRIREF, \"LANG\", \"LANGMATCHES\", \"LCASE\", \"MAX\", \"MD5\", \"MIN\", \"MINUTES\", \"MONTH\", \"NOT\", \"NOW\", :PNAME_LN, :PNAME_NS, \"RAND\", \"REGEX\", \"REPLACE\", \"ROUND\", \"SAMPLE\", \"SECONDS\", \"SHA1\", \"SHA224\", \"SHA256\", \"SHA384\", \"SHA512\", \"STR\", \"STRAFTER\", \"STRBEFORE\", \"STRDT\", \"STRENDS\", :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, \"STRLANG\", \"STRLEN\", \"STRSTARTS\", \"STRUUID\", \"SUBSTR\", \"SUM\", \"TIMEZONE\", \"TZ\", \"UCASE\", \"URI\", \"UUID\", :VAR1, :VAR2, \"YEAR\", \"false\", \"isBLANK\", \"isIRI\", \"isLITERAL\", \"isNUMERIC\", \"isURI\", \"sameTerm\", \"true\"], sequence [:ConditionalOrExpression]" | |
) | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:Expression, :terms=>[:ConditionalOrExpression]}, depth 25" ) | |
[6](3) ("parse(token)" "accept :ConditionalOrExpression") | |
[6](3) ("parse(push)" "term :ConditionalOrExpression, depth 25") | |
[6](3) ("parse(production)" "token :VAR1, prod :ConditionalOrExpression, depth 25") | |
[6](2) ("ConditionalOrExpression(:start:16)" "\"?item\"(VAR1)") | |
[6](3) ("parse(production)" | |
"token :VAR1 prod :ConditionalOrExpression, prod_branch [\"!\", \"(\", \"+\", \"-\", \"ABS\", \"AVG\", \"BNODE\", \"BOUND\", \"CEIL\", \"COALESCE\", \"CONCAT\", \"CONTAINS\", \"COUNT\", \"DATATYPE\", \"DAY\", :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, \"ENCODE_FOR_URI\", \"EXISTS\", \"FLOOR\", \"GROUP_CONCAT\", \"HOURS\", \"IF\", :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, \"IRI\", :IRIREF, \"LANG\", \"LANGMATCHES\", \"LCASE\", \"MAX\", \"MD5\", \"MIN\", \"MINUTES\", \"MONTH\", \"NOT\", \"NOW\", :PNAME_LN, :PNAME_NS, \"RAND\", \"REGEX\", \"REPLACE\", \"ROUND\", \"SAMPLE\", \"SECONDS\", \"SHA1\", \"SHA224\", \"SHA256\", \"SHA384\", \"SHA512\", \"STR\", \"STRAFTER\", \"STRBEFORE\", \"STRDT\", \"STRENDS\", :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, \"STRLANG\", \"STRLEN\", \"STRSTARTS\", \"STRUUID\", \"SUBSTR\", \"SUM\", \"TIMEZONE\", \"TZ\", \"UCASE\", \"URI\", \"UUID\", :VAR1, :VAR2, \"YEAR\", \"false\", \"isBLANK\", \"isIRI\", \"isLITERAL\", \"isNUMERIC\", \"isURI\", \"sameTerm\", \"true\"], sequence [:ConditionalAndExpression, :_ConditionalOrExpression_1]" | |
) | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:ConditionalOrExpression, :terms=>[:ConditionalAndExpression, :_ConditionalOrExpression_1]}, depth 26" | |
) | |
[6](3) ("parse(token)" "accept :ConditionalAndExpression") | |
[6](3) ("parse(push)" "term :ConditionalAndExpression, depth 26") | |
[6](3) ("parse(production)" "token :VAR1, prod :ConditionalAndExpression, depth 26") | |
[6](2) ("ConditionalAndExpression(:start:17)" "\"?item\"(VAR1)") | |
[6](3) ("parse(production)" | |
"token :VAR1 prod :ConditionalAndExpression, prod_branch [\"!\", \"(\", \"+\", \"-\", \"ABS\", \"AVG\", \"BNODE\", \"BOUND\", \"CEIL\", \"COALESCE\", \"CONCAT\", \"CONTAINS\", \"COUNT\", \"DATATYPE\", \"DAY\", :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, \"ENCODE_FOR_URI\", \"EXISTS\", \"FLOOR\", \"GROUP_CONCAT\", \"HOURS\", \"IF\", :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, \"IRI\", :IRIREF, \"LANG\", \"LANGMATCHES\", \"LCASE\", \"MAX\", \"MD5\", \"MIN\", \"MINUTES\", \"MONTH\", \"NOT\", \"NOW\", :PNAME_LN, :PNAME_NS, \"RAND\", \"REGEX\", \"REPLACE\", \"ROUND\", \"SAMPLE\", \"SECONDS\", \"SHA1\", \"SHA224\", \"SHA256\", \"SHA384\", \"SHA512\", \"STR\", \"STRAFTER\", \"STRBEFORE\", \"STRDT\", \"STRENDS\", :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, \"STRLANG\", \"STRLEN\", \"STRSTARTS\", \"STRUUID\", \"SUBSTR\", \"SUM\", \"TIMEZONE\", \"TZ\", \"UCASE\", \"URI\", \"UUID\", :VAR1, :VAR2, \"YEAR\", \"false\", \"isBLANK\", \"isIRI\", \"isLITERAL\", \"isNUMERIC\", \"isURI\", \"sameTerm\", \"true\"], sequence [:ValueLogical, :_ConditionalAndExpression_1]" | |
) | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:ConditionalAndExpression, :terms=>[:ValueLogical, :_ConditionalAndExpression_1]}, depth 27" | |
) | |
[6](3) ("parse(token)" "accept :ValueLogical") | |
[6](3) ("parse(push)" "term :ValueLogical, depth 27") | |
[6](3) ("parse(production)" "token :VAR1, prod :ValueLogical, depth 27") | |
[6](2) ("ValueLogical(:start:17)" "\"?item\"(VAR1)") | |
[6](3) ("parse(production)" | |
"token :VAR1 prod :ValueLogical, prod_branch [\"!\", \"(\", \"+\", \"-\", \"ABS\", \"AVG\", \"BNODE\", \"BOUND\", \"CEIL\", \"COALESCE\", \"CONCAT\", \"CONTAINS\", \"COUNT\", \"DATATYPE\", \"DAY\", :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, \"ENCODE_FOR_URI\", \"EXISTS\", \"FLOOR\", \"GROUP_CONCAT\", \"HOURS\", \"IF\", :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, \"IRI\", :IRIREF, \"LANG\", \"LANGMATCHES\", \"LCASE\", \"MAX\", \"MD5\", \"MIN\", \"MINUTES\", \"MONTH\", \"NOT\", \"NOW\", :PNAME_LN, :PNAME_NS, \"RAND\", \"REGEX\", \"REPLACE\", \"ROUND\", \"SAMPLE\", \"SECONDS\", \"SHA1\", \"SHA224\", \"SHA256\", \"SHA384\", \"SHA512\", \"STR\", \"STRAFTER\", \"STRBEFORE\", \"STRDT\", \"STRENDS\", :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, \"STRLANG\", \"STRLEN\", \"STRSTARTS\", \"STRUUID\", \"SUBSTR\", \"SUM\", \"TIMEZONE\", \"TZ\", \"UCASE\", \"URI\", \"UUID\", :VAR1, :VAR2, \"YEAR\", \"false\", \"isBLANK\", \"isIRI\", \"isLITERAL\", \"isNUMERIC\", \"isURI\", \"sameTerm\", \"true\"], sequence [:RelationalExpression]" | |
) | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:ValueLogical, :terms=>[:RelationalExpression]}, depth 28" ) | |
[6](3) ("parse(token)" "accept :RelationalExpression") | |
[6](3) ("parse(push)" "term :RelationalExpression, depth 28") | |
[6](3) ("parse(production)" "token :VAR1, prod :RelationalExpression, depth 28") | |
[6](2) ("RelationalExpression(:start:18)" "\"?item\"(VAR1)") | |
[6](3) ("parse(production)" | |
"token :VAR1 prod :RelationalExpression, prod_branch [\"!\", \"(\", \"+\", \"-\", \"ABS\", \"AVG\", \"BNODE\", \"BOUND\", \"CEIL\", \"COALESCE\", \"CONCAT\", \"CONTAINS\", \"COUNT\", \"DATATYPE\", \"DAY\", :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, \"ENCODE_FOR_URI\", \"EXISTS\", \"FLOOR\", \"GROUP_CONCAT\", \"HOURS\", \"IF\", :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, \"IRI\", :IRIREF, \"LANG\", \"LANGMATCHES\", \"LCASE\", \"MAX\", \"MD5\", \"MIN\", \"MINUTES\", \"MONTH\", \"NOT\", \"NOW\", :PNAME_LN, :PNAME_NS, \"RAND\", \"REGEX\", \"REPLACE\", \"ROUND\", \"SAMPLE\", \"SECONDS\", \"SHA1\", \"SHA224\", \"SHA256\", \"SHA384\", \"SHA512\", \"STR\", \"STRAFTER\", \"STRBEFORE\", \"STRDT\", \"STRENDS\", :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, \"STRLANG\", \"STRLEN\", \"STRSTARTS\", \"STRUUID\", \"SUBSTR\", \"SUM\", \"TIMEZONE\", \"TZ\", \"UCASE\", \"URI\", \"UUID\", :VAR1, :VAR2, \"YEAR\", \"false\", \"isBLANK\", \"isIRI\", \"isLITERAL\", \"isNUMERIC\", \"isURI\", \"sameTerm\", \"true\"], sequence [:NumericExpression, :_RelationalExpression_1]" | |
) | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:RelationalExpression, :terms=>[:NumericExpression, :_RelationalExpression_1]}, depth 29" | |
) | |
[6](3) ("parse(token)" "accept :NumericExpression") | |
[6](3) ("parse(push)" "term :NumericExpression, depth 29") | |
[6](3) ("parse(production)" "token :VAR1, prod :NumericExpression, depth 29") | |
[6](2) ("NumericExpression(:start:18)" "\"?item\"(VAR1)") | |
[6](3) ("parse(production)" | |
"token :VAR1 prod :NumericExpression, prod_branch [\"!\", \"(\", \"+\", \"-\", \"ABS\", \"AVG\", \"BNODE\", \"BOUND\", \"CEIL\", \"COALESCE\", \"CONCAT\", \"CONTAINS\", \"COUNT\", \"DATATYPE\", \"DAY\", :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, \"ENCODE_FOR_URI\", \"EXISTS\", \"FLOOR\", \"GROUP_CONCAT\", \"HOURS\", \"IF\", :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, \"IRI\", :IRIREF, \"LANG\", \"LANGMATCHES\", \"LCASE\", \"MAX\", \"MD5\", \"MIN\", \"MINUTES\", \"MONTH\", \"NOT\", \"NOW\", :PNAME_LN, :PNAME_NS, \"RAND\", \"REGEX\", \"REPLACE\", \"ROUND\", \"SAMPLE\", \"SECONDS\", \"SHA1\", \"SHA224\", \"SHA256\", \"SHA384\", \"SHA512\", \"STR\", \"STRAFTER\", \"STRBEFORE\", \"STRDT\", \"STRENDS\", :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, \"STRLANG\", \"STRLEN\", \"STRSTARTS\", \"STRUUID\", \"SUBSTR\", \"SUM\", \"TIMEZONE\", \"TZ\", \"UCASE\", \"URI\", \"UUID\", :VAR1, :VAR2, \"YEAR\", \"false\", \"isBLANK\", \"isIRI\", \"isLITERAL\", \"isNUMERIC\", \"isURI\", \"sameTerm\", \"true\"], sequence [:AdditiveExpression]" | |
) | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:NumericExpression, :terms=>[:AdditiveExpression]}, depth 30" ) | |
[6](3) ("parse(token)" "accept :AdditiveExpression") | |
[6](3) ("parse(push)" "term :AdditiveExpression, depth 30") | |
[6](3) ("parse(production)" "token :VAR1, prod :AdditiveExpression, depth 30") | |
[6](2) ("AdditiveExpression(:start:19)" "\"?item\"(VAR1)") | |
[6](3) ("parse(production)" | |
"token :VAR1 prod :AdditiveExpression, prod_branch [\"!\", \"(\", \"+\", \"-\", \"ABS\", \"AVG\", \"BNODE\", \"BOUND\", \"CEIL\", \"COALESCE\", \"CONCAT\", \"CONTAINS\", \"COUNT\", \"DATATYPE\", \"DAY\", :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, \"ENCODE_FOR_URI\", \"EXISTS\", \"FLOOR\", \"GROUP_CONCAT\", \"HOURS\", \"IF\", :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, \"IRI\", :IRIREF, \"LANG\", \"LANGMATCHES\", \"LCASE\", \"MAX\", \"MD5\", \"MIN\", \"MINUTES\", \"MONTH\", \"NOT\", \"NOW\", :PNAME_LN, :PNAME_NS, \"RAND\", \"REGEX\", \"REPLACE\", \"ROUND\", \"SAMPLE\", \"SECONDS\", \"SHA1\", \"SHA224\", \"SHA256\", \"SHA384\", \"SHA512\", \"STR\", \"STRAFTER\", \"STRBEFORE\", \"STRDT\", \"STRENDS\", :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, \"STRLANG\", \"STRLEN\", \"STRSTARTS\", \"STRUUID\", \"SUBSTR\", \"SUM\", \"TIMEZONE\", \"TZ\", \"UCASE\", \"URI\", \"UUID\", :VAR1, :VAR2, \"YEAR\", \"false\", \"isBLANK\", \"isIRI\", \"isLITERAL\", \"isNUMERIC\", \"isURI\", \"sameTerm\", \"true\"], sequence [:MultiplicativeExpression, :_AdditiveExpression_1]" | |
) | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:AdditiveExpression, :terms=>[:MultiplicativeExpression, :_AdditiveExpression_1]}, depth 31" | |
) | |
[6](3) ("parse(token)" "accept :MultiplicativeExpression") | |
[6](3) ("parse(push)" "term :MultiplicativeExpression, depth 31") | |
[6](3) ("parse(production)" "token :VAR1, prod :MultiplicativeExpression, depth 31") | |
[6](2) ("MultiplicativeExpression(:start:20)" "\"?item\"(VAR1)") | |
[6](3) ("parse(production)" | |
"token :VAR1 prod :MultiplicativeExpression, prod_branch [\"!\", \"(\", \"+\", \"-\", \"ABS\", \"AVG\", \"BNODE\", \"BOUND\", \"CEIL\", \"COALESCE\", \"CONCAT\", \"CONTAINS\", \"COUNT\", \"DATATYPE\", \"DAY\", :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, \"ENCODE_FOR_URI\", \"EXISTS\", \"FLOOR\", \"GROUP_CONCAT\", \"HOURS\", \"IF\", :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, \"IRI\", :IRIREF, \"LANG\", \"LANGMATCHES\", \"LCASE\", \"MAX\", \"MD5\", \"MIN\", \"MINUTES\", \"MONTH\", \"NOT\", \"NOW\", :PNAME_LN, :PNAME_NS, \"RAND\", \"REGEX\", \"REPLACE\", \"ROUND\", \"SAMPLE\", \"SECONDS\", \"SHA1\", \"SHA224\", \"SHA256\", \"SHA384\", \"SHA512\", \"STR\", \"STRAFTER\", \"STRBEFORE\", \"STRDT\", \"STRENDS\", :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, \"STRLANG\", \"STRLEN\", \"STRSTARTS\", \"STRUUID\", \"SUBSTR\", \"SUM\", \"TIMEZONE\", \"TZ\", \"UCASE\", \"URI\", \"UUID\", :VAR1, :VAR2, \"YEAR\", \"false\", \"isBLANK\", \"isIRI\", \"isLITERAL\", \"isNUMERIC\", \"isURI\", \"sameTerm\", \"true\"], sequence [:UnaryExpression, :_MultiplicativeExpression_1]" | |
) | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:MultiplicativeExpression, :terms=>[:UnaryExpression, :_MultiplicativeExpression_1]}, depth 32" | |
) | |
[6](3) ("parse(token)" "accept :UnaryExpression") | |
[6](3) ("parse(push)" "term :UnaryExpression, depth 32") | |
[6](3) ("parse(production)" "token :VAR1, prod :UnaryExpression, depth 32") | |
[6](2) ("UnaryExpression(:start:21)" "\"?item\"(VAR1)") | |
[6](3) ("parse(production)" | |
"token :VAR1 prod :UnaryExpression, prod_branch [\"!\", \"(\", \"+\", \"-\", \"ABS\", \"AVG\", \"BNODE\", \"BOUND\", \"CEIL\", \"COALESCE\", \"CONCAT\", \"CONTAINS\", \"COUNT\", \"DATATYPE\", \"DAY\", :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, \"ENCODE_FOR_URI\", \"EXISTS\", \"FLOOR\", \"GROUP_CONCAT\", \"HOURS\", \"IF\", :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, \"IRI\", :IRIREF, \"LANG\", \"LANGMATCHES\", \"LCASE\", \"MAX\", \"MD5\", \"MIN\", \"MINUTES\", \"MONTH\", \"NOT\", \"NOW\", :PNAME_LN, :PNAME_NS, \"RAND\", \"REGEX\", \"REPLACE\", \"ROUND\", \"SAMPLE\", \"SECONDS\", \"SHA1\", \"SHA224\", \"SHA256\", \"SHA384\", \"SHA512\", \"STR\", \"STRAFTER\", \"STRBEFORE\", \"STRDT\", \"STRENDS\", :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, \"STRLANG\", \"STRLEN\", \"STRSTARTS\", \"STRUUID\", \"SUBSTR\", \"SUM\", \"TIMEZONE\", \"TZ\", \"UCASE\", \"URI\", \"UUID\", :VAR1, :VAR2, \"YEAR\", \"false\", \"isBLANK\", \"isIRI\", \"isLITERAL\", \"isNUMERIC\", \"isURI\", \"sameTerm\", \"true\"], sequence [:PrimaryExpression]" | |
) | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:UnaryExpression, :terms=>[:PrimaryExpression]}, depth 33" ) | |
[6](3) ("parse(token)" "accept :PrimaryExpression") | |
[6](3) ("parse(push)" "term :PrimaryExpression, depth 33") | |
[6](3) ("parse(production)" "token :VAR1, prod :PrimaryExpression, depth 33") | |
[6](2) ("PrimaryExpression(:start:22)" "\"?item\"(VAR1)") | |
[6](3) ("parse(production)" | |
"token :VAR1 prod :PrimaryExpression, prod_branch [\"(\", \"ABS\", \"AVG\", \"BNODE\", \"BOUND\", \"CEIL\", \"COALESCE\", \"CONCAT\", \"CONTAINS\", \"COUNT\", \"DATATYPE\", \"DAY\", :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, \"ENCODE_FOR_URI\", \"EXISTS\", \"FLOOR\", \"GROUP_CONCAT\", \"HOURS\", \"IF\", :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, \"IRI\", :IRIREF, \"LANG\", \"LANGMATCHES\", \"LCASE\", \"MAX\", \"MD5\", \"MIN\", \"MINUTES\", \"MONTH\", \"NOT\", \"NOW\", :PNAME_LN, :PNAME_NS, \"RAND\", \"REGEX\", \"REPLACE\", \"ROUND\", \"SAMPLE\", \"SECONDS\", \"SHA1\", \"SHA224\", \"SHA256\", \"SHA384\", \"SHA512\", \"STR\", \"STRAFTER\", \"STRBEFORE\", \"STRDT\", \"STRENDS\", :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, \"STRLANG\", \"STRLEN\", \"STRSTARTS\", \"STRUUID\", \"SUBSTR\", \"SUM\", \"TIMEZONE\", \"TZ\", \"UCASE\", \"URI\", \"UUID\", :VAR1, :VAR2, \"YEAR\", \"false\", \"isBLANK\", \"isIRI\", \"isLITERAL\", \"isNUMERIC\", \"isURI\", \"sameTerm\", \"true\"], sequence [:Var]" | |
) | |
[6](3) ("parse(terms)" "todo {:prod=>:PrimaryExpression, :terms=>[:Var]}, depth 34") | |
[6](3) ("parse(token)" "accept :Var") | |
[6](3) ("parse(push)" "term :Var, depth 34") | |
[6](3) ("parse(production)" "token :VAR1, prod :Var, depth 34") | |
[6](2) ("Var(:start:22)" "\"?item\"(VAR1)") | |
[6](3) ("parse(production)" | |
"token :VAR1 prod :Var, prod_branch [:VAR1, :VAR2], sequence [:VAR1]" ) | |
[6](3) ("parse(terms)" "todo {:prod=>:Var, :terms=>[:VAR1]}, depth 35") | |
[6](3) ("parse(token)" "accept :VAR1") | |
[6](3) ("accept" "\"?item\"(VAR1) === :VAR1") | |
[6](3) ("parse(token)" "token \"?item\"(VAR1), term :VAR1") | |
[6](3) ("add_prod_datum(Var)" "[] << #<RDF::Query::Variable:0x3f813d79437c(?item)>") | |
[6](2) ("VAR1(:terminal)" "" | |
":VAR1: {:Var=>[#<RDF::Query::Variable:0x3f813d79437c(?item)>]}" ) | |
[6](3) ("parse(pop)" "todo {:prod=>:Var, :terms=>[]}, depth 35") | |
[6](2) ("Var(:finish):22") | |
[6](3) ("parse(pop)" "todo {:prod=>:PrimaryExpression, :terms=>[]}, depth 34") | |
[6](3) ("add_prod_datum(Expression)" | |
"[] += [#<RDF::Query::Variable:0x3f813d79437c(?item)>]" ) | |
[6](2) ("PrimaryExpression(:finish):21" ((Expression (?item)))) | |
[6](3) ("parse(pop)" "todo {:prod=>:UnaryExpression, :terms=>[]}, depth 33") | |
[6](3) ("add_prod_datum(Expression)" | |
"[] += [#<RDF::Query::Variable:0x3f813d79437c(?item)>]" ) | |
[6](2) ("UnaryExpression(:finish):20" ((Expression (?item)))) | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:MultiplicativeExpression, :terms=>[:_MultiplicativeExpression_1]}, depth 32" | |
) | |
[6](3) ("parse(token)" "accept :_MultiplicativeExpression_1") | |
[6](3) ("parse(token)" "skip optional term :_MultiplicativeExpression_1 on \")\"") | |
[6](3) ("parse(pop)" "todo {:prod=>:MultiplicativeExpression, :terms=>[]}, depth 32") | |
[6](3) ("add_prod_datum(Expression)" | |
"[] += [#<RDF::Query::Variable:0x3f813d79437c(?item)>]" ) | |
[6](2) ("MultiplicativeExpression(:finish):19" ((Expression (?item)))) | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:AdditiveExpression, :terms=>[:_AdditiveExpression_1]}, depth 31" | |
) | |
[6](3) ("parse(token)" "accept :_AdditiveExpression_1") | |
[6](3) ("parse(token)" "skip optional term :_AdditiveExpression_1 on \")\"") | |
[6](3) ("parse(pop)" "todo {:prod=>:AdditiveExpression, :terms=>[]}, depth 31") | |
[6](3) ("add_prod_datum(Expression)" | |
"[] += [#<RDF::Query::Variable:0x3f813d79437c(?item)>]" ) | |
[6](2) ("AdditiveExpression(:finish):18" ((Expression (?item)))) | |
[6](3) ("parse(pop)" "todo {:prod=>:NumericExpression, :terms=>[]}, depth 30") | |
[6](2) ("NumericExpression(:finish):18") | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:RelationalExpression, :terms=>[:_RelationalExpression_1]}, depth 29" | |
) | |
[6](3) ("parse(token)" "accept :_RelationalExpression_1") | |
[6](3) ("parse(token)" "skip optional term :_RelationalExpression_1 on \")\"") | |
[6](3) ("parse(pop)" "todo {:prod=>:RelationalExpression, :terms=>[]}, depth 29") | |
[6](3) ("add_prod_datum(Expression)" | |
"[] += [#<RDF::Query::Variable:0x3f813d79437c(?item)>]" ) | |
[6](2) ("RelationalExpression(:finish):17" ((Expression (?item)))) | |
[6](3) ("parse(pop)" "todo {:prod=>:ValueLogical, :terms=>[]}, depth 28") | |
[6](2) ("ValueLogical(:finish):17") | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:ConditionalAndExpression, :terms=>[:_ConditionalAndExpression_1]}, depth 27" | |
) | |
[6](3) ("parse(token)" "accept :_ConditionalAndExpression_1") | |
[6](3) ("parse(token)" "skip optional term :_ConditionalAndExpression_1 on \")\"") | |
[6](3) ("parse(pop)" "todo {:prod=>:ConditionalAndExpression, :terms=>[]}, depth 27") | |
[6](3) ("add_prod_datum(Expression)" | |
"[] += [#<RDF::Query::Variable:0x3f813d79437c(?item)>]" ) | |
[6](2) ("ConditionalAndExpression(:finish):16" ((Expression (?item)))) | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:ConditionalOrExpression, :terms=>[:_ConditionalOrExpression_1]}, depth 26" | |
) | |
[6](3) ("parse(token)" "accept :_ConditionalOrExpression_1") | |
[6](3) ("parse(token)" "skip optional term :_ConditionalOrExpression_1 on \")\"") | |
[6](3) ("parse(pop)" "todo {:prod=>:ConditionalOrExpression, :terms=>[]}, depth 26") | |
[6](3) ("add_prod_datum(Expression)" | |
"[] += [#<RDF::Query::Variable:0x3f813d79437c(?item)>]" ) | |
[6](2) ("ConditionalOrExpression(:finish):15" ((Expression (?item)))) | |
[6](3) ("parse(pop)" "todo {:prod=>:Expression, :terms=>[]}, depth 25") | |
[6](3) ("add_prod_datum(Expression)" | |
"[] += [#<RDF::Query::Variable:0x3f813d79437c(?item)>]" ) | |
[6](2) ("Expression(:finish):14" | |
((group_concat (group_concat)) (DISTINCT_REDUCED distinct) (Expression (?item)))) | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:_Aggregate_7, :terms=>[:_Aggregate_16, \")\"]}, depth 24" ) | |
[6](3) ("parse(token)" "accept :_Aggregate_16") | |
[6](3) ("parse(token)" "skip optional term :_Aggregate_16 on \")\"") | |
[6](3) ("parse(terms)" "todo {:prod=>:_Aggregate_7, :terms=>[\")\"]}, depth 24") | |
[6](3) ("parse(token)" "accept \")\"") | |
[6](3) ("accept" "\")\" === \")\"") | |
[6](3) ("parse(token)" "token \")\", term \")\"") | |
[6](2) (")(:terminal)" "" | |
"): {:group_concat=>[:group_concat], :DISTINCT_REDUCED=>:distinct, :Expression=>[#<RDF::Query::Variable:0x3f813d79437c(?item)>]}" | |
) | |
[6](3) ("parse(pop)" "todo {:prod=>:_Aggregate_7, :terms=>[]}, depth 24") | |
[6](2) ("_Aggregate_7(:finish):14") | |
[6](3) ("parse(pop)" "todo {:prod=>:Aggregate, :terms=>[]}, depth 23") | |
[6](3) ("add_prod_data(group_concat)" | |
"[[#<SPARQL::Algebra::Operator::GroupConcat:0x3f813d76cafc((distinct ?item))>]] += [[#<SPARQL::Algebra::Operator::GroupConcat:0x3f813d76cafc((distinct ?item))>]]" | |
) | |
[6](2) ("Aggregate(:finish):13" ((group_concat (((group_concat distinct ?item)))))) | |
[6](3) ("parse(pop)" "todo {:prod=>:BuiltInCall, :terms=>[]}, depth 22") | |
[6](2) ("BuiltInCall(:finish):12" ((BuiltInCall ((group_concat distinct ?item))))) | |
[6](3) ("parse(pop)" "todo {:prod=>:PrimaryExpression, :terms=>[]}, depth 21") | |
[6](3) ("add_prod_datum(Expression)" | |
"[] += [#<SPARQL::Algebra::Operator::GroupConcat:0x3f813d76cafc((distinct ?item))>]" | |
) | |
[6](2) ("PrimaryExpression(:finish):11" ((Expression ((group_concat distinct ?item))))) | |
[6](3) ("parse(pop)" "todo {:prod=>:UnaryExpression, :terms=>[]}, depth 20") | |
[6](3) ("add_prod_datum(Expression)" | |
"[] += [#<SPARQL::Algebra::Operator::GroupConcat:0x3f813d76cafc((distinct ?item))>]" | |
) | |
[6](2) ("UnaryExpression(:finish):10" ((Expression ((group_concat distinct ?item))))) | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:MultiplicativeExpression, :terms=>[:_MultiplicativeExpression_1]}, depth 19" | |
) | |
[6](3) ("parse(token)" "accept :_MultiplicativeExpression_1") | |
[6](3) ("parse(token)" "skip optional term :_MultiplicativeExpression_1 on \"AS\"") | |
[6](3) ("parse(pop)" "todo {:prod=>:MultiplicativeExpression, :terms=>[]}, depth 19") | |
[6](3) ("add_prod_datum(Expression)" | |
"[] += [#<SPARQL::Algebra::Operator::GroupConcat:0x3f813d76cafc((distinct ?item))>]" | |
) | |
[6](2) ("MultiplicativeExpression(:finish):9" ((Expression ((group_concat distinct ?item))))) | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:AdditiveExpression, :terms=>[:_AdditiveExpression_1]}, depth 18" | |
) | |
[6](3) ("parse(token)" "accept :_AdditiveExpression_1") | |
[6](3) ("parse(token)" "skip optional term :_AdditiveExpression_1 on \"AS\"") | |
[6](3) ("parse(pop)" "todo {:prod=>:AdditiveExpression, :terms=>[]}, depth 18") | |
[6](3) ("add_prod_datum(Expression)" | |
"[] += [#<SPARQL::Algebra::Operator::GroupConcat:0x3f813d76cafc((distinct ?item))>]" | |
) | |
[6](2) ("AdditiveExpression(:finish):8" ((Expression ((group_concat distinct ?item))))) | |
[6](3) ("parse(pop)" "todo {:prod=>:NumericExpression, :terms=>[]}, depth 17") | |
[6](2) ("NumericExpression(:finish):8") | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:RelationalExpression, :terms=>[:_RelationalExpression_1]}, depth 16" | |
) | |
[6](3) ("parse(token)" "accept :_RelationalExpression_1") | |
[6](3) ("parse(token)" "skip optional term :_RelationalExpression_1 on \"AS\"") | |
[6](3) ("parse(pop)" "todo {:prod=>:RelationalExpression, :terms=>[]}, depth 16") | |
[6](3) ("add_prod_datum(Expression)" | |
"[] += [#<SPARQL::Algebra::Operator::GroupConcat:0x3f813d76cafc((distinct ?item))>]" | |
) | |
[6](2) ("RelationalExpression(:finish):7" ((Expression ((group_concat distinct ?item))))) | |
[6](3) ("parse(pop)" "todo {:prod=>:ValueLogical, :terms=>[]}, depth 15") | |
[6](2) ("ValueLogical(:finish):7") | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:ConditionalAndExpression, :terms=>[:_ConditionalAndExpression_1]}, depth 14" | |
) | |
[6](3) ("parse(token)" "accept :_ConditionalAndExpression_1") | |
[6](3) ("parse(token)" "skip optional term :_ConditionalAndExpression_1 on \"AS\"") | |
[6](3) ("parse(pop)" "todo {:prod=>:ConditionalAndExpression, :terms=>[]}, depth 14") | |
[6](3) ("add_prod_datum(Expression)" | |
"[] += [#<SPARQL::Algebra::Operator::GroupConcat:0x3f813d76cafc((distinct ?item))>]" | |
) | |
[6](2) ("ConditionalAndExpression(:finish):6" ((Expression ((group_concat distinct ?item))))) | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:ConditionalOrExpression, :terms=>[:_ConditionalOrExpression_1]}, depth 13" | |
) | |
[6](3) ("parse(token)" "accept :_ConditionalOrExpression_1") | |
[6](3) ("parse(token)" "skip optional term :_ConditionalOrExpression_1 on \"AS\"") | |
[6](3) ("parse(pop)" "todo {:prod=>:ConditionalOrExpression, :terms=>[]}, depth 13") | |
[6](3) ("add_prod_datum(Expression)" | |
"[] += [#<SPARQL::Algebra::Operator::GroupConcat:0x3f813d76cafc((distinct ?item))>]" | |
) | |
[6](2) ("ConditionalOrExpression(:finish):5" ((Expression ((group_concat distinct ?item))))) | |
[6](3) ("parse(pop)" "todo {:prod=>:Expression, :terms=>[]}, depth 12") | |
[6](3) ("add_prod_datum(Expression)" | |
"[] += [#<SPARQL::Algebra::Operator::GroupConcat:0x3f813d76cafc((distinct ?item))>]" | |
) | |
[6](2) ("Expression(:finish):4" ((Expression ((group_concat distinct ?item))))) | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:_SelectClause_8, :terms=>[\"AS\", :Var, \")\"]}, depth 11" ) | |
[6](3) ("parse(token)" "accept \"AS\"") | |
[6](3) ("accept" "\"AS\" === \"AS\"") | |
[6](3) ("parse(token)" "token \"AS\", term \"AS\"") | |
[6](2) ("AS(:terminal)" "" | |
"AS: {:Expression=>[#<SPARQL::Algebra::Operator::GroupConcat:0x3f813d76cafc((distinct ?item))>]}" | |
) | |
[6](3) ("parse(token)" "accept :Var") | |
[6](3) ("parse(push)" "term :Var, depth 11") | |
[6](3) ("parse(production)" "token :VAR1, prod :Var, depth 11") | |
[6](2) ("Var(:start:4)" "\"?keys\"(VAR1)") | |
[6](3) ("parse(production)" | |
"token :VAR1 prod :Var, prod_branch [:VAR1, :VAR2], sequence [:VAR1]" ) | |
[6](3) ("parse(terms)" "todo {:prod=>:Var, :terms=>[:VAR1]}, depth 12") | |
[6](3) ("parse(token)" "accept :VAR1") | |
[6](3) ("accept" "\"?keys\"(VAR1) === :VAR1") | |
[6](3) ("parse(token)" "token \"?keys\"(VAR1), term :VAR1") | |
[6](3) ("add_prod_datum(Var)" "[] << #<RDF::Query::Variable:0x3f813d742144(?keys)>") | |
[6](2) ("VAR1(:terminal)" "" | |
":VAR1: {:Expression=>[#<SPARQL::Algebra::Operator::GroupConcat:0x3f813d76cafc((distinct ?item))>], :Var=>[#<RDF::Query::Variable:0x3f813d742144(?keys)>]}" | |
) | |
[6](3) ("parse(pop)" "todo {:prod=>:Var, :terms=>[]}, depth 12") | |
[6](2) ("Var(:finish):4") | |
[6](3) ("parse(terms)" "todo {:prod=>:_SelectClause_8, :terms=>[\")\"]}, depth 11") | |
[6](3) ("parse(token)" "accept \")\"") | |
[6](3) ("accept" "\")\" === \")\"") | |
[6](3) ("parse(token)" "token \")\", term \")\"") | |
[6](2) (")(:terminal)" "" | |
"): {:Expression=>[#<SPARQL::Algebra::Operator::GroupConcat:0x3f813d76cafc((distinct ?item))>], :Var=>[#<RDF::Query::Variable:0x3f813d742144(?keys)>]}" | |
) | |
[6](3) ("parse(pop)" "todo {:prod=>:_SelectClause_8, :terms=>[]}, depth 11") | |
[6](3) ("add_prod_datum(extend)" | |
"[] += [[#<RDF::Query::Variable:0x3f813d742144(?keys)>, #<SPARQL::Algebra::Operator::GroupConcat:0x3f813d76cafc((distinct ?item))>]]" | |
) | |
[6](2) ("_SelectClause_8(:finish):3" ((Var (?class)) (extend ((?keys (group_concat distinct ?item)))))) | |
[6](3) ("parse(pop)" "todo {:prod=>:_SelectClause_5, :terms=>[]}, depth 10") | |
[6](2) ("_SelectClause_5(:finish):3") | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:_SelectClause_7, :terms=>[:_SelectClause_6]}, depth 9" ) | |
[6](3) ("parse(token)" "accept :_SelectClause_6") | |
[6](3) ("parse(token)" "skip optional term :_SelectClause_6 on \"WHERE\"") | |
[6](3) ("parse(pop)" "todo {:prod=>:_SelectClause_7, :terms=>[]}, depth 9") | |
[6](2) ("_SelectClause_7(:finish):3") | |
[6](3) ("parse(pop)" "todo {:prod=>:_SelectClause_6, :terms=>[]}, depth 8") | |
[6](2) ("_SelectClause_6(:finish):3") | |
[6](3) ("parse(pop)" "todo {:prod=>:_SelectClause_4, :terms=>[]}, depth 7") | |
[6](2) ("_SelectClause_4(:finish):3") | |
[6](3) ("parse(pop)" "todo {:prod=>:_SelectClause_2, :terms=>[]}, depth 6") | |
[6](2) ("_SelectClause_2(:finish):3") | |
[6](3) ("parse(pop)" "todo {:prod=>:SelectClause, :terms=>[]}, depth 5") | |
[6](2) ("SelectClause(:finish):3") | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:SelectQuery, :terms=>[:_SelectQuery_1, :WhereClause, :SolutionModifier, :ValuesClause]}, depth 4" | |
) | |
[6](3) ("parse(token)" "accept :_SelectQuery_1") | |
[6](3) ("parse(token)" "skip optional term :_SelectQuery_1 on \"WHERE\"") | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:SelectQuery, :terms=>[:WhereClause, :SolutionModifier, :ValuesClause]}, depth 4" | |
) | |
[6](3) ("parse(token)" "accept :WhereClause") | |
[6](3) ("parse(push)" "term :WhereClause, depth 4") | |
[6](3) ("parse(production)" "token \"WHERE\", prod :WhereClause, depth 4") | |
[6](2) ("WhereClause(:start:3)" "\"WHERE\"") | |
[6](3) ("parse(production)" | |
"token \"WHERE\" prod :WhereClause, prod_branch [\"WHERE\", \"{\"], sequence [:_WhereClause_1, :GroupGraphPattern]" | |
) | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:WhereClause, :terms=>[:_WhereClause_1, :GroupGraphPattern]}, depth 5" | |
) | |
[6](3) ("parse(token)" "accept :_WhereClause_1") | |
[6](3) ("parse(push)" "term :_WhereClause_1, depth 5") | |
[6](3) ("parse(production)" "token \"WHERE\", prod :_WhereClause_1, depth 5") | |
[6](2) ("_WhereClause_1(:start:3)" "\"WHERE\"") | |
[6](3) ("parse(production)" | |
"token \"WHERE\" prod :_WhereClause_1, prod_branch [\"WHERE\", \"{\"], sequence [\"WHERE\"]" | |
) | |
[6](3) ("parse(terms)" "todo {:prod=>:_WhereClause_1, :terms=>[\"WHERE\"]}, depth 6") | |
[6](3) ("parse(token)" "accept \"WHERE\"") | |
[6](3) ("accept" "\"WHERE\" === \"WHERE\"") | |
[6](3) ("parse(token)" "token \"WHERE\", term \"WHERE\"") | |
[6](2) ("WHERE(:terminal)" "" | |
"WHERE: {:Var=>[#<RDF::Query::Variable:0x3f813d85ce30(?class)>], :extend=>[[#<RDF::Query::Variable:0x3f813d742144(?keys)>, #<SPARQL::Algebra::Operator::GroupConcat:0x3f813d76cafc((distinct ?item))>]]}" | |
) | |
[6](3) ("parse(pop)" "todo {:prod=>:_WhereClause_1, :terms=>[]}, depth 6") | |
[6](2) ("_WhereClause_1(:finish):3") | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:WhereClause, :terms=>[:GroupGraphPattern]}, depth 5" ) | |
[6](3) ("parse(token)" "accept :GroupGraphPattern") | |
[6](3) ("parse(push)" "term :GroupGraphPattern, depth 5") | |
[6](3) ("parse(production)" "token \"{\", prod :GroupGraphPattern, depth 5") | |
[6](2) ("GroupGraphPattern(:start:3)" "\"{\"") | |
[6](3) ("parse(production)" | |
"token \"{\" prod :GroupGraphPattern, prod_branch [\"{\"], sequence [\"{\", :_GroupGraphPattern_1, \"}\"]" | |
) | |
[6](3) ("parse(terms)" | |
"todo {:prod=>:GroupGraphPattern, :terms=>[\"{\", :_GroupGraphPattern_1, \"}\"]}, depth 6" | |
) | |
[6](3) ("parse(token)" "accept \"{\"") | |
[6](3) ("accept" "\"{\" === \"{\"") | |
[6](3) ("parse(token)" "token \"{\", term \"{\"") | |
[6](2) ("{(:terminal)" "" | |
"{: {:Var=>[#<RDF::Query::Variable:0x3f813d85ce30(?class)>], :extend=>[[#<RDF::Query::Variable:0x3f813d742144(?keys)>, #<SPARQL::Algebra::Operator::GroupConcat:0x3f813d76cafc((distinct ?item))>]]}" | |
) | |
[6](3) ("parse(token)" "accept :_GroupGraphPattern_1") | |
[7](3) ("parse(push)" "term :_GroupGraphPattern_1, depth 6") | |
[7](3) ("parse(production)" "token :VAR1, prod :_GroupGraphPattern_1, depth 6") | |
[7](2) ("_GroupGraphPattern_1(:start:3)" "\"?class\"(VAR1)") | |
[7](3) ("parse(production)" | |
"token :VAR1 prod :_GroupGraphPattern_1, prod_branch [\"(\", :ANON, \"BIND\", :BLANK_NODE_LABEL, :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, \"FILTER\", \"GRAPH\", :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, :IRIREF, \"MINUS\", :NIL, \"OPTIONAL\", :PNAME_LN, :PNAME_NS, \"SELECT\", \"SERVICE\", :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, \"VALUES\", :VAR1, :VAR2, \"[\", \"false\", \"true\", \"{\", \"}\"], sequence [:GroupGraphPatternSub]" | |
) | |
[7](3) ("parse(terms)" | |
"todo {:prod=>:_GroupGraphPattern_1, :terms=>[:GroupGraphPatternSub]}, depth 7" | |
) | |
[7](3) ("parse(token)" "accept :GroupGraphPatternSub") | |
[7](3) ("parse(push)" "term :GroupGraphPatternSub, depth 7") | |
[7](3) ("parse(production)" "token :VAR1, prod :GroupGraphPatternSub, depth 7") | |
[7](2) ("GroupGraphPatternSub(:start:4)" "\"?class\"(VAR1)") | |
[7](3) ("parse(production)" | |
"token :VAR1 prod :GroupGraphPatternSub, prod_branch [\"(\", :ANON, \"BIND\", :BLANK_NODE_LABEL, :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, \"FILTER\", \"GRAPH\", :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, :IRIREF, \"MINUS\", :NIL, \"OPTIONAL\", :PNAME_LN, :PNAME_NS, \"SERVICE\", :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, \"VALUES\", :VAR1, :VAR2, \"[\", \"false\", \"true\", \"{\", \"}\"], sequence [:_GroupGraphPatternSub_1, :_GroupGraphPatternSub_2]" | |
) | |
[7](3) ("parse(terms)" | |
"todo {:prod=>:GroupGraphPatternSub, :terms=>[:_GroupGraphPatternSub_1, :_GroupGraphPatternSub_2]}, depth 8" | |
) | |
[7](3) ("parse(token)" "accept :_GroupGraphPatternSub_1") | |
[7](3) ("parse(push)" "term :_GroupGraphPatternSub_1, depth 8") | |
[7](3) ("parse(production)" "token :VAR1, prod :_GroupGraphPatternSub_1, depth 8") | |
[7](2) ("_GroupGraphPatternSub_1(:start:4)" "\"?class\"(VAR1)") | |
[7](3) ("parse(production)" | |
"token :VAR1 prod :_GroupGraphPatternSub_1, prod_branch [\"(\", :ANON, \"BIND\", :BLANK_NODE_LABEL, :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, \"FILTER\", \"GRAPH\", :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, :IRIREF, \"MINUS\", :NIL, \"OPTIONAL\", :PNAME_LN, :PNAME_NS, \"SERVICE\", :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, \"VALUES\", :VAR1, :VAR2, \"[\", \"false\", \"true\", \"{\", \"}\"], sequence [:TriplesBlock]" | |
) | |
[7](3) ("parse(terms)" | |
"todo {:prod=>:_GroupGraphPatternSub_1, :terms=>[:TriplesBlock]}, depth 9" ) | |
[7](3) ("parse(token)" "accept :TriplesBlock") | |
[7](3) ("parse(push)" "term :TriplesBlock, depth 9") | |
[7](3) ("parse(production)" "token :VAR1, prod :TriplesBlock, depth 9") | |
[7](2) ("TriplesBlock(:start:5)" "\"?class\"(VAR1)") | |
[7](3) ("parse(production)" | |
"token :VAR1 prod :TriplesBlock, prod_branch [\"(\", :ANON, :BLANK_NODE_LABEL, :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, :IRIREF, :NIL, :PNAME_LN, :PNAME_NS, :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, :VAR1, :VAR2, \"[\", \"false\", \"true\"], sequence [:TriplesSameSubjectPath, :_TriplesBlock_1]" | |
) | |
[7](3) ("parse(terms)" | |
"todo {:prod=>:TriplesBlock, :terms=>[:TriplesSameSubjectPath, :_TriplesBlock_1]}, depth 10" | |
) | |
[7](3) ("parse(token)" "accept :TriplesSameSubjectPath") | |
[7](3) ("parse(push)" "term :TriplesSameSubjectPath, depth 10") | |
[7](3) ("parse(production)" "token :VAR1, prod :TriplesSameSubjectPath, depth 10") | |
[7](2) ("TriplesSameSubjectPath(:start:6)" "\"?class\"(VAR1)") | |
[7](3) ("parse(production)" | |
"token :VAR1 prod :TriplesSameSubjectPath, prod_branch [\"(\", :ANON, :BLANK_NODE_LABEL, :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, :IRIREF, :NIL, :PNAME_LN, :PNAME_NS, :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, :VAR1, :VAR2, \"[\", \"false\", \"true\"], sequence [:_TriplesSameSubjectPath_1]" | |
) | |
[7](3) ("parse(terms)" | |
"todo {:prod=>:TriplesSameSubjectPath, :terms=>[:_TriplesSameSubjectPath_1]}, depth 11" | |
) | |
[7](3) ("parse(token)" "accept :_TriplesSameSubjectPath_1") | |
[7](3) ("parse(push)" "term :_TriplesSameSubjectPath_1, depth 11") | |
[7](3) ("parse(production)" "token :VAR1, prod :_TriplesSameSubjectPath_1, depth 11") | |
[7](2) ("_TriplesSameSubjectPath_1(:start:6)" "\"?class\"(VAR1)") | |
[7](3) ("parse(production)" | |
"token :VAR1 prod :_TriplesSameSubjectPath_1, prod_branch [:ANON, :BLANK_NODE_LABEL, :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, :IRIREF, :NIL, :PNAME_LN, :PNAME_NS, :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, :VAR1, :VAR2, \"false\", \"true\"], sequence [:VarOrTerm, :PropertyListPathNotEmpty]" | |
) | |
[7](3) ("parse(terms)" | |
"todo {:prod=>:_TriplesSameSubjectPath_1, :terms=>[:VarOrTerm, :PropertyListPathNotEmpty]}, depth 12" | |
) | |
[7](3) ("parse(token)" "accept :VarOrTerm") | |
[7](3) ("parse(push)" "term :VarOrTerm, depth 12") | |
[7](3) ("parse(production)" "token :VAR1, prod :VarOrTerm, depth 12") | |
[7](2) ("VarOrTerm(:start:7)" "\"?class\"(VAR1)") | |
[7](3) ("parse(production)" | |
"token :VAR1 prod :VarOrTerm, prod_branch [:ANON, :BLANK_NODE_LABEL, :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, :IRIREF, :NIL, :PNAME_LN, :PNAME_NS, :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, :VAR1, :VAR2, \"false\", \"true\"], sequence [:Var]" | |
) | |
[7](3) ("parse(terms)" "todo {:prod=>:VarOrTerm, :terms=>[:Var]}, depth 13") | |
[7](3) ("parse(token)" "accept :Var") | |
[7](3) ("parse(push)" "term :Var, depth 13") | |
[7](3) ("parse(production)" "token :VAR1, prod :Var, depth 13") | |
[7](2) ("Var(:start:7)" "\"?class\"(VAR1)") | |
[7](3) ("parse(production)" | |
"token :VAR1 prod :Var, prod_branch [:VAR1, :VAR2], sequence [:VAR1]" ) | |
[7](3) ("parse(terms)" "todo {:prod=>:Var, :terms=>[:VAR1]}, depth 14") | |
[7](3) ("parse(token)" "accept :VAR1") | |
[7](3) ("accept" "\"?class\"(VAR1) === :VAR1") | |
[7](3) ("parse(token)" "token \"?class\"(VAR1), term :VAR1") | |
[7](3) ("add_prod_datum(Var)" "[] << #<RDF::Query::Variable:0x3f813d85ce30(?class)>") | |
[7](2) ("VAR1(:terminal)" "" | |
":VAR1: {:Var=>[#<RDF::Query::Variable:0x3f813d85ce30(?class)>]}" ) | |
[7](3) ("parse(pop)" "todo {:prod=>:Var, :terms=>[]}, depth 14") | |
[7](2) ("Var(:finish):7") | |
[7](3) ("parse(pop)" "todo {:prod=>:VarOrTerm, :terms=>[]}, depth 13") | |
[7](3) ("add_prod_datum(VarOrTerm)" | |
"[] += [#<RDF::Query::Variable:0x3f813d85ce30(?class)>]" ) | |
[7](2) ("VarOrTerm(:finish):6" ((VarOrTerm (?class)))) | |
[7](3) ("parse(terms)" | |
"todo {:prod=>:_TriplesSameSubjectPath_1, :terms=>[:PropertyListPathNotEmpty]}, depth 12" | |
) | |
[7](3) ("parse(token)" "accept :PropertyListPathNotEmpty") | |
[7](3) ("parse(push)" "term :PropertyListPathNotEmpty, depth 12") | |
[7](3) ("parse(production)" "token :PNAME_LN, prod :PropertyListPathNotEmpty, depth 12") | |
[7](2) ("PropertyListPathNotEmpty(:start):6" ((VarOrTerm (?class)))) | |
[7](3) ("parse(production)" | |
"token :PNAME_LN prod :PropertyListPathNotEmpty, prod_branch [\"!\", \"(\", :IRIREF, :PNAME_LN, :PNAME_NS, :VAR1, :VAR2, \"^\", \"a\"], sequence [:_PropertyListPathNotEmpty_1, :ObjectListPath, :_PropertyListPathNotEmpty_2]" | |
) | |
[7](3) ("parse(terms)" | |
"todo {:prod=>:PropertyListPathNotEmpty, :terms=>[:_PropertyListPathNotEmpty_1, :ObjectListPath, :_PropertyListPathNotEmpty_2]}, depth 13" | |
) | |
[7](3) ("parse(token)" "accept :_PropertyListPathNotEmpty_1") | |
[7](3) ("parse(push)" "term :_PropertyListPathNotEmpty_1, depth 13") | |
[7](3) ("parse(production)" | |
"token :PNAME_LN, prod :_PropertyListPathNotEmpty_1, depth 13" ) | |
[7](2) ("_PropertyListPathNotEmpty_1(:start:7)" "\"rdf:type\"(PNAME_LN)") | |
[7](3) ("parse(production)" | |
"token :PNAME_LN prod :_PropertyListPathNotEmpty_1, prod_branch [\"!\", \"(\", :IRIREF, :PNAME_LN, :PNAME_NS, :VAR1, :VAR2, \"^\", \"a\"], sequence [:VerbPath]" | |
) | |
[7](3) ("parse(terms)" | |
"todo {:prod=>:_PropertyListPathNotEmpty_1, :terms=>[:VerbPath]}, depth 14" ) | |
[7](3) ("parse(token)" "accept :VerbPath") | |
[7](3) ("parse(push)" "term :VerbPath, depth 14") | |
[7](3) ("parse(production)" "token :PNAME_LN, prod :VerbPath, depth 14") | |
[7](2) ("VerbPath(:start:8)" "\"rdf:type\"(PNAME_LN)") | |
[7](3) ("parse(production)" | |
"token :PNAME_LN prod :VerbPath, prod_branch [\"!\", \"(\", :IRIREF, :PNAME_LN, :PNAME_NS, \"^\", \"a\"], sequence [:Path]" | |
) | |
[7](3) ("parse(terms)" "todo {:prod=>:VerbPath, :terms=>[:Path]}, depth 15") | |
[7](3) ("parse(token)" "accept :Path") | |
[7](3) ("parse(push)" "term :Path, depth 15") | |
[7](3) ("parse(production)" "token :PNAME_LN, prod :Path, depth 15") | |
[7](2) ("Path(:start:9)" "\"rdf:type\"(PNAME_LN)") | |
[7](3) ("parse(production)" | |
"token :PNAME_LN prod :Path, prod_branch [\"!\", \"(\", :IRIREF, :PNAME_LN, :PNAME_NS, \"^\", \"a\"], sequence [:PathAlternative]" | |
) | |
[7](3) ("parse(terms)" "todo {:prod=>:Path, :terms=>[:PathAlternative]}, depth 16") | |
[7](3) ("parse(token)" "accept :PathAlternative") | |
[7](3) ("parse(push)" "term :PathAlternative, depth 16") | |
[7](3) ("parse(production)" "token :PNAME_LN, prod :PathAlternative, depth 16") | |
[7](2) ("PathAlternative(:start:10)" "\"rdf:type\"(PNAME_LN)") | |
[7](3) ("parse(production)" | |
"token :PNAME_LN prod :PathAlternative, prod_branch [\"!\", \"(\", :IRIREF, :PNAME_LN, :PNAME_NS, \"^\", \"a\"], sequence [:PathSequence, :_PathAlternative_1]" | |
) | |
[7](3) ("parse(terms)" | |
"todo {:prod=>:PathAlternative, :terms=>[:PathSequence, :_PathAlternative_1]}, depth 17" | |
) | |
[7](3) ("parse(token)" "accept :PathSequence") | |
[7](3) ("parse(push)" "term :PathSequence, depth 17") | |
[7](3) ("parse(production)" "token :PNAME_LN, prod :PathSequence, depth 17") | |
[7](2) ("PathSequence(:start:11)" "\"rdf:type\"(PNAME_LN)") | |
[7](3) ("parse(production)" | |
"token :PNAME_LN prod :PathSequence, prod_branch [\"!\", \"(\", :IRIREF, :PNAME_LN, :PNAME_NS, \"^\", \"a\"], sequence [:PathEltOrInverse, :_PathSequence_1]" | |
) | |
[7](3) ("parse(terms)" | |
"todo {:prod=>:PathSequence, :terms=>[:PathEltOrInverse, :_PathSequence_1]}, depth 18" | |
) | |
[7](3) ("parse(token)" "accept :PathEltOrInverse") | |
[7](3) ("parse(push)" "term :PathEltOrInverse, depth 18") | |
[7](3) ("parse(production)" "token :PNAME_LN, prod :PathEltOrInverse, depth 18") | |
[7](2) ("PathEltOrInverse(:start:12)" "\"rdf:type\"(PNAME_LN)") | |
[7](3) ("parse(production)" | |
"token :PNAME_LN prod :PathEltOrInverse, prod_branch [\"!\", \"(\", :IRIREF, :PNAME_LN, :PNAME_NS, \"^\", \"a\"], sequence [:PathElt]" | |
) | |
[7](3) ("parse(terms)" "todo {:prod=>:PathEltOrInverse, :terms=>[:PathElt]}, depth 19") | |
[7](3) ("parse(token)" "accept :PathElt") | |
[7](3) ("parse(push)" "term :PathElt, depth 19") | |
[7](3) ("parse(production)" "token :PNAME_LN, prod :PathElt, depth 19") | |
[7](2) ("PathElt(:start:13)" "\"rdf:type\"(PNAME_LN)") | |
[7](3) ("parse(production)" | |
"token :PNAME_LN prod :PathElt, prod_branch [\"!\", \"(\", :IRIREF, :PNAME_LN, :PNAME_NS, \"a\"], sequence [:PathPrimary, :_PathElt_1]" | |
) | |
[7](3) ("parse(terms)" | |
"todo {:prod=>:PathElt, :terms=>[:PathPrimary, :_PathElt_1]}, depth 20" ) | |
[7](3) ("parse(token)" "accept :PathPrimary") | |
[7](3) ("parse(push)" "term :PathPrimary, depth 20") | |
[7](3) ("parse(production)" "token :PNAME_LN, prod :PathPrimary, depth 20") | |
[7](2) ("PathPrimary(:start:14)" "\"rdf:type\"(PNAME_LN)") | |
[7](3) ("parse(production)" | |
"token :PNAME_LN prod :PathPrimary, prod_branch [\"!\", \"(\", :IRIREF, :PNAME_LN, :PNAME_NS, \"a\"], sequence [:iri]" | |
) | |
[7](3) ("parse(terms)" "todo {:prod=>:PathPrimary, :terms=>[:iri]}, depth 21") | |
[7](3) ("parse(token)" "accept :iri") | |
[7](3) ("parse(push)" "term :iri, depth 21") | |
[7](3) ("parse(production)" "token :PNAME_LN, prod :iri, depth 21") | |
[7](2) ("iri(:start:14)" "\"rdf:type\"(PNAME_LN)") | |
[7](3) ("parse(production)" | |
"token :PNAME_LN prod :iri, prod_branch [:IRIREF, :PNAME_LN, :PNAME_NS], sequence [:PrefixedName]" | |
) | |
[7](3) ("parse(terms)" "todo {:prod=>:iri, :terms=>[:PrefixedName]}, depth 22") | |
[7](3) ("parse(token)" "accept :PrefixedName") | |
[7](3) ("parse(push)" "term :PrefixedName, depth 22") | |
[7](3) ("parse(production)" "token :PNAME_LN, prod :PrefixedName, depth 22") | |
[7](2) ("PrefixedName(:start:14)" "\"rdf:type\"(PNAME_LN)") | |
[7](3) ("parse(production)" | |
"token :PNAME_LN prod :PrefixedName, prod_branch [:PNAME_LN, :PNAME_NS], sequence [:PNAME_LN]" | |
) | |
[7](3) ("parse(terms)" "todo {:prod=>:PrefixedName, :terms=>[:PNAME_LN]}, depth 23") | |
[7](3) ("parse(token)" "accept :PNAME_LN") | |
[7](3) ("accept" "\"rdf:type\"(PNAME_LN) === :PNAME_LN") | |
[7](3) ("parse(token)" "token \"rdf:type\"(PNAME_LN), term :PNAME_LN") | |
[7](3) ("ns(\"rdf\"): base: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#', suffix: 'type'" | |
) | |
[7](2) ("PNAME_LN(:terminal)" "" | |
":PNAME_LN: {:iri=>#<RDF::URI:0x3f813d6976f4 URI:http://www.w3.org/1999/02/22-rdf-syntax-ns#type>}" | |
) | |
[7](3) ("parse(pop)" "todo {:prod=>:PrefixedName, :terms=>[]}, depth 23") | |
[7](2) ("PrefixedName(:finish):14") | |
[7](3) ("parse(pop)" "todo {:prod=>:iri, :terms=>[]}, depth 22") | |
[7](2) ("iri(:finish):14") | |
[7](3) ("parse(pop)" "todo {:prod=>:PathPrimary, :terms=>[]}, depth 21") | |
[7](2) ("PathPrimary(:finish):13" ((PathPrimary rdf:type))) | |
[7](3) ("parse(terms)" "todo {:prod=>:PathElt, :terms=>[:_PathElt_1]}, depth 20") | |
[7](3) ("parse(token)" "accept :_PathElt_1") | |
[7](3) ("parse(token)" "skip optional term :_PathElt_1 on \"owl:Class\"(PNAME_LN)") | |
[7](3) ("parse(pop)" "todo {:prod=>:PathElt, :terms=>[]}, depth 20") | |
[7](2) ("PathElt(:finish):12" ((Path rdf:type))) | |
[7](3) ("parse(pop)" "todo {:prod=>:PathEltOrInverse, :terms=>[]}, depth 19") | |
[7](2) ("PathEltOrInverse(:finish):11" ((PathEltOrInverse (rdf:type)))) | |
[7](3) ("parse(terms)" | |
"todo {:prod=>:PathSequence, :terms=>[:_PathSequence_1]}, depth 18" ) | |
[7](3) ("parse(token)" "accept :_PathSequence_1") | |
[7](3) ("parse(token)" "skip optional term :_PathSequence_1 on \"owl:Class\"(PNAME_LN)") | |
[7](3) ("parse(pop)" "todo {:prod=>:PathSequence, :terms=>[]}, depth 18") | |
[7](2) ("PathSequence(:finish):10" ((PathSequence (rdf:type)))) | |
[7](3) ("parse(terms)" | |
"todo {:prod=>:PathAlternative, :terms=>[:_PathAlternative_1]}, depth 17" ) | |
[7](3) ("parse(token)" "accept :_PathAlternative_1") | |
[7](3) ("parse(token)" | |
"skip optional term :_PathAlternative_1 on \"owl:Class\"(PNAME_LN)" ) | |
[7](3) ("parse(pop)" "todo {:prod=>:PathAlternative, :terms=>[]}, depth 17") | |
[7](2) ("PathAlternative(:finish):9" ((Path rdf:type))) | |
[7](3) ("parse(pop)" "todo {:prod=>:Path, :terms=>[]}, depth 16") | |
[7](2) ("Path(:finish):8" ((iri rdf:type))) | |
[7](3) ("parse(pop)" "todo {:prod=>:VerbPath, :terms=>[]}, depth 15") | |
[7](2) ("VerbPath(:finish):7" ((Subject (?class)) (Verb rdf:type))) | |
[7](3) ("parse(pop)" "todo {:prod=>:_PropertyListPathNotEmpty_1, :terms=>[]}, depth 14") | |
[7](2) ("_PropertyListPathNotEmpty_1(:finish):7") | |
[7](3) ("parse(terms)" | |
"todo {:prod=>:PropertyListPathNotEmpty, :terms=>[:ObjectListPath, :_PropertyListPathNotEmpty_2]}, depth 13" | |
) | |
[7](3) ("parse(token)" "accept :ObjectListPath") | |
[7](3) ("parse(push)" "term :ObjectListPath, depth 13") | |
[7](3) ("parse(production)" "token :PNAME_LN, prod :ObjectListPath, depth 13") | |
[7](2) ("ObjectListPath(:start):7" ((Subject (?class)) (Verb rdf:type))) | |
[7](3) ("parse(production)" | |
"token :PNAME_LN prod :ObjectListPath, prod_branch [\"(\", :ANON, :BLANK_NODE_LABEL, :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, :IRIREF, :NIL, :PNAME_LN, :PNAME_NS, :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, :VAR1, :VAR2, \"[\", \"false\", \"true\"], sequence [:ObjectPath, :_ObjectListPath_1]" | |
) | |
[7](3) ("parse(terms)" | |
"todo {:prod=>:ObjectListPath, :terms=>[:ObjectPath, :_ObjectListPath_1]}, depth 14" | |
) | |
[7](3) ("parse(token)" "accept :ObjectPath") | |
[7](3) ("parse(push)" "term :ObjectPath, depth 14") | |
[7](3) ("parse(production)" "token :PNAME_LN, prod :ObjectPath, depth 14") | |
[7](2) ("ObjectPath(:start:9)" "\"owl:Class\"(PNAME_LN)") | |
[7](3) ("parse(production)" | |
"token :PNAME_LN prod :ObjectPath, prod_branch [\"(\", :ANON, :BLANK_NODE_LABEL, :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, :IRIREF, :NIL, :PNAME_LN, :PNAME_NS, :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, :VAR1, :VAR2, \"[\", \"false\", \"true\"], sequence [:GraphNodePath]" | |
) | |
[7](3) ("parse(terms)" "todo {:prod=>:ObjectPath, :terms=>[:GraphNodePath]}, depth 15") | |
[7](3) ("parse(token)" "accept :GraphNodePath") | |
[7](3) ("parse(push)" "term :GraphNodePath, depth 15") | |
[7](3) ("parse(production)" "token :PNAME_LN, prod :GraphNodePath, depth 15") | |
[7](2) ("GraphNodePath(:start:10)" "\"owl:Class\"(PNAME_LN)") | |
[7](3) ("parse(production)" | |
"token :PNAME_LN prod :GraphNodePath, prod_branch [\"(\", :ANON, :BLANK_NODE_LABEL, :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, :IRIREF, :NIL, :PNAME_LN, :PNAME_NS, :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, :VAR1, :VAR2, \"[\", \"false\", \"true\"], sequence [:VarOrTerm]" | |
) | |
[7](3) ("parse(terms)" "todo {:prod=>:GraphNodePath, :terms=>[:VarOrTerm]}, depth 16") | |
[7](3) ("parse(token)" "accept :VarOrTerm") | |
[7](3) ("parse(push)" "term :VarOrTerm, depth 16") | |
[7](3) ("parse(production)" "token :PNAME_LN, prod :VarOrTerm, depth 16") | |
[7](2) ("VarOrTerm(:start:11)" "\"owl:Class\"(PNAME_LN)") | |
[7](3) ("parse(production)" | |
"token :PNAME_LN prod :VarOrTerm, prod_branch [:ANON, :BLANK_NODE_LABEL, :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, :IRIREF, :NIL, :PNAME_LN, :PNAME_NS, :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, :VAR1, :VAR2, \"false\", \"true\"], sequence [:GraphTerm]" | |
) | |
[7](3) ("parse(terms)" "todo {:prod=>:VarOrTerm, :terms=>[:GraphTerm]}, depth 17") | |
[7](3) ("parse(token)" "accept :GraphTerm") | |
[7](3) ("parse(push)" "term :GraphTerm, depth 17") | |
[7](3) ("parse(production)" "token :PNAME_LN, prod :GraphTerm, depth 17") | |
[7](2) ("GraphTerm(:start:12)" "\"owl:Class\"(PNAME_LN)") | |
[7](3) ("parse(production)" | |
"token :PNAME_LN prod :GraphTerm, prod_branch [:ANON, :BLANK_NODE_LABEL, :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, :IRIREF, :NIL, :PNAME_LN, :PNAME_NS, :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, \"false\", \"true\"], sequence [:iri]" | |
) | |
[7](3) ("parse(terms)" "todo {:prod=>:GraphTerm, :terms=>[:iri]}, depth 18") | |
[7](3) ("parse(token)" "accept :iri") | |
[7](3) ("parse(push)" "term :iri, depth 18") | |
[7](3) ("parse(production)" "token :PNAME_LN, prod :iri, depth 18") | |
[7](2) ("iri(:start:12)" "\"owl:Class\"(PNAME_LN)") | |
[7](3) ("parse(production)" | |
"token :PNAME_LN prod :iri, prod_branch [:IRIREF, :PNAME_LN, :PNAME_NS], sequence [:PrefixedName]" | |
) | |
[7](3) ("parse(terms)" "todo {:prod=>:iri, :terms=>[:PrefixedName]}, depth 19") | |
[7](3) ("parse(token)" "accept :PrefixedName") | |
[7](3) ("parse(push)" "term :PrefixedName, depth 19") | |
[7](3) ("parse(production)" "token :PNAME_LN, prod :PrefixedName, depth 19") | |
[7](2) ("PrefixedName(:start:12)" "\"owl:Class\"(PNAME_LN)") | |
[7](3) ("parse(production)" | |
"token :PNAME_LN prod :PrefixedName, prod_branch [:PNAME_LN, :PNAME_NS], sequence [:PNAME_LN]" | |
) | |
[7](3) ("parse(terms)" "todo {:prod=>:PrefixedName, :terms=>[:PNAME_LN]}, depth 20") | |
[7](3) ("parse(token)" "accept :PNAME_LN") | |
[7](3) ("accept" "\"owl:Class\"(PNAME_LN) === :PNAME_LN") | |
[7](3) ("parse(token)" "token \"owl:Class\"(PNAME_LN), term :PNAME_LN") | |
[7](3) ("ns(\"owl\"): base: 'http://www.w3.org/2002/07/owl#', suffix: 'Class'") | |
[7](2) ("PNAME_LN(:terminal)" "" | |
":PNAME_LN: {:iri=>#<RDF::URI:0x3f813d640458 URI:http://www.w3.org/2002/07/owl#Class>}" | |
) | |
[7](3) ("parse(pop)" "todo {:prod=>:PrefixedName, :terms=>[]}, depth 20") | |
[7](2) ("PrefixedName(:finish):12") | |
[7](3) ("parse(pop)" "todo {:prod=>:iri, :terms=>[]}, depth 19") | |
[7](2) ("iri(:finish):12") | |
[7](3) ("parse(pop)" "todo {:prod=>:GraphTerm, :terms=>[]}, depth 18") | |
[7](3) ("add_prod_datum(GraphTerm)" | |
"[] << #<RDF::URI:0x3f813d640458 URI:http://www.w3.org/2002/07/owl#Class>" ) | |
[7](2) ("GraphTerm(:finish):11" ((GraphTerm (owl:Class)))) | |
[7](3) ("parse(pop)" "todo {:prod=>:VarOrTerm, :terms=>[]}, depth 17") | |
[7](3) ("add_prod_datum(VarOrTerm)" | |
"[] += [#<RDF::URI:0x3f813d640458 URI:http://www.w3.org/2002/07/owl#Class>]" ) | |
[7](2) ("VarOrTerm(:finish):10" ((VarOrTerm (owl:Class)))) | |
[7](3) ("parse(pop)" "todo {:prod=>:GraphNodePath, :terms=>[]}, depth 16") | |
[7](3) ("add_prod_datum(GraphNode)" | |
"[] += [#<RDF::URI:0x3f813d640458 URI:http://www.w3.org/2002/07/owl#Class>]" ) | |
[7](2) ("GraphNodePath(:finish):9" ((GraphNode (owl:Class)))) | |
[7](3) ("parse(pop)" "todo {:prod=>:ObjectPath, :terms=>[]}, depth 15") | |
[7](2) (Object | |
"[:pattern, [#<RDF::Query::Variable:0x3f813d85ce30(?class)>], http://www.w3.org/1999/02/22-rdf-syntax-ns#type, [#<RDF::URI:0x3f813d640458 URI:http://www.w3.org/2002/07/owl#Class>]]" | |
) | |
[7](3) ("add_prod_datum(pattern)" | |
"[] << #<RDF::Query::Pattern:0x3f813d627a98(?class <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> .)>" | |
) | |
[7](2) ("ObjectPath(:finish):8" | |
((Subject (?class)) (Verb rdf:type) (pattern ((triple ?class rdf:type owl:Class))))) | |
[7](3) ("parse(terms)" | |
"todo {:prod=>:ObjectListPath, :terms=>[:_ObjectListPath_1]}, depth 14" ) | |
[7](3) ("parse(token)" "accept :_ObjectListPath_1") | |
[7](3) ("parse(token)" "skip optional term :_ObjectListPath_1 on \".\"") | |
[7](3) ("parse(pop)" "todo {:prod=>:ObjectListPath, :terms=>[]}, depth 14") | |
[7](3) ("add_prod_datum(pattern)" | |
"[] += [#<RDF::Query::Pattern:0x3f813d627a98(?class <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> .)>]" | |
) | |
[7](2) ("ObjectListPath(:finish):7" | |
((Subject (?class)) (Verb rdf:type) (pattern ((triple ?class rdf:type owl:Class))))) | |
[7](3) ("parse(terms)" | |
"todo {:prod=>:PropertyListPathNotEmpty, :terms=>[:_PropertyListPathNotEmpty_2]}, depth 13" | |
) | |
[7](3) ("parse(token)" "accept :_PropertyListPathNotEmpty_2") | |
[7](3) ("parse(token)" "skip optional term :_PropertyListPathNotEmpty_2 on \".\"") | |
[7](3) ("parse(pop)" "todo {:prod=>:PropertyListPathNotEmpty, :terms=>[]}, depth 13") | |
[7](3) ("add_prod_datum(pattern)" | |
"[] += [#<RDF::Query::Pattern:0x3f813d627a98(?class <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> .)>]" | |
) | |
[7](2) ("PropertyListPathNotEmpty(:finish):6" | |
((VarOrTerm (?class)) (pattern ((triple ?class rdf:type owl:Class))))) | |
[7](3) ("parse(pop)" "todo {:prod=>:_TriplesSameSubjectPath_1, :terms=>[]}, depth 12") | |
[7](2) ("_TriplesSameSubjectPath_1(:finish):6") | |
[7](3) ("parse(pop)" "todo {:prod=>:TriplesSameSubjectPath, :terms=>[]}, depth 11") | |
[7](3) ("add_prod_datum(pattern)" | |
"[] += [#<RDF::Query::Pattern:0x3f813d627a98(?class <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> .)>]" | |
) | |
[7](2) ("TriplesSameSubjectPath(:finish):5" ((pattern ((triple ?class rdf:type owl:Class))))) | |
[7](3) ("parse(terms)" | |
"todo {:prod=>:TriplesBlock, :terms=>[:_TriplesBlock_1]}, depth 10" ) | |
[7](3) ("parse(token)" "accept :_TriplesBlock_1") | |
[7](3) ("parse(push)" "term :_TriplesBlock_1, depth 10") | |
[7](3) ("parse(production)" "token \".\", prod :_TriplesBlock_1, depth 10") | |
[7](2) ("_TriplesBlock_1(:start:5)" "\".\"") | |
[7](3) ("parse(production)" | |
"token \".\" prod :_TriplesBlock_1, prod_branch [\".\", \"BIND\", \"FILTER\", \"GRAPH\", \"MINUS\", \"OPTIONAL\", \"SERVICE\", \"VALUES\", \"{\", \"}\"], sequence [:_TriplesBlock_2]" | |
) | |
[7](3) ("parse(terms)" | |
"todo {:prod=>:_TriplesBlock_1, :terms=>[:_TriplesBlock_2]}, depth 11" ) | |
[7](3) ("parse(token)" "accept :_TriplesBlock_2") | |
[7](3) ("parse(push)" "term :_TriplesBlock_2, depth 11") | |
[7](3) ("parse(production)" "token \".\", prod :_TriplesBlock_2, depth 11") | |
[7](2) ("_TriplesBlock_2(:start:5)" "\".\"") | |
[7](3) ("parse(production)" | |
"token \".\" prod :_TriplesBlock_2, prod_branch [\".\"], sequence [\".\", :_TriplesBlock_3]" | |
) | |
[7](3) ("parse(terms)" | |
"todo {:prod=>:_TriplesBlock_2, :terms=>[\".\", :_TriplesBlock_3]}, depth 12" | |
) | |
[7](3) ("parse(token)" "accept \".\"") | |
[7](3) ("accept" "\".\" === \".\"") | |
[7](3) ("parse(token)" "token \".\", term \".\"") | |
[7](2) (".(:terminal)" "" | |
".: {:pattern=>[#<RDF::Query::Pattern:0x3f813d627a98(?class <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> .)>]}" | |
) | |
[7](3) ("parse(token)" "accept :_TriplesBlock_3") | |
[8](3) ("parse(push)" "term :_TriplesBlock_3, depth 12") | |
[8](3) ("parse(production)" "token :VAR1, prod :_TriplesBlock_3, depth 12") | |
[8](2) ("_TriplesBlock_3(:start:5)" "\"?class\"(VAR1)") | |
[8](3) ("parse(production)" | |
"token :VAR1 prod :_TriplesBlock_3, prod_branch [\"(\", :ANON, \"BIND\", :BLANK_NODE_LABEL, :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, \"FILTER\", \"GRAPH\", :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, :IRIREF, \"MINUS\", :NIL, \"OPTIONAL\", :PNAME_LN, :PNAME_NS, \"SERVICE\", :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, \"VALUES\", :VAR1, :VAR2, \"[\", \"false\", \"true\", \"{\", \"}\"], sequence [:TriplesBlock]" | |
) | |
[8](3) ("parse(terms)" | |
"todo {:prod=>:_TriplesBlock_3, :terms=>[:TriplesBlock]}, depth 13" ) | |
[8](3) ("parse(token)" "accept :TriplesBlock") | |
[8](3) ("parse(push)" "term :TriplesBlock, depth 13") | |
[8](3) ("parse(production)" "token :VAR1, prod :TriplesBlock, depth 13") | |
[8](2) ("TriplesBlock(:start:6)" "\"?class\"(VAR1)") | |
[8](3) ("parse(production)" | |
"token :VAR1 prod :TriplesBlock, prod_branch [\"(\", :ANON, :BLANK_NODE_LABEL, :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, :IRIREF, :NIL, :PNAME_LN, :PNAME_NS, :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, :VAR1, :VAR2, \"[\", \"false\", \"true\"], sequence [:TriplesSameSubjectPath, :_TriplesBlock_1]" | |
) | |
[8](3) ("parse(terms)" | |
"todo {:prod=>:TriplesBlock, :terms=>[:TriplesSameSubjectPath, :_TriplesBlock_1]}, depth 14" | |
) | |
[8](3) ("parse(token)" "accept :TriplesSameSubjectPath") | |
[8](3) ("parse(push)" "term :TriplesSameSubjectPath, depth 14") | |
[8](3) ("parse(production)" "token :VAR1, prod :TriplesSameSubjectPath, depth 14") | |
[8](2) ("TriplesSameSubjectPath(:start:7)" "\"?class\"(VAR1)") | |
[8](3) ("parse(production)" | |
"token :VAR1 prod :TriplesSameSubjectPath, prod_branch [\"(\", :ANON, :BLANK_NODE_LABEL, :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, :IRIREF, :NIL, :PNAME_LN, :PNAME_NS, :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, :VAR1, :VAR2, \"[\", \"false\", \"true\"], sequence [:_TriplesSameSubjectPath_1]" | |
) | |
[8](3) ("parse(terms)" | |
"todo {:prod=>:TriplesSameSubjectPath, :terms=>[:_TriplesSameSubjectPath_1]}, depth 15" | |
) | |
[8](3) ("parse(token)" "accept :_TriplesSameSubjectPath_1") | |
[8](3) ("parse(push)" "term :_TriplesSameSubjectPath_1, depth 15") | |
[8](3) ("parse(production)" "token :VAR1, prod :_TriplesSameSubjectPath_1, depth 15") | |
[8](2) ("_TriplesSameSubjectPath_1(:start:7)" "\"?class\"(VAR1)") | |
[8](3) ("parse(production)" | |
"token :VAR1 prod :_TriplesSameSubjectPath_1, prod_branch [:ANON, :BLANK_NODE_LABEL, :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, :IRIREF, :NIL, :PNAME_LN, :PNAME_NS, :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, :VAR1, :VAR2, \"false\", \"true\"], sequence [:VarOrTerm, :PropertyListPathNotEmpty]" | |
) | |
[8](3) ("parse(terms)" | |
"todo {:prod=>:_TriplesSameSubjectPath_1, :terms=>[:VarOrTerm, :PropertyListPathNotEmpty]}, depth 16" | |
) | |
[8](3) ("parse(token)" "accept :VarOrTerm") | |
[8](3) ("parse(push)" "term :VarOrTerm, depth 16") | |
[8](3) ("parse(production)" "token :VAR1, prod :VarOrTerm, depth 16") | |
[8](2) ("VarOrTerm(:start:8)" "\"?class\"(VAR1)") | |
[8](3) ("parse(production)" | |
"token :VAR1 prod :VarOrTerm, prod_branch [:ANON, :BLANK_NODE_LABEL, :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, :IRIREF, :NIL, :PNAME_LN, :PNAME_NS, :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, :VAR1, :VAR2, \"false\", \"true\"], sequence [:Var]" | |
) | |
[8](3) ("parse(terms)" "todo {:prod=>:VarOrTerm, :terms=>[:Var]}, depth 17") | |
[8](3) ("parse(token)" "accept :Var") | |
[8](3) ("parse(push)" "term :Var, depth 17") | |
[8](3) ("parse(production)" "token :VAR1, prod :Var, depth 17") | |
[8](2) ("Var(:start:8)" "\"?class\"(VAR1)") | |
[8](3) ("parse(production)" | |
"token :VAR1 prod :Var, prod_branch [:VAR1, :VAR2], sequence [:VAR1]" ) | |
[8](3) ("parse(terms)" "todo {:prod=>:Var, :terms=>[:VAR1]}, depth 18") | |
[8](3) ("parse(token)" "accept :VAR1") | |
[8](3) ("accept" "\"?class\"(VAR1) === :VAR1") | |
[8](3) ("parse(token)" "token \"?class\"(VAR1), term :VAR1") | |
[8](3) ("add_prod_datum(Var)" "[] << #<RDF::Query::Variable:0x3f813d85ce30(?class)>") | |
[8](2) ("VAR1(:terminal)" "" | |
":VAR1: {:Var=>[#<RDF::Query::Variable:0x3f813d85ce30(?class)>]}" ) | |
[8](3) ("parse(pop)" "todo {:prod=>:Var, :terms=>[]}, depth 18") | |
[8](2) ("Var(:finish):8") | |
[8](3) ("parse(pop)" "todo {:prod=>:VarOrTerm, :terms=>[]}, depth 17") | |
[8](3) ("add_prod_datum(VarOrTerm)" | |
"[] += [#<RDF::Query::Variable:0x3f813d85ce30(?class)>]" ) | |
[8](2) ("VarOrTerm(:finish):7" ((VarOrTerm (?class)))) | |
[8](3) ("parse(terms)" | |
"todo {:prod=>:_TriplesSameSubjectPath_1, :terms=>[:PropertyListPathNotEmpty]}, depth 16" | |
) | |
[8](3) ("parse(token)" "accept :PropertyListPathNotEmpty") | |
[8](3) ("parse(push)" "term :PropertyListPathNotEmpty, depth 16") | |
[8](3) ("parse(production)" "token :PNAME_LN, prod :PropertyListPathNotEmpty, depth 16") | |
[8](2) ("PropertyListPathNotEmpty(:start):7" ((VarOrTerm (?class)))) | |
[8](3) ("parse(production)" | |
"token :PNAME_LN prod :PropertyListPathNotEmpty, prod_branch [\"!\", \"(\", :IRIREF, :PNAME_LN, :PNAME_NS, :VAR1, :VAR2, \"^\", \"a\"], sequence [:_PropertyListPathNotEmpty_1, :ObjectListPath, :_PropertyListPathNotEmpty_2]" | |
) | |
[8](3) ("parse(terms)" | |
"todo {:prod=>:PropertyListPathNotEmpty, :terms=>[:_PropertyListPathNotEmpty_1, :ObjectListPath, :_PropertyListPathNotEmpty_2]}, depth 17" | |
) | |
[8](3) ("parse(token)" "accept :_PropertyListPathNotEmpty_1") | |
[8](3) ("parse(push)" "term :_PropertyListPathNotEmpty_1, depth 17") | |
[8](3) ("parse(production)" | |
"token :PNAME_LN, prod :_PropertyListPathNotEmpty_1, depth 17" ) | |
[8](2) ("_PropertyListPathNotEmpty_1(:start:8)" "\"owl:hasKey\"(PNAME_LN)") | |
[8](3) ("parse(production)" | |
"token :PNAME_LN prod :_PropertyListPathNotEmpty_1, prod_branch [\"!\", \"(\", :IRIREF, :PNAME_LN, :PNAME_NS, :VAR1, :VAR2, \"^\", \"a\"], sequence [:VerbPath]" | |
) | |
[8](3) ("parse(terms)" | |
"todo {:prod=>:_PropertyListPathNotEmpty_1, :terms=>[:VerbPath]}, depth 18" ) | |
[8](3) ("parse(token)" "accept :VerbPath") | |
[8](3) ("parse(push)" "term :VerbPath, depth 18") | |
[8](3) ("parse(production)" "token :PNAME_LN, prod :VerbPath, depth 18") | |
[8](2) ("VerbPath(:start:9)" "\"owl:hasKey\"(PNAME_LN)") | |
[8](3) ("parse(production)" | |
"token :PNAME_LN prod :VerbPath, prod_branch [\"!\", \"(\", :IRIREF, :PNAME_LN, :PNAME_NS, \"^\", \"a\"], sequence [:Path]" | |
) | |
[8](3) ("parse(terms)" "todo {:prod=>:VerbPath, :terms=>[:Path]}, depth 19") | |
[8](3) ("parse(token)" "accept :Path") | |
[8](3) ("parse(push)" "term :Path, depth 19") | |
[8](3) ("parse(production)" "token :PNAME_LN, prod :Path, depth 19") | |
[8](2) ("Path(:start:10)" "\"owl:hasKey\"(PNAME_LN)") | |
[8](3) ("parse(production)" | |
"token :PNAME_LN prod :Path, prod_branch [\"!\", \"(\", :IRIREF, :PNAME_LN, :PNAME_NS, \"^\", \"a\"], sequence [:PathAlternative]" | |
) | |
[8](3) ("parse(terms)" "todo {:prod=>:Path, :terms=>[:PathAlternative]}, depth 20") | |
[8](3) ("parse(token)" "accept :PathAlternative") | |
[8](3) ("parse(push)" "term :PathAlternative, depth 20") | |
[8](3) ("parse(production)" "token :PNAME_LN, prod :PathAlternative, depth 20") | |
[8](2) ("PathAlternative(:start:11)" "\"owl:hasKey\"(PNAME_LN)") | |
[8](3) ("parse(production)" | |
"token :PNAME_LN prod :PathAlternative, prod_branch [\"!\", \"(\", :IRIREF, :PNAME_LN, :PNAME_NS, \"^\", \"a\"], sequence [:PathSequence, :_PathAlternative_1]" | |
) | |
[8](3) ("parse(terms)" | |
"todo {:prod=>:PathAlternative, :terms=>[:PathSequence, :_PathAlternative_1]}, depth 21" | |
) | |
[8](3) ("parse(token)" "accept :PathSequence") | |
[8](3) ("parse(push)" "term :PathSequence, depth 21") | |
[8](3) ("parse(production)" "token :PNAME_LN, prod :PathSequence, depth 21") | |
[8](2) ("PathSequence(:start:12)" "\"owl:hasKey\"(PNAME_LN)") | |
[8](3) ("parse(production)" | |
"token :PNAME_LN prod :PathSequence, prod_branch [\"!\", \"(\", :IRIREF, :PNAME_LN, :PNAME_NS, \"^\", \"a\"], sequence [:PathEltOrInverse, :_PathSequence_1]" | |
) | |
[8](3) ("parse(terms)" | |
"todo {:prod=>:PathSequence, :terms=>[:PathEltOrInverse, :_PathSequence_1]}, depth 22" | |
) | |
[8](3) ("parse(token)" "accept :PathEltOrInverse") | |
[8](3) ("parse(push)" "term :PathEltOrInverse, depth 22") | |
[8](3) ("parse(production)" "token :PNAME_LN, prod :PathEltOrInverse, depth 22") | |
[8](2) ("PathEltOrInverse(:start:13)" "\"owl:hasKey\"(PNAME_LN)") | |
[8](3) ("parse(production)" | |
"token :PNAME_LN prod :PathEltOrInverse, prod_branch [\"!\", \"(\", :IRIREF, :PNAME_LN, :PNAME_NS, \"^\", \"a\"], sequence [:PathElt]" | |
) | |
[8](3) ("parse(terms)" "todo {:prod=>:PathEltOrInverse, :terms=>[:PathElt]}, depth 23") | |
[8](3) ("parse(token)" "accept :PathElt") | |
[8](3) ("parse(push)" "term :PathElt, depth 23") | |
[8](3) ("parse(production)" "token :PNAME_LN, prod :PathElt, depth 23") | |
[8](2) ("PathElt(:start:14)" "\"owl:hasKey\"(PNAME_LN)") | |
[8](3) ("parse(production)" | |
"token :PNAME_LN prod :PathElt, prod_branch [\"!\", \"(\", :IRIREF, :PNAME_LN, :PNAME_NS, \"a\"], sequence [:PathPrimary, :_PathElt_1]" | |
) | |
[8](3) ("parse(terms)" | |
"todo {:prod=>:PathElt, :terms=>[:PathPrimary, :_PathElt_1]}, depth 24" ) | |
[8](3) ("parse(token)" "accept :PathPrimary") | |
[8](3) ("parse(push)" "term :PathPrimary, depth 24") | |
[8](3) ("parse(production)" "token :PNAME_LN, prod :PathPrimary, depth 24") | |
[8](2) ("PathPrimary(:start:15)" "\"owl:hasKey\"(PNAME_LN)") | |
[8](3) ("parse(production)" | |
"token :PNAME_LN prod :PathPrimary, prod_branch [\"!\", \"(\", :IRIREF, :PNAME_LN, :PNAME_NS, \"a\"], sequence [:iri]" | |
) | |
[8](3) ("parse(terms)" "todo {:prod=>:PathPrimary, :terms=>[:iri]}, depth 25") | |
[8](3) ("parse(token)" "accept :iri") | |
[8](3) ("parse(push)" "term :iri, depth 25") | |
[8](3) ("parse(production)" "token :PNAME_LN, prod :iri, depth 25") | |
[8](2) ("iri(:start:15)" "\"owl:hasKey\"(PNAME_LN)") | |
[8](3) ("parse(production)" | |
"token :PNAME_LN prod :iri, prod_branch [:IRIREF, :PNAME_LN, :PNAME_NS], sequence [:PrefixedName]" | |
) | |
[8](3) ("parse(terms)" "todo {:prod=>:iri, :terms=>[:PrefixedName]}, depth 26") | |
[8](3) ("parse(token)" "accept :PrefixedName") | |
[8](3) ("parse(push)" "term :PrefixedName, depth 26") | |
[8](3) ("parse(production)" "token :PNAME_LN, prod :PrefixedName, depth 26") | |
[8](2) ("PrefixedName(:start:15)" "\"owl:hasKey\"(PNAME_LN)") | |
[8](3) ("parse(production)" | |
"token :PNAME_LN prod :PrefixedName, prod_branch [:PNAME_LN, :PNAME_NS], sequence [:PNAME_LN]" | |
) | |
[8](3) ("parse(terms)" "todo {:prod=>:PrefixedName, :terms=>[:PNAME_LN]}, depth 27") | |
[8](3) ("parse(token)" "accept :PNAME_LN") | |
[8](3) ("accept" "\"owl:hasKey\"(PNAME_LN) === :PNAME_LN") | |
[8](3) ("parse(token)" "token \"owl:hasKey\"(PNAME_LN), term :PNAME_LN") | |
[8](3) ("ns(\"owl\"): base: 'http://www.w3.org/2002/07/owl#', suffix: 'hasKey'") | |
[8](2) ("PNAME_LN(:terminal)" "" | |
":PNAME_LN: {:iri=>#<RDF::URI:0x3f813d54939c URI:http://www.w3.org/2002/07/owl#hasKey>}" | |
) | |
[8](3) ("parse(pop)" "todo {:prod=>:PrefixedName, :terms=>[]}, depth 27") | |
[8](2) ("PrefixedName(:finish):15") | |
[8](3) ("parse(pop)" "todo {:prod=>:iri, :terms=>[]}, depth 26") | |
[8](2) ("iri(:finish):15") | |
[8](3) ("parse(pop)" "todo {:prod=>:PathPrimary, :terms=>[]}, depth 25") | |
[8](2) ("PathPrimary(:finish):14" ((PathPrimary owl:hasKey))) | |
[8](3) ("parse(terms)" "todo {:prod=>:PathElt, :terms=>[:_PathElt_1]}, depth 24") | |
[8](3) ("parse(token)" "accept :_PathElt_1") | |
[8](3) ("parse(token)" "skip optional term :_PathElt_1 on \"?key\"(VAR1)") | |
[8](3) ("parse(pop)" "todo {:prod=>:PathElt, :terms=>[]}, depth 24") | |
[8](2) ("PathElt(:finish):13" ((Path owl:hasKey))) | |
[8](3) ("parse(pop)" "todo {:prod=>:PathEltOrInverse, :terms=>[]}, depth 23") | |
[8](2) ("PathEltOrInverse(:finish):12" ((PathEltOrInverse (owl:hasKey)))) | |
[8](3) ("parse(terms)" | |
"todo {:prod=>:PathSequence, :terms=>[:_PathSequence_1]}, depth 22" ) | |
[8](3) ("parse(token)" "accept :_PathSequence_1") | |
[8](3) ("parse(token)" "skip optional term :_PathSequence_1 on \"?key\"(VAR1)") | |
[8](3) ("parse(pop)" "todo {:prod=>:PathSequence, :terms=>[]}, depth 22") | |
[8](2) ("PathSequence(:finish):11" ((PathSequence (owl:hasKey)))) | |
[8](3) ("parse(terms)" | |
"todo {:prod=>:PathAlternative, :terms=>[:_PathAlternative_1]}, depth 21" ) | |
[8](3) ("parse(token)" "accept :_PathAlternative_1") | |
[8](3) ("parse(token)" "skip optional term :_PathAlternative_1 on \"?key\"(VAR1)") | |
[8](3) ("parse(pop)" "todo {:prod=>:PathAlternative, :terms=>[]}, depth 21") | |
[8](2) ("PathAlternative(:finish):10" ((Path owl:hasKey))) | |
[8](3) ("parse(pop)" "todo {:prod=>:Path, :terms=>[]}, depth 20") | |
[8](2) ("Path(:finish):9" ((iri owl:hasKey))) | |
[8](3) ("parse(pop)" "todo {:prod=>:VerbPath, :terms=>[]}, depth 19") | |
[8](2) ("VerbPath(:finish):8" ((Subject (?class)) (Verb owl:hasKey))) | |
[8](3) ("parse(pop)" "todo {:prod=>:_PropertyListPathNotEmpty_1, :terms=>[]}, depth 18") | |
[8](2) ("_PropertyListPathNotEmpty_1(:finish):8") | |
[8](3) ("parse(terms)" | |
"todo {:prod=>:PropertyListPathNotEmpty, :terms=>[:ObjectListPath, :_PropertyListPathNotEmpty_2]}, depth 17" | |
) | |
[8](3) ("parse(token)" "accept :ObjectListPath") | |
[8](3) ("parse(push)" "term :ObjectListPath, depth 17") | |
[8](3) ("parse(production)" "token :VAR1, prod :ObjectListPath, depth 17") | |
[8](2) ("ObjectListPath(:start):8" ((Subject (?class)) (Verb owl:hasKey))) | |
[8](3) ("parse(production)" | |
"token :VAR1 prod :ObjectListPath, prod_branch [\"(\", :ANON, :BLANK_NODE_LABEL, :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, :IRIREF, :NIL, :PNAME_LN, :PNAME_NS, :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, :VAR1, :VAR2, \"[\", \"false\", \"true\"], sequence [:ObjectPath, :_ObjectListPath_1]" | |
) | |
[8](3) ("parse(terms)" | |
"todo {:prod=>:ObjectListPath, :terms=>[:ObjectPath, :_ObjectListPath_1]}, depth 18" | |
) | |
[8](3) ("parse(token)" "accept :ObjectPath") | |
[8](3) ("parse(push)" "term :ObjectPath, depth 18") | |
[8](3) ("parse(production)" "token :VAR1, prod :ObjectPath, depth 18") | |
[8](2) ("ObjectPath(:start:10)" "\"?key\"(VAR1)") | |
[8](3) ("parse(production)" | |
"token :VAR1 prod :ObjectPath, prod_branch [\"(\", :ANON, :BLANK_NODE_LABEL, :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, :IRIREF, :NIL, :PNAME_LN, :PNAME_NS, :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, :VAR1, :VAR2, \"[\", \"false\", \"true\"], sequence [:GraphNodePath]" | |
) | |
[8](3) ("parse(terms)" "todo {:prod=>:ObjectPath, :terms=>[:GraphNodePath]}, depth 19") | |
[8](3) ("parse(token)" "accept :GraphNodePath") | |
[8](3) ("parse(push)" "term :GraphNodePath, depth 19") | |
[8](3) ("parse(production)" "token :VAR1, prod :GraphNodePath, depth 19") | |
[8](2) ("GraphNodePath(:start:11)" "\"?key\"(VAR1)") | |
[8](3) ("parse(production)" | |
"token :VAR1 prod :GraphNodePath, prod_branch [\"(\", :ANON, :BLANK_NODE_LABEL, :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, :IRIREF, :NIL, :PNAME_LN, :PNAME_NS, :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, :VAR1, :VAR2, \"[\", \"false\", \"true\"], sequence [:VarOrTerm]" | |
) | |
[8](3) ("parse(terms)" "todo {:prod=>:GraphNodePath, :terms=>[:VarOrTerm]}, depth 20") | |
[8](3) ("parse(token)" "accept :VarOrTerm") | |
[8](3) ("parse(push)" "term :VarOrTerm, depth 20") | |
[8](3) ("parse(production)" "token :VAR1, prod :VarOrTerm, depth 20") | |
[8](2) ("VarOrTerm(:start:12)" "\"?key\"(VAR1)") | |
[8](3) ("parse(production)" | |
"token :VAR1 prod :VarOrTerm, prod_branch [:ANON, :BLANK_NODE_LABEL, :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, :IRIREF, :NIL, :PNAME_LN, :PNAME_NS, :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, :VAR1, :VAR2, \"false\", \"true\"], sequence [:Var]" | |
) | |
[8](3) ("parse(terms)" "todo {:prod=>:VarOrTerm, :terms=>[:Var]}, depth 21") | |
[8](3) ("parse(token)" "accept :Var") | |
[8](3) ("parse(push)" "term :Var, depth 21") | |
[8](3) ("parse(production)" "token :VAR1, prod :Var, depth 21") | |
[8](2) ("Var(:start:12)" "\"?key\"(VAR1)") | |
[8](3) ("parse(production)" | |
"token :VAR1 prod :Var, prod_branch [:VAR1, :VAR2], sequence [:VAR1]" ) | |
[8](3) ("parse(terms)" "todo {:prod=>:Var, :terms=>[:VAR1]}, depth 22") | |
[8](3) ("parse(token)" "accept :VAR1") | |
[8](3) ("accept" "\"?key\"(VAR1) === :VAR1") | |
[8](3) ("parse(token)" "token \"?key\"(VAR1), term :VAR1") | |
[8](3) ("add_prod_datum(Var)" "[] << #<RDF::Query::Variable:0x3f813cf67438(?key)>") | |
[8](2) ("VAR1(:terminal)" "" | |
":VAR1: {:Var=>[#<RDF::Query::Variable:0x3f813cf67438(?key)>]}" ) | |
[8](3) ("parse(pop)" "todo {:prod=>:Var, :terms=>[]}, depth 22") | |
[8](2) ("Var(:finish):12") | |
[8](3) ("parse(pop)" "todo {:prod=>:VarOrTerm, :terms=>[]}, depth 21") | |
[8](3) ("add_prod_datum(VarOrTerm)" | |
"[] += [#<RDF::Query::Variable:0x3f813cf67438(?key)>]" ) | |
[8](2) ("VarOrTerm(:finish):11" ((VarOrTerm (?key)))) | |
[8](3) ("parse(pop)" "todo {:prod=>:GraphNodePath, :terms=>[]}, depth 20") | |
[8](3) ("add_prod_datum(GraphNode)" | |
"[] += [#<RDF::Query::Variable:0x3f813cf67438(?key)>]" ) | |
[8](2) ("GraphNodePath(:finish):10" ((GraphNode (?key)))) | |
[8](3) ("parse(pop)" "todo {:prod=>:ObjectPath, :terms=>[]}, depth 19") | |
[8](2) (Object | |
"[:pattern, [#<RDF::Query::Variable:0x3f813d85ce30(?class)>], http://www.w3.org/2002/07/owl#hasKey, [#<RDF::Query::Variable:0x3f813cf67438(?key)>]]" | |
) | |
[8](3) ("add_prod_datum(pattern)" | |
"[] << #<RDF::Query::Pattern:0x3f813cf417b0(?class <http://www.w3.org/2002/07/owl#hasKey> ?key .)>" | |
) | |
[8](2) ("ObjectPath(:finish):9" | |
((Subject (?class)) (Verb owl:hasKey) (pattern ((triple ?class owl:hasKey ?key))))) | |
[8](3) ("parse(terms)" | |
"todo {:prod=>:ObjectListPath, :terms=>[:_ObjectListPath_1]}, depth 18" ) | |
[8](3) ("parse(token)" "accept :_ObjectListPath_1") | |
[8](3) ("parse(token)" "skip optional term :_ObjectListPath_1 on \".\"") | |
[8](3) ("parse(pop)" "todo {:prod=>:ObjectListPath, :terms=>[]}, depth 18") | |
[8](3) ("add_prod_datum(pattern)" | |
"[] += [#<RDF::Query::Pattern:0x3f813cf417b0(?class <http://www.w3.org/2002/07/owl#hasKey> ?key .)>]" | |
) | |
[8](2) ("ObjectListPath(:finish):8" | |
((Subject (?class)) (Verb owl:hasKey) (pattern ((triple ?class owl:hasKey ?key))))) | |
[8](3) ("parse(terms)" | |
"todo {:prod=>:PropertyListPathNotEmpty, :terms=>[:_PropertyListPathNotEmpty_2]}, depth 17" | |
) | |
[8](3) ("parse(token)" "accept :_PropertyListPathNotEmpty_2") | |
[8](3) ("parse(token)" "skip optional term :_PropertyListPathNotEmpty_2 on \".\"") | |
[8](3) ("parse(pop)" "todo {:prod=>:PropertyListPathNotEmpty, :terms=>[]}, depth 17") | |
[8](3) ("add_prod_datum(pattern)" | |
"[] += [#<RDF::Query::Pattern:0x3f813cf417b0(?class <http://www.w3.org/2002/07/owl#hasKey> ?key .)>]" | |
) | |
[8](2) ("PropertyListPathNotEmpty(:finish):7" | |
((VarOrTerm (?class)) (pattern ((triple ?class owl:hasKey ?key))))) | |
[8](3) ("parse(pop)" "todo {:prod=>:_TriplesSameSubjectPath_1, :terms=>[]}, depth 16") | |
[8](2) ("_TriplesSameSubjectPath_1(:finish):7") | |
[8](3) ("parse(pop)" "todo {:prod=>:TriplesSameSubjectPath, :terms=>[]}, depth 15") | |
[8](3) ("add_prod_datum(pattern)" | |
"[] += [#<RDF::Query::Pattern:0x3f813cf417b0(?class <http://www.w3.org/2002/07/owl#hasKey> ?key .)>]" | |
) | |
[8](2) ("TriplesSameSubjectPath(:finish):6" ((pattern ((triple ?class owl:hasKey ?key))))) | |
[8](3) ("parse(terms)" | |
"todo {:prod=>:TriplesBlock, :terms=>[:_TriplesBlock_1]}, depth 14" ) | |
[8](3) ("parse(token)" "accept :_TriplesBlock_1") | |
[8](3) ("parse(push)" "term :_TriplesBlock_1, depth 14") | |
[8](3) ("parse(production)" "token \".\", prod :_TriplesBlock_1, depth 14") | |
[8](2) ("_TriplesBlock_1(:start:6)" "\".\"") | |
[8](3) ("parse(production)" | |
"token \".\" prod :_TriplesBlock_1, prod_branch [\".\", \"BIND\", \"FILTER\", \"GRAPH\", \"MINUS\", \"OPTIONAL\", \"SERVICE\", \"VALUES\", \"{\", \"}\"], sequence [:_TriplesBlock_2]" | |
) | |
[8](3) ("parse(terms)" | |
"todo {:prod=>:_TriplesBlock_1, :terms=>[:_TriplesBlock_2]}, depth 15" ) | |
[8](3) ("parse(token)" "accept :_TriplesBlock_2") | |
[8](3) ("parse(push)" "term :_TriplesBlock_2, depth 15") | |
[8](3) ("parse(production)" "token \".\", prod :_TriplesBlock_2, depth 15") | |
[8](2) ("_TriplesBlock_2(:start:6)" "\".\"") | |
[8](3) ("parse(production)" | |
"token \".\" prod :_TriplesBlock_2, prod_branch [\".\"], sequence [\".\", :_TriplesBlock_3]" | |
) | |
[8](3) ("parse(terms)" | |
"todo {:prod=>:_TriplesBlock_2, :terms=>[\".\", :_TriplesBlock_3]}, depth 16" | |
) | |
[8](3) ("parse(token)" "accept \".\"") | |
[8](3) ("accept" "\".\" === \".\"") | |
[8](3) ("parse(token)" "token \".\", term \".\"") | |
[8](2) (".(:terminal)" "" | |
".: {:pattern=>[#<RDF::Query::Pattern:0x3f813cf417b0(?class <http://www.w3.org/2002/07/owl#hasKey> ?key .)>]}" | |
) | |
[8](3) ("parse(token)" "accept :_TriplesBlock_3") | |
[9](3) ("parse(push)" "term :_TriplesBlock_3, depth 16") | |
[9](3) ("parse(production)" "token :VAR1, prod :_TriplesBlock_3, depth 16") | |
[9](2) ("_TriplesBlock_3(:start:6)" "\"?key\"(VAR1)") | |
[9](3) ("parse(production)" | |
"token :VAR1 prod :_TriplesBlock_3, prod_branch [\"(\", :ANON, \"BIND\", :BLANK_NODE_LABEL, :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, \"FILTER\", \"GRAPH\", :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, :IRIREF, \"MINUS\", :NIL, \"OPTIONAL\", :PNAME_LN, :PNAME_NS, \"SERVICE\", :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, \"VALUES\", :VAR1, :VAR2, \"[\", \"false\", \"true\", \"{\", \"}\"], sequence [:TriplesBlock]" | |
) | |
[9](3) ("parse(terms)" | |
"todo {:prod=>:_TriplesBlock_3, :terms=>[:TriplesBlock]}, depth 17" ) | |
[9](3) ("parse(token)" "accept :TriplesBlock") | |
[9](3) ("parse(push)" "term :TriplesBlock, depth 17") | |
[9](3) ("parse(production)" "token :VAR1, prod :TriplesBlock, depth 17") | |
[9](2) ("TriplesBlock(:start:7)" "\"?key\"(VAR1)") | |
[9](3) ("parse(production)" | |
"token :VAR1 prod :TriplesBlock, prod_branch [\"(\", :ANON, :BLANK_NODE_LABEL, :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, :IRIREF, :NIL, :PNAME_LN, :PNAME_NS, :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, :VAR1, :VAR2, \"[\", \"false\", \"true\"], sequence [:TriplesSameSubjectPath, :_TriplesBlock_1]" | |
) | |
[9](3) ("parse(terms)" | |
"todo {:prod=>:TriplesBlock, :terms=>[:TriplesSameSubjectPath, :_TriplesBlock_1]}, depth 18" | |
) | |
[9](3) ("parse(token)" "accept :TriplesSameSubjectPath") | |
[9](3) ("parse(push)" "term :TriplesSameSubjectPath, depth 18") | |
[9](3) ("parse(production)" "token :VAR1, prod :TriplesSameSubjectPath, depth 18") | |
[9](2) ("TriplesSameSubjectPath(:start:8)" "\"?key\"(VAR1)") | |
[9](3) ("parse(production)" | |
"token :VAR1 prod :TriplesSameSubjectPath, prod_branch [\"(\", :ANON, :BLANK_NODE_LABEL, :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, :IRIREF, :NIL, :PNAME_LN, :PNAME_NS, :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, :VAR1, :VAR2, \"[\", \"false\", \"true\"], sequence [:_TriplesSameSubjectPath_1]" | |
) | |
[9](3) ("parse(terms)" | |
"todo {:prod=>:TriplesSameSubjectPath, :terms=>[:_TriplesSameSubjectPath_1]}, depth 19" | |
) | |
[9](3) ("parse(token)" "accept :_TriplesSameSubjectPath_1") | |
[9](3) ("parse(push)" "term :_TriplesSameSubjectPath_1, depth 19") | |
[9](3) ("parse(production)" "token :VAR1, prod :_TriplesSameSubjectPath_1, depth 19") | |
[9](2) ("_TriplesSameSubjectPath_1(:start:8)" "\"?key\"(VAR1)") | |
[9](3) ("parse(production)" | |
"token :VAR1 prod :_TriplesSameSubjectPath_1, prod_branch [:ANON, :BLANK_NODE_LABEL, :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, :IRIREF, :NIL, :PNAME_LN, :PNAME_NS, :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, :VAR1, :VAR2, \"false\", \"true\"], sequence [:VarOrTerm, :PropertyListPathNotEmpty]" | |
) | |
[9](3) ("parse(terms)" | |
"todo {:prod=>:_TriplesSameSubjectPath_1, :terms=>[:VarOrTerm, :PropertyListPathNotEmpty]}, depth 20" | |
) | |
[9](3) ("parse(token)" "accept :VarOrTerm") | |
[9](3) ("parse(push)" "term :VarOrTerm, depth 20") | |
[9](3) ("parse(production)" "token :VAR1, prod :VarOrTerm, depth 20") | |
[9](2) ("VarOrTerm(:start:9)" "\"?key\"(VAR1)") | |
[9](3) ("parse(production)" | |
"token :VAR1 prod :VarOrTerm, prod_branch [:ANON, :BLANK_NODE_LABEL, :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, :IRIREF, :NIL, :PNAME_LN, :PNAME_NS, :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, :VAR1, :VAR2, \"false\", \"true\"], sequence [:Var]" | |
) | |
[9](3) ("parse(terms)" "todo {:prod=>:VarOrTerm, :terms=>[:Var]}, depth 21") | |
[9](3) ("parse(token)" "accept :Var") | |
[9](3) ("parse(push)" "term :Var, depth 21") | |
[9](3) ("parse(production)" "token :VAR1, prod :Var, depth 21") | |
[9](2) ("Var(:start:9)" "\"?key\"(VAR1)") | |
[9](3) ("parse(production)" | |
"token :VAR1 prod :Var, prod_branch [:VAR1, :VAR2], sequence [:VAR1]" ) | |
[9](3) ("parse(terms)" "todo {:prod=>:Var, :terms=>[:VAR1]}, depth 22") | |
[9](3) ("parse(token)" "accept :VAR1") | |
[9](3) ("accept" "\"?key\"(VAR1) === :VAR1") | |
[9](3) ("parse(token)" "token \"?key\"(VAR1), term :VAR1") | |
[9](3) ("add_prod_datum(Var)" "[] << #<RDF::Query::Variable:0x3f813cf67438(?key)>") | |
[9](2) ("VAR1(:terminal)" "" | |
":VAR1: {:Var=>[#<RDF::Query::Variable:0x3f813cf67438(?key)>]}" ) | |
[9](3) ("parse(pop)" "todo {:prod=>:Var, :terms=>[]}, depth 22") | |
[9](2) ("Var(:finish):9") | |
[9](3) ("parse(pop)" "todo {:prod=>:VarOrTerm, :terms=>[]}, depth 21") | |
[9](3) ("add_prod_datum(VarOrTerm)" | |
"[] += [#<RDF::Query::Variable:0x3f813cf67438(?key)>]" ) | |
[9](2) ("VarOrTerm(:finish):8" ((VarOrTerm (?key)))) | |
[9](3) ("parse(terms)" | |
"todo {:prod=>:_TriplesSameSubjectPath_1, :terms=>[:PropertyListPathNotEmpty]}, depth 20" | |
) | |
[9](3) ("parse(token)" "accept :PropertyListPathNotEmpty") | |
[9](3) ("parse(push)" "term :PropertyListPathNotEmpty, depth 20") | |
[9](3) ("parse(production)" "token :PNAME_LN, prod :PropertyListPathNotEmpty, depth 20") | |
[9](2) ("PropertyListPathNotEmpty(:start):8" ((VarOrTerm (?key)))) | |
[9](3) ("parse(production)" | |
"token :PNAME_LN prod :PropertyListPathNotEmpty, prod_branch [\"!\", \"(\", :IRIREF, :PNAME_LN, :PNAME_NS, :VAR1, :VAR2, \"^\", \"a\"], sequence [:_PropertyListPathNotEmpty_1, :ObjectListPath, :_PropertyListPathNotEmpty_2]" | |
) | |
[9](3) ("parse(terms)" | |
"todo {:prod=>:PropertyListPathNotEmpty, :terms=>[:_PropertyListPathNotEmpty_1, :ObjectListPath, :_PropertyListPathNotEmpty_2]}, depth 21" | |
) | |
[9](3) ("parse(token)" "accept :_PropertyListPathNotEmpty_1") | |
[9](3) ("parse(push)" "term :_PropertyListPathNotEmpty_1, depth 21") | |
[9](3) ("parse(production)" | |
"token :PNAME_LN, prod :_PropertyListPathNotEmpty_1, depth 21" ) | |
[9](2) ("_PropertyListPathNotEmpty_1(:start:9)" "\"rdf:rest\"(PNAME_LN)") | |
[9](3) ("parse(production)" | |
"token :PNAME_LN prod :_PropertyListPathNotEmpty_1, prod_branch [\"!\", \"(\", :IRIREF, :PNAME_LN, :PNAME_NS, :VAR1, :VAR2, \"^\", \"a\"], sequence [:VerbPath]" | |
) | |
[9](3) ("parse(terms)" | |
"todo {:prod=>:_PropertyListPathNotEmpty_1, :terms=>[:VerbPath]}, depth 22" ) | |
[9](3) ("parse(token)" "accept :VerbPath") | |
[9](3) ("parse(push)" "term :VerbPath, depth 22") | |
[9](3) ("parse(production)" "token :PNAME_LN, prod :VerbPath, depth 22") | |
[9](2) ("VerbPath(:start:10)" "\"rdf:rest\"(PNAME_LN)") | |
[9](3) ("parse(production)" | |
"token :PNAME_LN prod :VerbPath, prod_branch [\"!\", \"(\", :IRIREF, :PNAME_LN, :PNAME_NS, \"^\", \"a\"], sequence [:Path]" | |
) | |
[9](3) ("parse(terms)" "todo {:prod=>:VerbPath, :terms=>[:Path]}, depth 23") | |
[9](3) ("parse(token)" "accept :Path") | |
[9](3) ("parse(push)" "term :Path, depth 23") | |
[9](3) ("parse(production)" "token :PNAME_LN, prod :Path, depth 23") | |
[9](2) ("Path(:start:11)" "\"rdf:rest\"(PNAME_LN)") | |
[9](3) ("parse(production)" | |
"token :PNAME_LN prod :Path, prod_branch [\"!\", \"(\", :IRIREF, :PNAME_LN, :PNAME_NS, \"^\", \"a\"], sequence [:PathAlternative]" | |
) | |
[9](3) ("parse(terms)" "todo {:prod=>:Path, :terms=>[:PathAlternative]}, depth 24") | |
[9](3) ("parse(token)" "accept :PathAlternative") | |
[9](3) ("parse(push)" "term :PathAlternative, depth 24") | |
[9](3) ("parse(production)" "token :PNAME_LN, prod :PathAlternative, depth 24") | |
[9](2) ("PathAlternative(:start:12)" "\"rdf:rest\"(PNAME_LN)") | |
[9](3) ("parse(production)" | |
"token :PNAME_LN prod :PathAlternative, prod_branch [\"!\", \"(\", :IRIREF, :PNAME_LN, :PNAME_NS, \"^\", \"a\"], sequence [:PathSequence, :_PathAlternative_1]" | |
) | |
[9](3) ("parse(terms)" | |
"todo {:prod=>:PathAlternative, :terms=>[:PathSequence, :_PathAlternative_1]}, depth 25" | |
) | |
[9](3) ("parse(token)" "accept :PathSequence") | |
[9](3) ("parse(push)" "term :PathSequence, depth 25") | |
[9](3) ("parse(production)" "token :PNAME_LN, prod :PathSequence, depth 25") | |
[9](2) ("PathSequence(:start:13)" "\"rdf:rest\"(PNAME_LN)") | |
[9](3) ("parse(production)" | |
"token :PNAME_LN prod :PathSequence, prod_branch [\"!\", \"(\", :IRIREF, :PNAME_LN, :PNAME_NS, \"^\", \"a\"], sequence [:PathEltOrInverse, :_PathSequence_1]" | |
) | |
[9](3) ("parse(terms)" | |
"todo {:prod=>:PathSequence, :terms=>[:PathEltOrInverse, :_PathSequence_1]}, depth 26" | |
) | |
[9](3) ("parse(token)" "accept :PathEltOrInverse") | |
[9](3) ("parse(push)" "term :PathEltOrInverse, depth 26") | |
[9](3) ("parse(production)" "token :PNAME_LN, prod :PathEltOrInverse, depth 26") | |
[9](2) ("PathEltOrInverse(:start:14)" "\"rdf:rest\"(PNAME_LN)") | |
[9](3) ("parse(production)" | |
"token :PNAME_LN prod :PathEltOrInverse, prod_branch [\"!\", \"(\", :IRIREF, :PNAME_LN, :PNAME_NS, \"^\", \"a\"], sequence [:PathElt]" | |
) | |
[9](3) ("parse(terms)" "todo {:prod=>:PathEltOrInverse, :terms=>[:PathElt]}, depth 27") | |
[9](3) ("parse(token)" "accept :PathElt") | |
[9](3) ("parse(push)" "term :PathElt, depth 27") | |
[9](3) ("parse(production)" "token :PNAME_LN, prod :PathElt, depth 27") | |
[9](2) ("PathElt(:start:15)" "\"rdf:rest\"(PNAME_LN)") | |
[9](3) ("parse(production)" | |
"token :PNAME_LN prod :PathElt, prod_branch [\"!\", \"(\", :IRIREF, :PNAME_LN, :PNAME_NS, \"a\"], sequence [:PathPrimary, :_PathElt_1]" | |
) | |
[9](3) ("parse(terms)" | |
"todo {:prod=>:PathElt, :terms=>[:PathPrimary, :_PathElt_1]}, depth 28" ) | |
[9](3) ("parse(token)" "accept :PathPrimary") | |
[9](3) ("parse(push)" "term :PathPrimary, depth 28") | |
[9](3) ("parse(production)" "token :PNAME_LN, prod :PathPrimary, depth 28") | |
[9](2) ("PathPrimary(:start:16)" "\"rdf:rest\"(PNAME_LN)") | |
[9](3) ("parse(production)" | |
"token :PNAME_LN prod :PathPrimary, prod_branch [\"!\", \"(\", :IRIREF, :PNAME_LN, :PNAME_NS, \"a\"], sequence [:iri]" | |
) | |
[9](3) ("parse(terms)" "todo {:prod=>:PathPrimary, :terms=>[:iri]}, depth 29") | |
[9](3) ("parse(token)" "accept :iri") | |
[9](3) ("parse(push)" "term :iri, depth 29") | |
[9](3) ("parse(production)" "token :PNAME_LN, prod :iri, depth 29") | |
[9](2) ("iri(:start:16)" "\"rdf:rest\"(PNAME_LN)") | |
[9](3) ("parse(production)" | |
"token :PNAME_LN prod :iri, prod_branch [:IRIREF, :PNAME_LN, :PNAME_NS], sequence [:PrefixedName]" | |
) | |
[9](3) ("parse(terms)" "todo {:prod=>:iri, :terms=>[:PrefixedName]}, depth 30") | |
[9](3) ("parse(token)" "accept :PrefixedName") | |
[9](3) ("parse(push)" "term :PrefixedName, depth 30") | |
[9](3) ("parse(production)" "token :PNAME_LN, prod :PrefixedName, depth 30") | |
[9](2) ("PrefixedName(:start:16)" "\"rdf:rest\"(PNAME_LN)") | |
[9](3) ("parse(production)" | |
"token :PNAME_LN prod :PrefixedName, prod_branch [:PNAME_LN, :PNAME_NS], sequence [:PNAME_LN]" | |
) | |
[9](3) ("parse(terms)" "todo {:prod=>:PrefixedName, :terms=>[:PNAME_LN]}, depth 31") | |
[9](3) ("parse(token)" "accept :PNAME_LN") | |
[9](3) ("accept" "\"rdf:rest\"(PNAME_LN) === :PNAME_LN") | |
[9](3) ("parse(token)" "token \"rdf:rest\"(PNAME_LN), term :PNAME_LN") | |
[9](3) ("ns(\"rdf\"): base: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#', suffix: 'rest'" | |
) | |
[9](2) ("PNAME_LN(:terminal)" "" | |
":PNAME_LN: {:iri=>#<RDF::URI:0x3f813cc077d4 URI:http://www.w3.org/1999/02/22-rdf-syntax-ns#rest>}" | |
) | |
[9](3) ("parse(pop)" "todo {:prod=>:PrefixedName, :terms=>[]}, depth 31") | |
[9](2) ("PrefixedName(:finish):16") | |
[9](3) ("parse(pop)" "todo {:prod=>:iri, :terms=>[]}, depth 30") | |
[9](2) ("iri(:finish):16") | |
[9](3) ("parse(pop)" "todo {:prod=>:PathPrimary, :terms=>[]}, depth 29") | |
[9](2) ("PathPrimary(:finish):15" ((PathPrimary rdf:rest))) | |
[9](3) ("parse(terms)" "todo {:prod=>:PathElt, :terms=>[:_PathElt_1]}, depth 28") | |
[9](3) ("parse(token)" "accept :_PathElt_1") | |
[9](3) ("parse(push)" "term :_PathElt_1, depth 28") | |
[9](3) ("parse(production)" "token \"*\", prod :_PathElt_1, depth 28") | |
[9](2) ("_PathElt_1(:start:15)" "\"*\"") | |
[9](3) ("parse(production)" | |
"token \"*\" prod :_PathElt_1, prod_branch [\"(\", \")\", \"*\", \"+\", \"/\", \"?\", :ANON, :BLANK_NODE_LABEL, :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, :IRIREF, :NIL, :PNAME_LN, :PNAME_NS, :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, :VAR1, :VAR2, \"[\", \"false\", \"true\", \"|\"], sequence [:PathMod]" | |
) | |
[9](3) ("parse(terms)" "todo {:prod=>:_PathElt_1, :terms=>[:PathMod]}, depth 29") | |
[9](3) ("parse(token)" "accept :PathMod") | |
[9](3) ("parse(push)" "term :PathMod, depth 29") | |
[9](3) ("parse(production)" "token \"*\", prod :PathMod, depth 29") | |
[9](2) ("PathMod(:start:15)" "\"*\"") | |
[9](3) ("parse(production)" | |
"token \"*\" prod :PathMod, prod_branch [\"*\", \"+\", \"?\"], sequence [\"*\"]" | |
) | |
[9](3) ("parse(terms)" "todo {:prod=>:PathMod, :terms=>[\"*\"]}, depth 30") | |
[9](3) ("parse(token)" "accept \"*\"") | |
[9](3) ("accept" "\"*\" === \"*\"") | |
[9](3) ("parse(token)" "token \"*\", term \"*\"") | |
[9](3) ("add_prod_datum(MultiplicativeExpression)" "[] << \"*\"") | |
[9](2) ("*(:terminal)" "" | |
"*: {:PathPrimary=>#<RDF::URI:0x3f813cc077d4 URI:http://www.w3.org/1999/02/22-rdf-syntax-ns#rest>, :MultiplicativeExpression=>[\"*\"]}" | |
) | |
[9](3) ("parse(pop)" "todo {:prod=>:PathMod, :terms=>[]}, depth 30") | |
[9](2) ("PathMod(:finish):15") | |
[9](3) ("parse(pop)" "todo {:prod=>:_PathElt_1, :terms=>[]}, depth 29") | |
[9](2) ("_PathElt_1(:finish):15") | |
[9](3) ("parse(pop)" "todo {:prod=>:PathElt, :terms=>[]}, depth 28") | |
[9](2) ("PathElt(:finish):14" ((Path (path* rdf:rest)))) | |
[9](3) ("parse(pop)" "todo {:prod=>:PathEltOrInverse, :terms=>[]}, depth 27") | |
[9](2) ("PathEltOrInverse(:finish):13" ((PathEltOrInverse ((path* rdf:rest))))) | |
[9](3) ("parse(terms)" | |
"todo {:prod=>:PathSequence, :terms=>[:_PathSequence_1]}, depth 26" ) | |
[9](3) ("parse(token)" "accept :_PathSequence_1") | |
[9](3) ("parse(push)" "term :_PathSequence_1, depth 26") | |
[9](3) ("parse(production)" "token \"/\", prod :_PathSequence_1, depth 26") | |
[9](2) ("_PathSequence_1(:start:14)" "\"/\"") | |
[9](3) ("parse(production)" | |
"token \"/\" prod :_PathSequence_1, prod_branch [\"(\", \")\", \"/\", :ANON, :BLANK_NODE_LABEL, :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, :IRIREF, :NIL, :PNAME_LN, :PNAME_NS, :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, :VAR1, :VAR2, \"[\", \"false\", \"true\", \"|\"], sequence [:_PathSequence_3]" | |
) | |
[9](3) ("parse(terms)" | |
"todo {:prod=>:_PathSequence_1, :terms=>[:_PathSequence_3]}, depth 27" ) | |
[9](3) ("parse(token)" "accept :_PathSequence_3") | |
[9](3) ("parse(push)" "term :_PathSequence_3, depth 27") | |
[9](3) ("parse(production)" "token \"/\", prod :_PathSequence_3, depth 27") | |
[9](2) ("_PathSequence_3(:start:14)" "\"/\"") | |
[9](3) ("parse(production)" | |
"token \"/\" prod :_PathSequence_3, prod_branch [\"/\"], sequence [:_PathSequence_2, :_PathSequence_1]" | |
) | |
[9](3) ("parse(terms)" | |
"todo {:prod=>:_PathSequence_3, :terms=>[:_PathSequence_2, :_PathSequence_1]}, depth 28" | |
) | |
[9](3) ("parse(token)" "accept :_PathSequence_2") | |
[9](3) ("parse(push)" "term :_PathSequence_2, depth 28") | |
[9](3) ("parse(production)" "token \"/\", prod :_PathSequence_2, depth 28") | |
[9](2) ("_PathSequence_2(:start:14)" "\"/\"") | |
[9](3) ("parse(production)" | |
"token \"/\" prod :_PathSequence_2, prod_branch [\"/\"], sequence [\"/\", :PathEltOrInverse]" | |
) | |
[9](3) ("parse(terms)" | |
"todo {:prod=>:_PathSequence_2, :terms=>[\"/\", :PathEltOrInverse]}, depth 29" | |
) | |
[9](3) ("parse(token)" "accept \"/\"") | |
[9](3) ("accept" "\"/\" === \"/\"") | |
[9](3) ("parse(token)" "token \"/\", term \"/\"") | |
[9](3) ("add_prod_datum(MultiplicativeExpression)" "[] << \"/\"") | |
[9](2) ("/(:terminal)" "" "/: {:MultiplicativeExpression=>[\"/\"]}") | |
[9](3) ("parse(token)" "accept :PathEltOrInverse") | |
[9](3) ("parse(push)" "term :PathEltOrInverse, depth 29") | |
[9](3) ("parse(production)" "token :PNAME_LN, prod :PathEltOrInverse, depth 29") | |
[9](2) ("PathEltOrInverse(:start:15)" "\"rdf:first\"(PNAME_LN)") | |
[9](3) ("parse(production)" | |
"token :PNAME_LN prod :PathEltOrInverse, prod_branch [\"!\", \"(\", :IRIREF, :PNAME_LN, :PNAME_NS, \"^\", \"a\"], sequence [:PathElt]" | |
) | |
[9](3) ("parse(terms)" "todo {:prod=>:PathEltOrInverse, :terms=>[:PathElt]}, depth 30") | |
[9](3) ("parse(token)" "accept :PathElt") | |
[9](3) ("parse(push)" "term :PathElt, depth 30") | |
[9](3) ("parse(production)" "token :PNAME_LN, prod :PathElt, depth 30") | |
[9](2) ("PathElt(:start:16)" "\"rdf:first\"(PNAME_LN)") | |
[9](3) ("parse(production)" | |
"token :PNAME_LN prod :PathElt, prod_branch [\"!\", \"(\", :IRIREF, :PNAME_LN, :PNAME_NS, \"a\"], sequence [:PathPrimary, :_PathElt_1]" | |
) | |
[9](3) ("parse(terms)" | |
"todo {:prod=>:PathElt, :terms=>[:PathPrimary, :_PathElt_1]}, depth 31" ) | |
[9](3) ("parse(token)" "accept :PathPrimary") | |
[9](3) ("parse(push)" "term :PathPrimary, depth 31") | |
[9](3) ("parse(production)" "token :PNAME_LN, prod :PathPrimary, depth 31") | |
[9](2) ("PathPrimary(:start:17)" "\"rdf:first\"(PNAME_LN)") | |
[9](3) ("parse(production)" | |
"token :PNAME_LN prod :PathPrimary, prod_branch [\"!\", \"(\", :IRIREF, :PNAME_LN, :PNAME_NS, \"a\"], sequence [:iri]" | |
) | |
[9](3) ("parse(terms)" "todo {:prod=>:PathPrimary, :terms=>[:iri]}, depth 32") | |
[9](3) ("parse(token)" "accept :iri") | |
[9](3) ("parse(push)" "term :iri, depth 32") | |
[9](3) ("parse(production)" "token :PNAME_LN, prod :iri, depth 32") | |
[9](2) ("iri(:start:17)" "\"rdf:first\"(PNAME_LN)") | |
[9](3) ("parse(production)" | |
"token :PNAME_LN prod :iri, prod_branch [:IRIREF, :PNAME_LN, :PNAME_NS], sequence [:PrefixedName]" | |
) | |
[9](3) ("parse(terms)" "todo {:prod=>:iri, :terms=>[:PrefixedName]}, depth 33") | |
[9](3) ("parse(token)" "accept :PrefixedName") | |
[9](3) ("parse(push)" "term :PrefixedName, depth 33") | |
[9](3) ("parse(production)" "token :PNAME_LN, prod :PrefixedName, depth 33") | |
[9](2) ("PrefixedName(:start:17)" "\"rdf:first\"(PNAME_LN)") | |
[9](3) ("parse(production)" | |
"token :PNAME_LN prod :PrefixedName, prod_branch [:PNAME_LN, :PNAME_NS], sequence [:PNAME_LN]" | |
) | |
[9](3) ("parse(terms)" "todo {:prod=>:PrefixedName, :terms=>[:PNAME_LN]}, depth 34") | |
[9](3) ("parse(token)" "accept :PNAME_LN") | |
[9](3) ("accept" "\"rdf:first\"(PNAME_LN) === :PNAME_LN") | |
[9](3) ("parse(token)" "token \"rdf:first\"(PNAME_LN), term :PNAME_LN") | |
[9](3) ("ns(\"rdf\"): base: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#', suffix: 'first'" | |
) | |
[9](2) ("PNAME_LN(:terminal)" "" | |
":PNAME_LN: {:iri=>#<RDF::URI:0x3f813c911160 URI:http://www.w3.org/1999/02/22-rdf-syntax-ns#first>}" | |
) | |
[9](3) ("parse(pop)" "todo {:prod=>:PrefixedName, :terms=>[]}, depth 34") | |
[9](2) ("PrefixedName(:finish):17") | |
[9](3) ("parse(pop)" "todo {:prod=>:iri, :terms=>[]}, depth 33") | |
[9](2) ("iri(:finish):17") | |
[9](3) ("parse(pop)" "todo {:prod=>:PathPrimary, :terms=>[]}, depth 32") | |
[9](2) ("PathPrimary(:finish):16" ((PathPrimary rdf:first))) | |
[9](3) ("parse(terms)" "todo {:prod=>:PathElt, :terms=>[:_PathElt_1]}, depth 31") | |
[9](3) ("parse(token)" "accept :_PathElt_1") | |
[9](3) ("parse(token)" "skip optional term :_PathElt_1 on \"?item\"(VAR1)") | |
[9](3) ("parse(pop)" "todo {:prod=>:PathElt, :terms=>[]}, depth 31") | |
[9](2) ("PathElt(:finish):15" ((Path rdf:first))) | |
[9](3) ("parse(pop)" "todo {:prod=>:PathEltOrInverse, :terms=>[]}, depth 30") | |
[9](2) ("PathEltOrInverse(:finish):14" | |
((MultiplicativeExpression ("/")) (PathEltOrInverse (rdf:first)))) | |
[9](3) ("parse(pop)" "todo {:prod=>:_PathSequence_2, :terms=>[]}, depth 29") | |
[9](2) ("_PathSequence_2(:finish):14") | |
[9](3) ("parse(terms)" | |
"todo {:prod=>:_PathSequence_3, :terms=>[:_PathSequence_1]}, depth 28" ) | |
[9](3) ("parse(token)" "accept :_PathSequence_1") | |
[9](3) ("parse(token)" "skip optional term :_PathSequence_1 on \"?item\"(VAR1)") | |
[9](3) ("parse(pop)" "todo {:prod=>:_PathSequence_3, :terms=>[]}, depth 28") | |
[9](2) ("_PathSequence_3(:finish):14") | |
[9](3) ("parse(pop)" "todo {:prod=>:_PathSequence_1, :terms=>[]}, depth 27") | |
[9](2) ("_PathSequence_1(:finish):13" ((PathEltOrInverse ((path* rdf:rest) rdf:first)))) | |
[9](3) ("parse(pop)" "todo {:prod=>:PathSequence, :terms=>[]}, depth 26") | |
[9](2) ("PathSequence(:finish):12" ((PathSequence ((seq (path* rdf:rest) rdf:first))))) | |
[9](3) ("parse(terms)" | |
"todo {:prod=>:PathAlternative, :terms=>[:_PathAlternative_1]}, depth 25" ) | |
[9](3) ("parse(token)" "accept :_PathAlternative_1") | |
[9](3) ("parse(token)" "skip optional term :_PathAlternative_1 on \"?item\"(VAR1)") | |
[9](3) ("parse(pop)" "todo {:prod=>:PathAlternative, :terms=>[]}, depth 25") | |
[9](2) ("PathAlternative(:finish):11" ((Path (seq (path* rdf:rest) rdf:first)))) | |
[9](3) ("parse(pop)" "todo {:prod=>:Path, :terms=>[]}, depth 24") | |
[9](2) ("Path(:finish):10" ((Path (seq (path* rdf:rest) rdf:first)))) | |
[9](3) ("parse(pop)" "todo {:prod=>:VerbPath, :terms=>[]}, depth 23") | |
[9](2) ("VerbPath(:finish):9" ((Subject (?key)) (VerbPath (seq (path* rdf:rest) rdf:first)))) | |
[9](3) ("parse(pop)" "todo {:prod=>:_PropertyListPathNotEmpty_1, :terms=>[]}, depth 22") | |
[9](2) ("_PropertyListPathNotEmpty_1(:finish):9") | |
[9](3) ("parse(terms)" | |
"todo {:prod=>:PropertyListPathNotEmpty, :terms=>[:ObjectListPath, :_PropertyListPathNotEmpty_2]}, depth 21" | |
) | |
[9](3) ("parse(token)" "accept :ObjectListPath") | |
[9](3) ("parse(push)" "term :ObjectListPath, depth 21") | |
[9](3) ("parse(production)" "token :VAR1, prod :ObjectListPath, depth 21") | |
[9](2) ("ObjectListPath(:start):9" ((Subject (?key)) (VerbPath (seq (path* rdf:rest) rdf:first)))) | |
[9](3) ("parse(production)" | |
"token :VAR1 prod :ObjectListPath, prod_branch [\"(\", :ANON, :BLANK_NODE_LABEL, :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, :IRIREF, :NIL, :PNAME_LN, :PNAME_NS, :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, :VAR1, :VAR2, \"[\", \"false\", \"true\"], sequence [:ObjectPath, :_ObjectListPath_1]" | |
) | |
[9](3) ("parse(terms)" | |
"todo {:prod=>:ObjectListPath, :terms=>[:ObjectPath, :_ObjectListPath_1]}, depth 22" | |
) | |
[9](3) ("parse(token)" "accept :ObjectPath") | |
[9](3) ("parse(push)" "term :ObjectPath, depth 22") | |
[9](3) ("parse(production)" "token :VAR1, prod :ObjectPath, depth 22") | |
[9](2) ("ObjectPath(:start:11)" "\"?item\"(VAR1)") | |
[9](3) ("parse(production)" | |
"token :VAR1 prod :ObjectPath, prod_branch [\"(\", :ANON, :BLANK_NODE_LABEL, :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, :IRIREF, :NIL, :PNAME_LN, :PNAME_NS, :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, :VAR1, :VAR2, \"[\", \"false\", \"true\"], sequence [:GraphNodePath]" | |
) | |
[9](3) ("parse(terms)" "todo {:prod=>:ObjectPath, :terms=>[:GraphNodePath]}, depth 23") | |
[9](3) ("parse(token)" "accept :GraphNodePath") | |
[9](3) ("parse(push)" "term :GraphNodePath, depth 23") | |
[9](3) ("parse(production)" "token :VAR1, prod :GraphNodePath, depth 23") | |
[9](2) ("GraphNodePath(:start:12)" "\"?item\"(VAR1)") | |
[9](3) ("parse(production)" | |
"token :VAR1 prod :GraphNodePath, prod_branch [\"(\", :ANON, :BLANK_NODE_LABEL, :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, :IRIREF, :NIL, :PNAME_LN, :PNAME_NS, :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, :VAR1, :VAR2, \"[\", \"false\", \"true\"], sequence [:VarOrTerm]" | |
) | |
[9](3) ("parse(terms)" "todo {:prod=>:GraphNodePath, :terms=>[:VarOrTerm]}, depth 24") | |
[9](3) ("parse(token)" "accept :VarOrTerm") | |
[9](3) ("parse(push)" "term :VarOrTerm, depth 24") | |
[9](3) ("parse(production)" "token :VAR1, prod :VarOrTerm, depth 24") | |
[9](2) ("VarOrTerm(:start:13)" "\"?item\"(VAR1)") | |
[9](3) ("parse(production)" | |
"token :VAR1 prod :VarOrTerm, prod_branch [:ANON, :BLANK_NODE_LABEL, :DECIMAL, :DECIMAL_NEGATIVE, :DECIMAL_POSITIVE, :DOUBLE, :DOUBLE_NEGATIVE, :DOUBLE_POSITIVE, :INTEGER, :INTEGER_NEGATIVE, :INTEGER_POSITIVE, :IRIREF, :NIL, :PNAME_LN, :PNAME_NS, :STRING_LITERAL1, :STRING_LITERAL2, :STRING_LITERAL_LONG1, :STRING_LITERAL_LONG2, :VAR1, :VAR2, \"false\", \"true\"], sequence [:Var]" | |
) | |
[9](3) ("parse(terms)" "todo {:prod=>:VarOrTerm, :terms=>[:Var]}, depth 25") | |
[9](3) ("parse(token)" "accept :Var") | |
[9](3) ("parse(push)" "term :Var, depth 25") | |
[9](3) ("parse(production)" "token :VAR1, prod :Var, depth 25") | |
[9](2) ("Var(:start:13)" "\"?item\"(VAR1)") | |
[9](3) ("parse(production)" | |
"token :VAR1 prod :Var, prod_branch [:VAR1, :VAR2], sequence [:VAR1]" ) | |
[9](3) ("parse(terms)" "todo {:prod=>:Var, :terms=>[:VAR1]}, depth 26") | |
[9](3) ("parse(token)" "accept :VAR1") | |
[9](3) ("accept" "\"?item\"(VAR1) === :VAR1") | |
[9](3) ("parse(token)" "token \"?item\"(VAR1), term :VAR1") | |
[9](3) ("add_prod_datum(Var)" "[] << #<RDF::Query::Variable:0x3f813d79437c(?item)>") | |
[9](2) ("VAR1(:terminal)" "" | |
":VAR1: {:Var=>[#<RDF::Query::Variable:0x3f813d79437c(?item)>]}" ) | |
[9](3) ("parse(pop)" "todo {:prod=>:Var, :terms=>[]}, depth 26") | |
[9](2) ("Var(:finish):13") | |
[9](3) ("parse(pop)" "todo {:prod=>:VarOrTerm, :terms=>[]}, depth 25") | |
[9](3) ("add_prod_datum(VarOrTerm)" | |
"[] += [#<RDF::Query::Variable:0x3f813d79437c(?item)>]" ) | |
[9](2) ("VarOrTerm(:finish):12" ((VarOrTerm (?item)))) | |
[9](3) ("parse(pop)" "todo {:prod=>:GraphNodePath, :terms=>[]}, depth 24") | |
[9](3) ("add_prod_datum(GraphNode)" | |
"[] += [#<RDF::Query::Variable:0x3f813d79437c(?item)>]" ) | |
[9](2) ("GraphNodePath(:finish):11" ((GraphNode (?item)))) | |
[9](3) ("parse(pop)" "todo {:prod=>:ObjectPath, :terms=>[]}, depth 23") | |
[9](3) ("add_prod_datum(path)" | |
"[] << #<SPARQL::Algebra::Operator::Path:0x3f813d5f17f4((?key (seq (path* rdf:rest) rdf:first) ?item))>" | |
) | |
[9](2) ("ObjectPath(:finish):10" | |
( | |
(Subject (?key)) | |
(VerbPath (seq (path* rdf:rest) rdf:first)) | |
(path ((path ?key (seq (path* rdf:rest) rdf:first) ?item)))) ) | |
[9](3) ("parse(terms)" | |
"todo {:prod=>:ObjectListPath, :terms=>[:_ObjectListPath_1]}, depth 22" ) | |
[9](3) ("parse(token)" "accept :_ObjectListPath_1") | |
[9](3) ("parse(token)" "skip optional term :_ObjectListPath_1 on \".\"") | |
[9](3) ("parse(pop)" "todo {:prod=>:ObjectListPath, :terms=>[]}, depth 22") | |
[9](3) ("add_prod_datum(path)" | |
"[] += [#<SPARQL::Algebra::Operator::Path:0x3f813d5f17f4((?key (seq (path* rdf:rest) rdf:first) ?item))>]" | |
) | |
[9](2) ("ObjectListPath(:finish):9" | |
( | |
(Subject (?key)) | |
(VerbPath (seq (path* rdf:rest) rdf:first)) | |
(path ((path ?key (seq (path* rdf:rest) rdf:first) ?item)))) ) | |
[9](3) ("parse(terms)" | |
"todo {:prod=>:PropertyListPathNotEmpty, :terms=>[:_PropertyListPathNotEmpty_2]}, depth 21" | |
) | |
[9](3) ("parse(token)" "accept :_PropertyListPathNotEmpty_2") | |
[9](3) ("parse(token)" "skip optional term :_PropertyListPathNotEmpty_2 on \".\"") | |
[9](3) ("parse(pop)" "todo {:prod=>:PropertyListPathNotEmpty, :terms=>[]}, depth 21") | |
[9](3) ("add_prod_datum(path)" | |
"[] += [#<SPARQL::Algebra::Operator::Path:0x3f813d5f17f4((?key (seq (path* rdf:rest) rdf:first) ?item))>]" | |
) | |
[9](2) ("PropertyListPathNotEmpty(:finish):8" | |
((VarOrTerm (?key)) (path ((path ?key (seq (path* rdf:rest) rdf:first) ?item))))) | |
[9](3) ("parse(pop)" "todo {:prod=>:_TriplesSameSubjectPath_1, :terms=>[]}, depth 20") | |
[9](2) ("_TriplesSameSubjectPath_1(:finish):8") | |
[9](3) ("parse(pop)" "todo {:prod=>:TriplesSameSubjectPath, :terms=>[]}, depth 19") | |
[9](3) ("add_prod_datum(path)" | |
"[] += [#<SPARQL::Algebra::Operator::Path:0x3f813d5f17f4((?key (seq (path* rdf:rest) rdf:first) ?item))>]" | |
) | |
[9](2) ("TriplesSameSubjectPath(:finish):7" | |
((path ((path ?key (seq (path* rdf:rest) rdf:first) ?item))))) | |
[9](3) ("parse(terms)" | |
"todo {:prod=>:TriplesBlock, :terms=>[:_TriplesBlock_1]}, depth 18" ) | |
[9](3) ("parse(token)" "accept :_TriplesBlock_1") | |
[9](3) ("parse(push)" "term :_TriplesBlock_1, depth 18") | |
[9](3) ("parse(production)" "token \".\", prod :_TriplesBlock_1, depth 18") | |
[9](2) ("_TriplesBlock_1(:start:7)" "\".\"") | |
[9](3) ("parse(production)" | |
"token \".\" prod :_TriplesBlock_1, prod_branch [\".\", \"BIND\", \"FILTER\", \"GRAPH\", \"MINUS\", \"OPTIONAL\", \"SERVICE\", \"VALUES\", \"{\", \"}\"], sequence [:_TriplesBlock_2]" | |
) | |
[9](3) ("parse(terms)" | |
"todo {:prod=>:_TriplesBlock_1, :terms=>[:_TriplesBlock_2]}, depth 19" ) | |
[9](3) ("parse(token)" "accept :_TriplesBlock_2") | |
[9](3) ("parse(push)" "term :_TriplesBlock_2, depth 19") | |
[9](3) ("parse(production)" "token \".\", prod :_TriplesBlock_2, depth 19") | |
[9](2) ("_TriplesBlock_2(:start:7)" "\".\"") | |
[9](3) ("parse(production)" | |
"token \".\" prod :_TriplesBlock_2, prod_branch [\".\"], sequence [\".\", :_TriplesBlock_3]" | |
) | |
[9](3) ("parse(terms)" | |
"todo {:prod=>:_TriplesBlock_2, :terms=>[\".\", :_TriplesBlock_3]}, depth 20" | |
) | |
[9](3) ("parse(token)" "accept \".\"") | |
[9](3) ("accept" "\".\" === \".\"") | |
[9](3) ("parse(token)" "token \".\", term \".\"") | |
[9](2) (".(:terminal)" "" | |
".: {:path=>[#<SPARQL::Algebra::Operator::Path:0x3f813d5f17f4((?key (seq (path* rdf:rest) rdf:first) ?item))>]}" | |
) | |
[9](3) ("parse(token)" "accept :_TriplesBlock_3") | |
[10](3) ("parse(token)" "skip optional term :_TriplesBlock_3 on \"}\"") | |
[10](3) ("parse(pop)" "todo {:prod=>:_TriplesBlock_2, :terms=>[]}, depth 20") | |
[10](2) ("_TriplesBlock_2(:finish):7") | |
[10](3) ("parse(pop)" "todo {:prod=>:_TriplesBlock_1, :terms=>[]}, depth 19") | |
[10](2) ("_TriplesBlock_1(:finish):7") | |
[10](3) ("parse(pop)" "todo {:prod=>:TriplesBlock, :terms=>[]}, depth 18") | |
[10](3) ("add_prod_datum(query)" | |
"[] += [#<SPARQL::Algebra::Operator::Path:0x3f813d5f17f4((?key (seq (path* rdf:rest) rdf:first) ?item))>]" | |
) | |
[10](2) ("TriplesBlock(:finish):6" | |
( | |
(pattern ((triple ?class owl:hasKey ?key))) | |
(query ((path ?key (seq (path* rdf:rest) rdf:first) ?item)))) ) | |
[10](3) ("parse(pop)" "todo {:prod=>:_TriplesBlock_3, :terms=>[]}, depth 17") | |
[10](2) ("_TriplesBlock_3(:finish):6") | |
[10](3) ("parse(pop)" "todo {:prod=>:_TriplesBlock_2, :terms=>[]}, depth 16") | |
[10](2) ("_TriplesBlock_2(:finish):6") | |
[10](3) ("parse(pop)" "todo {:prod=>:_TriplesBlock_1, :terms=>[]}, depth 15") | |
[10](2) ("_TriplesBlock_1(:finish):6") | |
[10](3) ("parse(pop)" "todo {:prod=>:TriplesBlock, :terms=>[]}, depth 14") | |
/home/andris/dotfiles/ruby/rbenv/versions/2.2.6/lib/ruby/gems/2.2.0/gems/rdf-2.1.1/lib/rdf/query.rb:404:in `+': undefined method `patterns' for #<SPARQL::Algebra::Operator::Path:0x007f027abe2fe8> (NoMethodError) | |
from /home/andris/dotfiles/ruby/rbenv/versions/2.2.6/lib/ruby/gems/2.2.0/gems/sparql-2.1.0/lib/sparql/grammar/parser11.rb:610:in `block (2 levels) in <class:Parser>' | |
from /home/andris/dotfiles/ruby/rbenv/versions/2.2.6/lib/ruby/gems/2.2.0/gems/sparql-2.1.0/lib/sparql/grammar/parser11.rb:610:in `each' | |
from /home/andris/dotfiles/ruby/rbenv/versions/2.2.6/lib/ruby/gems/2.2.0/gems/sparql-2.1.0/lib/sparql/grammar/parser11.rb:610:in `block in <class:Parser>' | |
from /home/andris/dotfiles/ruby/rbenv/versions/2.2.6/lib/ruby/gems/2.2.0/gems/ebnf-1.1.0/lib/ebnf/ll1/parser.rb:600:in `call' | |
from /home/andris/dotfiles/ruby/rbenv/versions/2.2.6/lib/ruby/gems/2.2.0/gems/ebnf-1.1.0/lib/ebnf/ll1/parser.rb:600:in `block in onFinish' | |
from /home/andris/dotfiles/ruby/rbenv/versions/2.2.6/lib/ruby/gems/2.2.0/gems/ebnf-1.1.0/lib/ebnf/ll1/parser.rb:118:in `block in eval_with_binding' | |
from /home/andris/dotfiles/ruby/rbenv/versions/2.2.6/lib/ruby/gems/2.2.0/gems/ebnf-1.1.0/lib/ebnf/ll1/parser.rb:118:in `instance_eval' | |
from /home/andris/dotfiles/ruby/rbenv/versions/2.2.6/lib/ruby/gems/2.2.0/gems/ebnf-1.1.0/lib/ebnf/ll1/parser.rb:118:in `eval_with_binding' | |
from /home/andris/dotfiles/ruby/rbenv/versions/2.2.6/lib/ruby/gems/2.2.0/gems/ebnf-1.1.0/lib/ebnf/ll1/parser.rb:599:in `onFinish' | |
from /home/andris/dotfiles/ruby/rbenv/versions/2.2.6/lib/ruby/gems/2.2.0/gems/ebnf-1.1.0/lib/ebnf/ll1/parser.rb:402:in `parse' | |
from /home/andris/dotfiles/ruby/rbenv/versions/2.2.6/lib/ruby/gems/2.2.0/gems/sparql-2.1.0/lib/sparql/grammar/parser11.rb:1517:in `parse' | |
from /home/andris/dotfiles/ruby/rbenv/versions/2.2.6/lib/ruby/gems/2.2.0/gems/sparql-2.1.0/lib/sparql.rb:32:in `parse' | |
from main.rb:50:in `all_keys' | |
from main.rb:153:in `run' | |
from main.rb:161:in `<main>' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment