4 ms·
I'm glad I went to the university and learned about how to do things like lexing and parsing from my professors. I feel for people who have to substitute their
by kubb 4y ago
I'm glad I went to the university and learned about how to do things like lexing and parsing from my professors. I feel for people who have to substitute their education with blog posts and Rob Pike talks.
Those people wil get things done, but often in a roundabout way, reinventing the wheel multiple times along the way. Meanwhile the fortunate ones, like you, will pick the right tool, apply it, get state of the art results on their first try and move on.
- convolvatron 4y agopersonally I think the literature and academia contain great treasures that are ignored. but your argument that the academy is center of knowledge about the pragmatics of software development falls a bit flat. if you've been around enough you know 'grad student code' when you see it.
- ghusbands 4y agoI also went to university, where they also over-focused on lex and yacc and similar. However, most people who work on parsers where the user or developer experience matters don't use them, because they are quite restrictive and cumbersome and typically don't give nice error messages. Academia doesn't necessarily teach you the most useful way to do things.
- kubb 4y agoWould you painstaikingly handcraft a recursive descent parser because the generator doesn't give you nice error messages?
- ghusbands 4y agoThat's a fairly normal approach, yes [1]. It's not so painstaking. There are parser generators other than lex and yacc that do a better job, but making most generators produce good errors and handle your context-sensitive tokenisation is more effort overall than making an equivalent hand-written parser (be it near-Pratt, PEG, general recursive descent or anything else). [1] https://notes.eatonphil.com/parser-generators-vs-handwritten-parsers-survey-2021.html https://notes.eatonphil.com/parser-generators-vs-handwritten...