Thread overview | |||||
---|---|---|---|---|---|
|
April 10, 2013 Enhanced LALR(1) Parser Generator for D | ||||
---|---|---|---|---|
| ||||
Attachments: | As an exercise to help me learn D, I've implemented an enhanced version of the LALR(1) parser generator described in Aho, Sethi and Ullman's dragon book. The enhancements include: 1. a built in lexical analyser (where a flex like pattern is required as part of the definition of a token), 2. the ability to resolve reduce/reduce conflicts using predicates attached to grammar rules (inspired by the work of Ganapathi and Fischer in the 80s), and 3. for "literal" tokens the option of using the literal pattern in grammar rules instead of the token name e.g. if you had a token named LESSOREQUAL with the pattern "<=" then you can "<=" in grammar rules instead of LESSOREQUAL. The code for this tool resides in the dunnart repository at GitHub. Unfortunately, at this stage, the documentation is not very good but a small example that illustrates all features is attached. As I said at the start, this was an exercise in learning D so there may be room for improvement in some of the code. Suggestions are welcome. Cheers Peter |
April 10, 2013 Re: Enhanced LALR(1) Parser Generator for D | ||||
---|---|---|---|---|
| ||||
Posted in reply to Peter Williams | I don't see no 'dunnart' on GitHub. Could you please post a plain link ? |
April 10, 2013 Re: Enhanced LALR(1) Parser Generator for D | ||||
---|---|---|---|---|
| ||||
Posted in reply to angel | On Wednesday, 10 April 2013 at 08:41:53 UTC, angel wrote: > I don't see no 'dunnart' on GitHub. > Could you please post a plain link ? https://github.com/pwil3058/dunnart |
Copyright © 1999-2021 by the D Language Foundation