4 ms·
Cool project! Just wondering why you decided to roll your own parser. Is there a lua parser generator library? I've been working on a source translator, sort o
by lukegru 14y ago
Cool project! Just wondering why you decided to roll your own
parser. Is there a lua parser generator library?
I've been working on a source translator, sort of like coffeescript for VimL [1], and I can't imagine writing the parser myself instead a BNF grammar (but please correct me if I'm wrong, I only took a cursory look at the src)
[1] https://github.com/luke-gru/riml https://github.com/luke-gru/riml
- leafo 14y agoI didn't roll my own parser generator, I used LPeg: http://www.inf.puc-rio.br/~roberto/lpeg/ http://www.inf.puc-rio.br/~roberto/lpeg/ It's a great library, I highly recommend it. I've assembled a few parsers using various tools, and I must say PEGs are my favorite. They are very flexible and performance is comparable. (even CoffeeScript 2.0 is being written with a PEG.) You can check out the guts of the parser here: https://github.com/leafo/moonscript/blob/master/moonscript/parse.lua#L377 https://github.com/leafo/moonscript/blob/master/moonscript/p...
- lukegru 14y agoAh, ok cool. I haven't tried using PEGs and I don't even know the theory behind it, so I'm watching a video [1] by the author of LPEG now, which is quite good. Cheers! [1] http://vimeo.com/1485123 http://vimeo.com/1485123