[Baypiggies] Mini languages

Ken Seehart ken at seehart.com
Sun May 7 20:38:10 CEST 2006


I want to implement a simple language translator (a superset of C++), 
but I haven't done anything of this kind since college (a couple decades 
ago).  I would like to use python tools as much as possible.

NICL code -> [C++ preprocessor (gcc)] -> [NICL translator] -> [C++ 
compiler (gcc)] -> object code

The translator needs to be able to parse special non-c++ syntax to 
generate c++, and leave other code intact.

More documentation on my project here:
  
http://www.seehart.com/neuralintegrator.com/documentation/ni_book/defining_cell_types.st

I could almost get by with just a python script using regular 
expressions (my grammar is simple enough), but I need to know a certain 
amount of contextual information. E.g., if I am parsing "cellclass 
mycell { ... }", the contents between the braces must be processed 
accordingly.  This means I have to know when I reach the closing brace 
(which I can't do with regular expressions).  However, I'm sure I could 
do a prototype this way, using the assumption that the a closing brace 
on a class matches "^};", but that would be just plain sloppy :-)

So I think one way or another I'm stuck with implementing an LALR parser.

I'm wondering if there is anyone in this community with experience doing 
this kind of thing.

- Ken Seehart

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.python.org/pipermail/baypiggies/attachments/20060507/247fdf2c/attachment.html 


More information about the Baypiggies mailing list