This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Lang package for guile



Hi,

One of guile's main selling points is supposed to be that it can
handle many languages.  Unfortunately, nobody was using the language
support, so it bitrotted away.

I have removed the bitrot, chiefly due to the change in (eq? #f '()).
I also moved the code to a more appropriate (IMHO) module.  It's
unfortunately not convenient to install yet, as (a) I am a dunce with
automake and (b) I don't know where dyn-linked shared modules
should go.  I have uploaded the tar file to
ftp.red-bean.com/pub/guile/contrib/incoming/guile-lang-allover.tar.gz

So, what does it do?  It includes a fancier regular expression package
(lang rx), a lexer (lang lex), a parser (lang lr1), and a new
language, CTAX.  This language is implemented by having a custom read
function, ctax-read, which returns lists which can be evaled to
execute the code. 

The package also includes modified versions of two files from
guile-core which fix bugs in my version (19980424) of the
distribution.  If they have not yet been fixed, could I ask the
maintainers to please do so?  I can send patches if that would be
better.

If anyone is interested in this package, I would be willing to fix it
up to the point where ./configure && make will work. 

More language work would be nice, including:
* Save precomputed parse tables saving about 15 minutes (!) every time
I run ctax on my 386
* Produce CTAX- which doesn't require a semicolon after every command
* Write translators for real languages (MATLAB, TCL, elisp, GDB...)

Enjoy...

Andrew
aarchiba@undergrad.math.uwaterloo.ca