3 ms·
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 wou
by user51442 11y 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/_LRparser.sml https://github.com/Ravenbrook/mlworks/blob/master/src/parser...