Hello, rubyists.

I have finally got around to using, and thus testing, coco/rb and an 
update is available.  For those who are intested, I will be uploading the 
update tonight.

*** What is Coco/rb?

COCO/r is an LL(1) recursive decent scanner-parser.  It uses a attributed 
grammar that is very similar to EBNF.  Lost you yet?  Think of it as lex 
and yacc rolled into one.  COCO/r produces pretty tight code -- it is 
efficient and easy to write good quality parsers.  

coco/rb is a port of the COCO/r to a Ruby environment.  What this means 
is that there is an application (cocorb) that produces sources for a Ruby 
extension.  You compile the grammar, and ta da!, you have the ability to 
parse the Language of your Dreams (assuming that you can express it in 
LL(1), which isn't Ruby).

The Ruby integration is still very rudimentary.  It consists of the 
ability to pass strings from the scanner to Ruby.  For a lot of work, 
this is really all that is needed (it works for me). I am very happy to 
take suggestions ...

I have included in this distribution, as a bonus ;-), the makings of an 
SQL attributed grammar.  This comes courtesy of Mike Reith of Tetzel 
Inscriptions.  This is a much more complicated grammar than the other 
samples.

Please let me know if you have any comments or thoughts on coco/rb.

Kind regards,

-- 
-mark.

----------------------------------------------------
Mark Probert      probertm / NOSPAM_nortelnetworks.com
Nortel Networks   ph.          (613) 768-1082
----------------------------------------------------

All opinions expressed are my own and do not
reflect in any way those of Nortel Networks.