[Mono-list] cslex based parser for mcs

Alan Knowles alan@akbkhome.com
Fri, 13 Dec 2002 18:38:40 +0800


As a few #mono regulars may have been aware, I've been working on a 
cslex based parser as an alternative to the current hand coded parser..

At present, speedwise, it's currently marginally slower (5x mcs compiles 
at 1.8s rather than 1.5) than the hand coded one, although I believe 
theres quite a bit of scope in optimizing the lexer
the lexer is based on this one. by Brad Merril
http://www.cybercom.net/~zbrad/DotNet/Lex/
which in turn is based on Jlex, of which another derivative JFlex is 
also available which is an optimized (re-written) verison of Jlex.

Anyway speed was not really my primary concern, but more the ease of 
which building compilers for other languages based of the mcs code could 
be done. - which this in theory should assist...

So I guess the question is, did you want to put it into the mono cvs 
tree, and have an alternive build option 'make lex-mcs' or something.

I've not really looked at the coding standards for mono, so If you want 
it tidied up for CVS let me know.

the lex code:
http://devel.akbkhome.com/cs_tokenizer.lex.txt

the slightly modified cslex source (to build on mono + allow integer 
returns to work ok)
http://devel.akbkhome.com/cslex.tgz


Regards
Alan

P.S. = Copied to Brad Merrill - if he'd like to comment ..
-- 
Can you help out?
Need Consulting Services or Know of a Job?
http://www.akbkhome.com