|
|
|
|
|
by user51442
3769 days ago
|
|
Years ago I worked on an SML parser that used LR tables, on errors (ie. with no valid transition) it would try to find a symbol to insert/delete/modify that would allow parsing to continue. It dealt reasonably well with simple errors, though ML syntax is a bit flexible - function application is juxtaposition and it has user-defined infix operators (to deal with them, the parser would resolve reduce-reduce and reduce-shift conflicts dynamically by calling a function at runtime). Code is here, in fact: https://github.com/Ravenbrook/mlworks/blob/master/src/parser... |
|