Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

"Error messages" is the usual argument I hear. The article does not address this. I would appreciate an article, why parser generators can or cannot provide error messages on par with handwritten parsers.


Good point. I have heard this too and I don't have a deep answer to this question. Maybe someday I'll get to the bottom of it and write a follow-up article. (Article author here).


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...


Here's one that might interest you.

Generating Good Syntax Errors http://research.swtch.com/yyerror




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: