|
|
|
|
|
by invalidOrTaken
3788 days ago
|
|
This is great! I'm one of those self-taught programmers who holds two truths in his head at once: 1) I can learn anything I need to when the need comes up 2) With the exceptions of PLT and complexity, there are a lot of things (network protocols, compression, crypto, formal languages) that have not come up yet! So I'm glad to see a survey of these subjects. Formal languages in particular I've felt the hole. |
|
While the section on grammars is yet to be written, what's there is still one of the less practically useful parts of language theory. It's nice to know how to direct-encode a regex matcher as an FSA using the program counter as the implicit state register, but it's exceedingly rare that you need that level of performance. And that's pretty much the only time you really need to know the fine details of regular language <-> FSA.
However, quite apart from working as a compiler engineer for 7 years or so, I've found formal languages come up quite a bit. Not necessarily regular languages, but ad-hoc languages and parsing issues are very common if you do much work involving data from third parties. I continually build ASTs and AST-like things to solve everything from client-side routing + module systems to ad-hoc query UIs.