←back to thread

143 points todsacerdoti | 5 comments | | HN request time: 0.946s | source
1. codr7 ◴[] No.43594897[source]
I didn't make much progress on my own languages until I discovered Forth, always seemed to get stuck and lose motivation in the parser.

Writing the parser is the least interesting part of building a language imo.

replies(2): >>43598678 #>>43601564 #
2. nickpsecurity ◴[] No.43598678[source]
That varies by person. While it may or may not interest, I'll say learning how to write or generate parsers is a useful skill that might keep paying off.

I keep running into situations where I'd like to describe data in a high level. BNF grammars often fit those situations, are more readable than regex's, and could make for nice parsers. One must know how to parse, though. :)

replies(1): >>43636643 #
3. DKordic ◴[] No.43601564[source]
Exactly! "Life After Parsing" [1].

IMHO C Family is a symptom of "low-level" of competence. I often get surprised by superficiality of their arguments. "Sophistry" is a useful concept (in a single word). Ad nauseam?

[1]: http://www.semanticdesigns.com/Products/DMS/LifeAfterParsing...

4. codr7 ◴[] No.43636643[source]
Never found much use for any kind of generator, they don't scale once you want good error reporting/handle weird edge cases etc. It's nice to have a descriptive, succinct syntax though; as opposed to having it spread out over a recursive descent parser.
replies(1): >>43644876 #
5. nickpsecurity ◴[] No.43644876{3}[source]
That's because they often weren't designed to handle such things. Imagine a BNF-style generator extended with constructs for error handling and edge cases. We already have to do specifications of such behaviors. We might as well automatically get good code out of them.

I think that would be helpful.