Miscellaneous¶
This page is mainly a grab-bag of interesting links which have given me some of the ideas behind pym.
Other stuff I have read¶
- In Invertible Syntax Descriptions: Unifying Parsing and Pretty Printing (pdf) Tillmann Rendel & Klaus Ostermann propose a method for writing parsers such that pretty printers can be written in the same manner. I do not have enough knowledge of their academic context to appreciate it; but the idea of “invertible syntax” descriptions strikes a chord. It does seem reasonable that if one can parse from “A” into “B”, then one should be able to render from “B” to “A”.
- LL and LR in Context: Why Parsing Tools Are Hard introduced me to the notion of undecidably ambiguous grammars and the common strategies for getting around them.
- Martin Fowler distinguishes between Concrete and Abstract syntax trees when discussing language workbenches.
- Laurence Tratt rememebers that SDEs are Syntax directed editing tools and that when seasoned programmers were asked to use SDE tools, they revolted against the huge decline in their productivity, but that does not discouarge him from introducing Eco, an editor for language composition. (I liked /u/chrisdoner’s contribution to the reddit discussion).
Other stuff I need to read¶
- C parser and AST generator written in Python: pycparser.
- PyPlus.
- CodeTalker.
- Reddit always has much to say, so /r/parsing will too.
- Python uses Zephyr Abstract Syntax Description Language to specify ASTs.
- Allen Shorts’ parsley uses TermL to specify ASTs.
- Python uses SPARK, which is a Scanning, Parsing, and Rewriting Kit.
- There is a version of Ometa in Javascript.
- Static Modification of Python With Python: The AST Module.
- Sounds like fun: Coding in a debugger.
- Ira Baxter often turns up on forums I read, usually claiming that this is going to be harder than I think. He may have a point! (Alternatively, as an actress asked: Have you ever noticed how “What the hell!” is always the right decision to make?)
- Recognition can be harder than parsing.
- KOD has an interesting approach to text syntax trees (TST).
- The Program Transformation Wiki.
- The AST Tool Box looks like it is under active development