Commit a9767a15 authored by POTTIER Francois's avatar POTTIER Francois

Merge branch 'master' of gitlab.inria.fr:fpottier/menhir

parents 9a1c5eec ac0d635b
......@@ -89,3 +89,26 @@ Produire des tables. Voir
Approche de Bison,
http://www.cs.uic.edu/~spopuri/cparser.html
Error recovery:
See my journal at Dec 7, 2015.
"Comparison of Syntactic Error Handling in LR Parsers" (Degano & Priami, 1995)
"Natural and Flexible Error Recovery for Generated Modular Language Environments" (de Jonge et al., 2012)
Error recovery in a GLR parser; indentation-aware.
See also "Natural and Flexible Error Recovery for Generated Parsers",
available as a 2009 technical report
(http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2009-024.pdf).
Philippe Charles's PhD thesis
Burke-Fisher-style error recovery (http://jikes.sourceforge.net/documents/)
"On parsing and condensing substrings of LR languages in linear time" (Heiko Goeman, 2001)
Reportedly fixes mistakes in Bates and Lavie's paper (1994).
Roehrich (1980).
......@@ -799,6 +799,9 @@ module Make (T : TABLE) = struct
if not (T.may_reduce env.current prod) then
invalid_arg "force_reduction: this reduction is not permitted in this state"
else begin
(* We do not expose the start productions to the user, so this cannot be
a start production. Hence, it has a semantic action. *)
assert (not (T.is_start prod));
(* Invoke the semantic action. *)
let stack = T.semantic_action prod env in
(* Perform a goto transition. *)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment