aboutsummaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
Diffstat (limited to 'README')
-rw-r--r--README58
1 files changed, 30 insertions, 28 deletions
diff --git a/README b/README
index 1cf78e3..c489de4 100644
--- a/README
+++ b/README
@@ -1,22 +1,29 @@
This is exyapps, a LL(1) parser generator.
-It is derived from yapps ( http://theory.stanford.edu/~amitp/yapps/ )
-by Amit J. Patel <amitp@cs.stanford.edu>. He is no longer maintaining
-it, and there seem to be several forks out there, all with varying
-version numbers. Matthias Urlichs <smurf@debian.org> made some patches
-for Debian; this copy was derived from the Debian distribution by Mark
-Sienkiewicz at the Space Telescope Science Institute. (For email,
-use the first 8 letters of my last name and @stsci.edu)
+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.
-(STScI is a subsidiary of the Association of Universities for Research
-in Astronomy, which is why the copyright to the new code in exyapps
-belongs to AURA.)
+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
@@ -28,6 +35,9 @@ Installing / using exyapps
exyapps my_grammar.exy
+ it will create a file named my_grammar.py
+
+
Modifying exyapps
--
@@ -47,10 +57,13 @@ install it somewhere else to try it.
VIM
--
-Put this in .vimrc
+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?
--
@@ -59,14 +72,16 @@ yapps_grammar.g
yapps_grammar.g is the source code for exyapps/grammar.py
doc
- latex source for the documentation
+ 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 - as of exyapps 3.0,
- this is only need to compile the parser; you do not need to
- install exyapps to run a generated parser.
+ 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.
@@ -78,16 +93,3 @@ test
not actual tests, but apparently some interesting input to
run through the parser for testing
-
-New Features
---
-
-- 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/smash anything
-important, but this is easier to use in a particular application
-I have in mind.
-