Paddy wrote: > Paul McGuire wrote: > > Back in the mid-90's, Kees Blom generated a set of railroad syntax diagrams > > for Python > > (http://python.project.cwi.nl/search/hypermail/python-1994q3/0286.html). > > This pre-dates any Python awareness on my part, but I'm sure this would have > > been version 1.3 or something. > > > > For those who are not familiar with railroad syntax diagrams, they show a > > grammar's syntax using arrows and blocks, instead of BNF - here's an excerpt > > from the Python grammar, plus "ASCII-art" diagrams - must be viewed in > > non-prop font to be appreciated: > > > > suite: simple_stmt | NEWLINE INDENT stmt+ DEDENT > > > > ----+--> simple_stmt --------------------------------->\ > > | | > > \--> NEWLINE --> INDENT --+--> stmt --+--> DEDENT --+--> > > / | > > \----<-------/ > > > > if_stmt: 'if' test ':' suite ('elif' test ':' suite)* ['else' ':' suite] > > > > > > --> 'if' -> test --> ':' --> suite -->+ > > | > > ------------<-------------------+ > > / > > + > > | ------------<------------------------ > > |/ \ > > + | > > | | > > +-> 'elif' -> test -> ':' --> suite -->/ > > | > > | > > +-> 'else' -> ':' --> suite --> > > | \ > > \---------------->--------------+-------> > > > > > > I was recently contacted by a volunteer in Banda Aceh teaching tsunami > > refugees how to program in Python (new job skills and all that), and he > > asked if there were any updated versions of these diagrams, or if it would > > be difficult to generate them anew. It seems that railroad diagrams are > > nice and unambiguous for his students to use, in the face of verbal language > > barriers. > > > > I have written a pyparsing parser that reads the grammar file that ships > > with Python - the parser is included in the latest release of pyparsing, and > > also online at the pyparsing.wikispaces.com - but I have no graph-generating > > tools to go the next step: generation of the railroad diagrams (in something > > more legible/appealing than ASCII-art!). > > > > Anyone interested in helping complete this last step? > > > > Thanks, > > -- Paul > I googlled and got these: > http://www.informatik.uni-freiburg.de/~thiemann/haskell/ebnf2ps/ > http://www.antlr.org/share/1107033888258/SDG2-1.5.zip > > - Paddy.
And this suite includes a digram generator: http://www.research.philips.com/technologies/syst_softw/elegant/index.html - Pad. -- http://mail.python.org/mailman/listinfo/python-list