forked from jhunkeler/exyapps
-
Notifications
You must be signed in to change notification settings - Fork 0
An *unofficial* fork of STScI exyapps
License
vglaidler/exyapps
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This is exyapps, a LL(1) parser generator. It is derived from yapps ( http://theory.stanford.edu/~amitp/yapps/ ) by Amit J. Patel <amitp .at. cs.stanford.edu>. He is no longer maintaining yapps, and there seem to be several forks out there, all with varying version numbers. Matthias Urlichs <smurf .at. debian.org> made some patches for Debian; this copy was derived from the Debian distribution, by Mark Sienkiewicz <sienkiew .at. stsci.edu> at the Space Telescope Science Institute. Some of the modifications that changed yapps to exyapps introduced the possibility of a fundmamental incompatibility with existing yapps2-based parsers. This, coupled with the non-linear version numbers of the various forks, prompted me to rename yapps to exyapps. New Features of exyapps relative to yapps -- - The generated parser no longer needs to have exyapps installed at run time. The entire runtime is incorporated into the parser. - You can pass a data object to the parser for it to use as parser-global data. I know the OO way is to subclass the parser object and hope you don't accidentally override anything important, but I find easier to use in a particular application I have in mind. Installing / using exyapps -- python setup.py install cd /your/project exyapps my_grammar.exy it will create a file named my_grammar.py Modifying exyapps -- The exyapps parser is written in exyapps. If you want to modify yapps_grammar.g, use this procedure: - install the current version of exyapps - rm exyapps/grammar.py - make This will re-generate grammar.py, which will be your new parser. You can install it somewhere else to try it. VIM -- To recognize .exy files and treat them as python, put this in .vimrc autocmd BufRead,BufNewFile *.exy set filetype=python This is not exactly an ideal configuration, but it is good enough. What is here? -- Makefile yapps_grammar.g yapps_grammar.g is the source code for exyapps/grammar.py doc latex source for the documentation - this is the original document by Amit Patel; it has not been updated to reflect the exyapps modifications. examples exyapps the exyapps package that gets installed - this is only need to compile the parser; you do not need to install exyapps to run a generated parser. scripts "exyapps" command that compiles a parser into python code. setup.py regular setup.py using distutils test not actual tests, but apparently some interesting input to run through the parser for testing
About
An *unofficial* fork of STScI exyapps
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- Python 91.1%
- GAP 8.6%
- Makefile 0.3%