||INPUT ||CHAIN ||LISTS ||TABLE1 1 symbol 2 num 3 '? 4 '| 5 "::=" 6 'C 7 "||TABLE1" 8 "||TABLE2" 9 "||TABLE3" 10 "||TABLE4" 11 "||INPUT" 12 "||CHAIN" 13 "||LISTS" 14 "||PRINTLR" 15 "||PRINTLALR" 16 "||FIRST" 17 "||IDS" 18 "GOAL" 19 eof ||TABLE2 20 grammar 21 head 22 ruleset 23 directives 24 terminals 25 nonterminals 26 aliases 27 directive 28 discard 29 rulegroup 30 prefix 31 goalrule ||TABLE3 symbol tokenID num tokenNUM '? tokenQUERY "||TABLE3" tokenTAB3 "||TABLE4" tokenTAB4 '? InitialSymbol ||TABLE4 GOAL ::= grammar eof 1 0 grammar ::= '? head ruleset 2 1 head ::= directives terminals nonterminals "||TABLE4" 3 1 | directives terminals nonterminals aliases "||TABLE4" 4 2 directives ::= 5 28 | directives directive 6 3 directive ::= "||INPUT" 7 4 | "||CHAIN" 8 5 | "||LISTS" 9 6 | "||PRINTLR" 10 7 | "||PRINTLALR" 11 8 | "||FIRST" 12 9 | "||IDS" 13 10 terminals ::= "||TABLE1" 14 11 | terminals discard symbol 15 11 nonterminals ::= nonterminals discard symbol 16 12 | "||TABLE2" 17 13 aliases ::= "||TABLE3" 18 14 | aliases symbol symbol 19 15 discard ::= 20 28 | num 21 28 | '? 22 16 rulegroup ::= symbol "::=" 23 17 | prefix symbol "::=" 24 18 | rulegroup symbol "::=" 25 19 | rulegroup prefix symbol "::=" 26 20 | rulegroup '| 27 21 | rulegroup prefix '| 28 22 | rulegroup symbol 29 23 prefix ::= num 30 24 | num num 31 24 | '? num 32 25 | discard 'C 33 26 | discard 'C num 34 27 | '? 35 C 28 ruleset ::= rulegroup 36 28 | goalrule rulegroup 37 28 goalrule ::= "GOAL" "::=" symbol symbol