>>> I wish something like this existed for streaming expressions. I'm not sure what you mean by 'streaming expressions' but yacc/bison and lex/flex can be applied to bytes coming from any stream and hitch syntax and semantic actions onto anything they recognize. There is, naturally, the proviso that they have to wait for things they recognize and, depending on your grammar, be able to look ahead which may entail waiting for the next thing they recognize. For more details, check out the flex and bison docs at gnu.org. I might add that they can handle a much richer set of grammars than javacc and turn out a more complete parser.
As always, your mileage may vary. Cheers, Scott
