------ art_2138_9407746.1157812877091 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline On 9/8/06, ara.t.howard / noaa.gov <ara.t.howard / noaa.gov> wrote: > > > this is incomplete, but i made a little finite state machine lib and > dsl. it > even includes tools to vizualize if you have dot installed. it's here > > http://rubyforge.org/projects/codeforpeople/ > http://codeforpeople.org/lib/ruby/ Ugh. This is what sucks about hanging out with all you smart people, you guys have got me thinking about this now. Ara, you're talking about a FSM processor here, but have you thought about augmenting it to handle context-free grammars? Ideally I'd like to be able to define protocols textually, in BNF-like or yacc-like form. And given that text, mechanically generate a state machine that would be restartable so it could be event-driven. And the scanner would be pretty funky too, it would have to be able to generate a token that means "not enough input to scan a complete token, go to sleep now." I've just been in the middle of implementing AMQP the old-fashioned way (by hand) so this is timely. ------ art_2138_9407746.1157812877091--