AT_SETUP([Rule Line Numbers])
+AT_KEYWORDS([report])
+
AT_DATA([input.y],
[[%%
expr:
AT_CHECK([cat input.output], [],
[[Grammar
- Number, Line, Rule
- 0 5 $axiom -> expr $
- 1 5 @1 -> /* empty */
- 2 2 expr -> 'a' @1 'b'
- 3 18 @2 -> /* empty */
- 4 15 expr -> @2 'c'
+ 0 $axiom: expr $
+
+ 1 @1: /* empty */
+
+ 2 expr: 'a' @1 'b'
+
+ 3 @2: /* empty */
+
+ 4 expr: @2 'c'
Terminals, with rules where they appear
input.y:6.2: invalid character: `-'
input.y:7.1-8.0: unexpected end of file in a prologue
input.y:7.1-8.0: parse error, unexpected PROLOGUE, expecting ";" or "|"
-input.y:8: symbol a is used, but is not defined as a token and has no rules
+input.y:5.2: symbol a is used, but is not defined as a token and has no rules
]])
AT_CLEANUP
AT_SETUP([Web2c Report])
+AT_KEYWORDS([report])
+
AT_DATA([input.y],
[[%token undef_id_tok const_id_tok
AT_CHECK([sed -n 's/ *$//;/^$/!p' input.output], 0,
[[Grammar
- Number, Line, Rule
- 0 6 $axiom -> CONST_DEC_PART $
- 1 6 CONST_DEC_PART -> CONST_DEC_LIST
- 2 10 CONST_DEC_LIST -> CONST_DEC
- 3 12 CONST_DEC_LIST -> CONST_DEC_LIST CONST_DEC
- 4 16 @1 -> /* empty */
- 5 15 CONST_DEC -> @1 undef_id_tok '=' const_id_tok ';'
+ 0 $axiom: CONST_DEC_PART $
+ 1 CONST_DEC_PART: CONST_DEC_LIST
+ 2 CONST_DEC_LIST: CONST_DEC
+ 3 | CONST_DEC_LIST CONST_DEC
+ 4 @1: /* empty */
+ 5 CONST_DEC: @1 undef_id_tok '=' const_id_tok ';'
Terminals, with rules where they appear
$ (0) 0
';' (59) 5
AT_SETUP([Web2c Actions])
+AT_KEYWORDS([report])
+
AT_DATA([input.y],
[[%%
statement: struct_stat;