Re: [jflex-users] Dynamic scanner generation
The fast lexer generator for Java
Brought to you by:
lsf37,
steve_rowe
From: Gerwin K. <ger...@ni...> - 2004-12-28 04:29:32
|
Rob, > I want to generate scanners dynamically (i.e. during the run of my > program). My current approach is to let JFlex generate a scanner, > compile the generated scanner and call it via exec(). IMHO, not a very > elegant solution. Not very elegant, but the easiest alternative currently, I suspect. > I could find no help on how to use JFlex more dynamically, e.g. use > the generated DFA directly to parse the input, perhaps using a kind of > closures for the action code. I've had this idea in the back of my mind for quite some time now, but have never gotten around to giving it some serious thought. Most things that are static now could be easily replaced dynamically (DFA tables etc). The only problem I see is associating action code with the dynamic DFA. I've come up with the following alternatives so far: * expect a generic interface for each action (i.e. call a method void action(String,int) with the matched text and action number or something like that) Pro: easy to do Con: not very flexible * use reflection to specify method names for actions at run time Pro: flexible Con: high overhead, probably slow Both alternatives require some hacking in the generator. Cheers, Gerwin |