You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
244 lines
3.4 KiB
244 lines
3.4 KiB
Terminals unused in grammar
|
|
|
|
ERROR
|
|
|
|
|
|
Grammar
|
|
|
|
0 $accept: input $end
|
|
|
|
1 input: %empty
|
|
2 | expr
|
|
3 | expr error
|
|
|
|
4 expr: match
|
|
5 | match relation expr
|
|
|
|
6 match: invert ATTRIBUTE '(' args ')'
|
|
7 | invert '(' expr ')'
|
|
|
|
8 args: ATTRIBUTE
|
|
9 | ATTRIBUTE args
|
|
|
|
10 relation: AND
|
|
11 | OR
|
|
|
|
12 invert: %empty
|
|
13 | NOT
|
|
|
|
|
|
Terminals, with rules where they appear
|
|
|
|
$end (0) 0
|
|
'(' (40) 6 7
|
|
')' (41) 6 7
|
|
error (256) 3
|
|
ERROR (258)
|
|
ATTRIBUTE (259) 6 8 9
|
|
AND (260) 10
|
|
OR (261) 11
|
|
NOT (262) 13
|
|
|
|
|
|
Nonterminals, with rules where they appear
|
|
|
|
$accept (10)
|
|
on left: 0
|
|
input (11)
|
|
on left: 1 2 3, on right: 0
|
|
expr (12)
|
|
on left: 4 5, on right: 2 3 5 7
|
|
match (13)
|
|
on left: 6 7, on right: 4 5
|
|
args (14)
|
|
on left: 8 9, on right: 6 9
|
|
relation (15)
|
|
on left: 10 11, on right: 5
|
|
invert (16)
|
|
on left: 12 13, on right: 6 7
|
|
|
|
|
|
State 0
|
|
|
|
0 $accept: . input $end
|
|
|
|
NOT shift, and go to state 1
|
|
|
|
$end reduce using rule 1 (input)
|
|
$default reduce using rule 12 (invert)
|
|
|
|
input go to state 2
|
|
expr go to state 3
|
|
match go to state 4
|
|
invert go to state 5
|
|
|
|
|
|
State 1
|
|
|
|
13 invert: NOT .
|
|
|
|
$default reduce using rule 13 (invert)
|
|
|
|
|
|
State 2
|
|
|
|
0 $accept: input . $end
|
|
|
|
$end shift, and go to state 6
|
|
|
|
|
|
State 3
|
|
|
|
2 input: expr .
|
|
3 | expr . error
|
|
|
|
error shift, and go to state 7
|
|
|
|
$end reduce using rule 2 (input)
|
|
|
|
|
|
State 4
|
|
|
|
4 expr: match .
|
|
5 | match . relation expr
|
|
|
|
AND shift, and go to state 8
|
|
OR shift, and go to state 9
|
|
|
|
$default reduce using rule 4 (expr)
|
|
|
|
relation go to state 10
|
|
|
|
|
|
State 5
|
|
|
|
6 match: invert . ATTRIBUTE '(' args ')'
|
|
7 | invert . '(' expr ')'
|
|
|
|
ATTRIBUTE shift, and go to state 11
|
|
'(' shift, and go to state 12
|
|
|
|
|
|
State 6
|
|
|
|
0 $accept: input $end .
|
|
|
|
$default accept
|
|
|
|
|
|
State 7
|
|
|
|
3 input: expr error .
|
|
|
|
$default reduce using rule 3 (input)
|
|
|
|
|
|
State 8
|
|
|
|
10 relation: AND .
|
|
|
|
$default reduce using rule 10 (relation)
|
|
|
|
|
|
State 9
|
|
|
|
11 relation: OR .
|
|
|
|
$default reduce using rule 11 (relation)
|
|
|
|
|
|
State 10
|
|
|
|
5 expr: match relation . expr
|
|
|
|
NOT shift, and go to state 1
|
|
|
|
$default reduce using rule 12 (invert)
|
|
|
|
expr go to state 13
|
|
match go to state 4
|
|
invert go to state 5
|
|
|
|
|
|
State 11
|
|
|
|
6 match: invert ATTRIBUTE . '(' args ')'
|
|
|
|
'(' shift, and go to state 14
|
|
|
|
|
|
State 12
|
|
|
|
7 match: invert '(' . expr ')'
|
|
|
|
NOT shift, and go to state 1
|
|
|
|
$default reduce using rule 12 (invert)
|
|
|
|
expr go to state 15
|
|
match go to state 4
|
|
invert go to state 5
|
|
|
|
|
|
State 13
|
|
|
|
5 expr: match relation expr .
|
|
|
|
$default reduce using rule 5 (expr)
|
|
|
|
|
|
State 14
|
|
|
|
6 match: invert ATTRIBUTE '(' . args ')'
|
|
|
|
ATTRIBUTE shift, and go to state 16
|
|
|
|
args go to state 17
|
|
|
|
|
|
State 15
|
|
|
|
7 match: invert '(' expr . ')'
|
|
|
|
')' shift, and go to state 18
|
|
|
|
|
|
State 16
|
|
|
|
8 args: ATTRIBUTE .
|
|
9 | ATTRIBUTE . args
|
|
|
|
ATTRIBUTE shift, and go to state 16
|
|
|
|
$default reduce using rule 8 (args)
|
|
|
|
args go to state 19
|
|
|
|
|
|
State 17
|
|
|
|
6 match: invert ATTRIBUTE '(' args . ')'
|
|
|
|
')' shift, and go to state 20
|
|
|
|
|
|
State 18
|
|
|
|
7 match: invert '(' expr ')' .
|
|
|
|
$default reduce using rule 7 (match)
|
|
|
|
|
|
State 19
|
|
|
|
9 args: ATTRIBUTE args .
|
|
|
|
$default reduce using rule 9 (args)
|
|
|
|
|
|
State 20
|
|
|
|
6 match: invert ATTRIBUTE '(' args ')' .
|
|
|
|
$default reduce using rule 6 (match)
|