mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
* src/LR0.c (new_state): Display `nstates' as the name of the
newly created state. Adjust to initialize first_state and last_state if needed. Be sure to distinguish the initial from the final state. (new_states): Create the itemset of the initial state, and use new_state. * src/closure.c (closure): Now that the initial state has its items properly set, there is no need for a special case when creating `ruleset'. As a result, now the rule 0, reducing to $axiom, is visible in the outputs. Adjust the test suite. * tests/conflicts.at (Solved SR Conflicts) (Unresolved SR Conflicts): Adjust. * tests/regression.at (Web2c Report, Rule Line Numbers): Idem. * tests/conflicts.at (S/R in initial): New.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
# Exercising Bison on conflicts. -*- Autotest -*-
|
||||
# Copyright 2002 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2002 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -19,6 +19,28 @@
|
||||
AT_BANNER([[Conflicts.]])
|
||||
|
||||
|
||||
## ---------------- ##
|
||||
## S/R in initial. ##
|
||||
## ---------------- ##
|
||||
|
||||
# I once hacked Bison in such a way that it lost its reductions on the
|
||||
# initial state (because it was confusing it with the last state). It
|
||||
# took me a while to strip down my failures to this simple case. So
|
||||
# make sure it finds the s/r conflict below.
|
||||
|
||||
AT_SETUP([S/R in initial])
|
||||
|
||||
AT_DATA([[input.y]],
|
||||
[[%expect 1
|
||||
%%
|
||||
exp: e 'e';
|
||||
e: 'e' | /* Nothing. */;
|
||||
]])
|
||||
|
||||
AT_CHECK([bison input.y -o input.c])
|
||||
|
||||
AT_CLEANUP
|
||||
|
||||
## ------------------- ##
|
||||
## %nonassoc and eof. ##
|
||||
## ------------------- ##
|
||||
@@ -143,6 +165,8 @@ exp (6)
|
||||
|
||||
state 0
|
||||
|
||||
$axiom -> . exp $ (rule 0)
|
||||
|
||||
NUM shift, and go to state 1
|
||||
|
||||
exp go to state 2
|
||||
@@ -247,6 +271,8 @@ exp (6)
|
||||
|
||||
state 0
|
||||
|
||||
$axiom -> . exp $ (rule 0)
|
||||
|
||||
NUM shift, and go to state 1
|
||||
|
||||
exp go to state 2
|
||||
|
||||
Reference in New Issue
Block a user