summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAkim Demaille <akim.demaille@gmail.com>2020-07-28 07:00:48 +0200
committerAkim Demaille <akim.demaille@gmail.com>2020-07-28 07:45:07 +0200
commit17fdf5eca202c0072166a5a3225899e91e04b028 (patch)
tree705685aa597130beaf4d346da691f5e5482f713f
parent72b3c1a67360488e297fba77d5e367e7162541ae (diff)
downloadbison-17fdf5eca202c0072166a5a3225899e91e04b028.tar.gz
doc: fixes
* doc/bison.texi: Fix spello. Fix missing colors, and factor.
-rw-r--r--doc/bison.texi26
1 files changed, 10 insertions, 16 deletions
diff --git a/doc/bison.texi b/doc/bison.texi
index 8c8580de..1953e9e0 100644
--- a/doc/bison.texi
+++ b/doc/bison.texi
@@ -9887,7 +9887,7 @@ initially developed by Chinawat Isradisaikul and Andrew Myers
@pcite{Isradisaikul 2015}.
As a first example, see the example grammar of @ref{Shift/Reduce}, which
-features on shift/reduce conflict:
+features one shift/reduce conflict:
@c see doc/if-then-else.y
@example
@@ -9901,46 +9901,40 @@ Let's rerun @command{bison} with the option
@option{-Wcex}/@option{-Wcounterexamples}@inlinefmt{info, (the following
output is actually in color)}:
-@ifnottex
@example
if-then-else.y: @dwarning{warning}: 1 shift/reduce conflict [@dwarning{-Wconflicts-sr}]
if-then-else.y: @dwarning{warning}: shift/reduce conflict on token "else" [@dwarning{-Wcounterexamples}]
@group
- Example: @yellow{"if" expr "then"} "if" expr "then" stmt • "else" stmt
+@ifnottex
+ Example: @yellow{"if" expr "then"} @blue{"if" expr "then" stmt} @red{•} @blue{"else" stmt}
Shift derivation
@yellow{if_stmt}
@yellow{↳ "if" expr "then"} @green{stmt}
- @green{↳} @blue{if_stmt}
- @blue{↳ "if" expr "then" stmt} @red{•} @blue{"else" stmt}
+ @green{↳} @blue{if_stmt}
+ @blue{↳ "if" expr "then" stmt} @red{•} @blue{"else" stmt}
Example: @yellow{"if" expr "then"} @blue{"if" expr "then" stmt} @red{•} @yellow{"else" stmt}
Reduce derivation
@yellow{if_stmt}
@yellow{↳ "if" expr "then"} @green{stmt} @yellow{"else" stmt}
- @green{↳} @blue{if_stmt}
- @blue{↳ "if" expr "then" stmt} @red{•}
-@end group
-@end example
+ @green{↳} @blue{if_stmt}
+ @blue{↳ "if" expr "then" stmt} @red{•}
@end ifnottex
@iftex
-@example
-if-then-else.y: @dwarning{warning}: 1 shift/reduce conflict [@dwarning{-Wconflicts-sr}]
-if-then-else.y: @dwarning{warning}: shift/reduce conflict on token "else" [@dwarning{-Wcounterexamples}]
-@group
- Example: @yellow{"if" expr "then"} "if" expr "then" stmt • "else" stmt
+ Example: @yellow{"if" expr "then"} @blue{"if" expr "then" stmt} @red{•} @blue{"else" stmt}
Shift derivation
@yellow{if_stmt}
@yellow{@arrow{} "if" expr "then"} @green{stmt}
@green{@arrow{}} @blue{if_stmt}
- @blue{@arrow{} "if" expr "then" stmt} @red{•} @blue{"else" stmt}
+ @blue{@arrow{} "if" expr "then" stmt} @red{•} @blue{"else" stmt}
Example: @yellow{"if" expr "then"} @blue{"if" expr "then" stmt} @red{•} @yellow{"else" stmt}
Reduce derivation
@yellow{if_stmt}
@yellow{@arrow{} "if" expr "then"} @green{stmt} @yellow{"else" stmt}
@green{@arrow{}} @blue{if_stmt}
@blue{@arrow{} "if" expr "then" stmt} @red{•}
+@end iftex
@end group
@end example
-@end iftex
This shows two different derivations for one single expression. That
demonstrates that the grammar is ambiguous.