Utz-Uwe Haus [Tue, 7 Oct 2008 08:11:05 +0000 (7 10:11 +0200)]
Code cleanup againt SBCL, CMUCL and ECL.
This uncovered a CMUCL bug when (safety 3) (debug 3) is set on pegutils.lisp.
Signed-off-by: Utz-Uwe Haus <lisp@uuhaus.de>
Utz-Uwe Haus [Sat, 4 Oct 2008 21:18:54 +0000 (4 23:18 +0200)]
Implement Memoization.
Signed-off-by: Utz-Uwe Haus <lisp@uuhaus.de>
Utz-Uwe Haus [Sat, 4 Oct 2008 20:31:35 +0000 (4 22:31 +0200)]
Add docstrings.
Still needs more work, but basic documentation web page can be generated now.
Signed-off-by: Utz-Uwe Haus <lisp@uuhaus.de>
Utz-Uwe Haus [Sat, 4 Oct 2008 20:30:48 +0000 (4 22:30 +0200)]
Add automatic documentation generation.
Use David Lichteblau's atdoc package.
Signed-off-by: Utz-Uwe Haus <lisp@uuhaus.de>
Utz-Uwe Haus [Fri, 3 Oct 2008 21:48:51 +0000 (3 23:48 +0200)]
Fix PEG grammar and add action support.
Add actions which are not part of the original PEG grammar.
Signed-off-by: Utz-Uwe Haus <lisp@uuhaus.de>
Utz-Uwe Haus [Fri, 3 Oct 2008 21:46:02 +0000 (3 23:46 +0200)]
Action-generating function in bootstrap code fixed.
Now generates action code correctly, but does not generate action names
containing context info anymore.
Utz-Uwe Haus [Thu, 2 Oct 2008 21:32:08 +0000 (2 23:32 +0200)]
Fix handling of Newline and Tab in strings in the bootstrap parser.
Signed-off-by: Utz-Uwe Haus <lisp@uuhaus.de>
Utz-Uwe Haus [Thu, 2 Oct 2008 21:31:24 +0000 (2 23:31 +0200)]
Improve parser progress tracing.
Indented `trying to parse ... found/not found' tree gets printed when
*trace* is non-nil in the generated parser's package, for all rules
of the grammar, but not for built-ins like SEQ, MANY, OPTIONAL. These
increase indent, though.
Signed-off-by: Utz-Uwe Haus <lisp@uuhaus.de>
Utz-Uwe Haus [Thu, 2 Oct 2008 08:52:30 +0000 (2 10:52 +0200)]
Add TODO file
Signed-off-by: Utz-Uwe Haus <lisp@uuhaus.de>
Utz-Uwe Haus [Thu, 2 Oct 2008 08:46:33 +0000 (2 10:46 +0200)]
Package handling improved.
Fix generate-parser-package (still needs more factoring out of
common parts with generate-parser-file)
Use :dst-package keyword everywhere.
Add dst-package argument to generated parse-* functions, because
they need to be told where to put generated symbols at call time.
Signed-off-by: Utz-Uwe Haus <lisp@uuhaus.de>
Utz-Uwe Haus [Thu, 2 Oct 2008 08:43:58 +0000 (2 10:43 +0200)]
Flesh out examples.
Signed-off-by: Utz-Uwe Haus <lisp@uuhaus.de>
Utz-Uwe Haus [Wed, 1 Oct 2008 20:42:12 +0000 (1 22:42 +0200)]
Add example files.
Signed-off-by: Utz-Uwe Haus <lisp@uuhaus.de>
Utz-Uwe Haus [Wed, 1 Oct 2008 20:40:33 +0000 (1 22:40 +0200)]
Clean up library API.
Signed-off-by: Utz-Uwe Haus <lisp@uuhaus.de>
Utz-Uwe Haus [Wed, 1 Oct 2008 19:53:53 +0000 (1 21:53 +0200)]
Fix package use during bootstrap.
All provided parsing code is put into #:OPOSSUM-SYSTEM, the freshly generated
and public code is going to #:OPOSSUM. Users generating their own parsers
will only know the #:OPOSSUM package.
Signed-off-by: Utz-Uwe Haus <lisp@uuhaus.de>
Utz-Uwe Haus [Wed, 1 Oct 2008 17:05:27 +0000 (1 19:05 +0200)]
Clean up parser output.
Signed-off-by: Utz-Uwe Haus <haus@uuhaus.de>
Utz-Uwe Haus [Wed, 1 Oct 2008 17:05:10 +0000 (1 19:05 +0200)]
Update licensing information.
Signed-off-by: Utz-Uwe Haus <haus@uuhaus.de>
Utz-Uwe Haus [Wed, 1 Oct 2008 16:31:48 +0000 (1 18:31 +0200)]
Reduce verbosity of bootstrapping process.
Signed-off-by: Utz-Uwe Haus <haus@uuhaus.de>
Utz-Uwe Haus [Wed, 1 Oct 2008 15:13:22 +0000 (1 17:13 +0200)]
Bootstrapping infrastructure set up.
First (incomplete) code is generated in pegparser.lisp
Signed-off-by: Utz-Uwe Haus <haus@uuhaus.de>
Utz-Uwe Haus [Wed, 24 Sep 2008 15:05:39 +0000 (24 17:05 +0200)]
Initial coding for peg parser implementation.
Utz-Uwe Haus [Wed, 24 Sep 2008 14:34:03 +0000 (24 16:34 +0200)]
PEG grammar for PEG itself from 200 paper as a staring point.
Utz-Uwe Haus [Wed, 24 Sep 2008 14:33:19 +0000 (24 16:33 +0200)]
Initial layout of opossum package.
Utz-Uwe Haus [Wed, 24 Sep 2008 14:32:32 +0000 (24 16:32 +0200)]
Add initial emacs highlighting support for PEG files.