|
[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: [OT] Java Lexical Analyzer?
Thanks Dare. I looked (very) briefly at JavaCC. It may in fact be very powerful, but I really like the simplicity of the lex notion of listing regex/action rule pairs, which are then automatically turned into a lexical analyzer. JavaCC doesn't follow this approach (that I can tell). It seems to be more procedural-oriented. I will check out ANTLR. Thanks! /Roger Dare Obasanjo wrote: > > I don't know any Java Lex and Yacc based tools but can point you to more powerful lexer/parser generators > > 1.) ANTLR > > 2.) JavaCC > > I haven't used JavaCC but can attest that ANTLR is quite good [plus it does C# as well]. In fact the SiXDML parser for the Apache Xindice implementation[0] was built using ANTLR. > > [0] http://www.25hoursaday.com/sixdml/demo.html > > -----Original Message----- > From: Roger L. Costello [mailto:costello@m...] > Sent: Fri 8/23/2002 11:32 AM > To: xml-dev@l... > Cc: Costello,Roger L. > Subject: [OT] Java Lexical Analyzer? > > > > Hi Folks, > > [The XML Parser implementors on the list, no doubt, have experience with > LEX and YACCC. Hence, I'll pose my question here.] > > I am just learning LEX so please bear with me if my question seems > cockeyed... > > Can anyone recommend a Java lex tool? > > A lex file is comprised of a series of regular expression/action pairs: > > regex { action } > regex { action } > ... > > Thus, what I mean by a "Java LEX tool" is one that would: > > - allow me to specify the action in Java, and > - the generated lexical analyzer would be in Java > > I have looked at a couple of tools: > > - Bumble-Bee Parser Generator > - JFlex > > I tried unsuccessfully running these tools on the very first example > (below) in the lex & yacc book by Levine and Brown. > > Any suggestions on a Java lex generator would be much appreciated. > /Roger > > Sample lex program > > %{ > /* > * this sample demonstrates (very) simple regonition: > * a verb/not a verb. > */ > > %} > %% > > [\t ]+ /* ignore whitespace */ ; > > is | > am | > are | > were | > was | > be | > being | > been | > do | > does | > did | > will | > would | > should | > can | > could | > has | > have | > had | > go {System.out.println(new String(yytext) + ": is a verb");} > > [a-zA-Z]+ {System.out.println(new String(yytext) + ": is a verb");} > > .|\n {System.out.println(new String(yytext));} > > %% > public static void main(String args[]) { > mylexer lexer = new mylexer(); > } > > } > > > ----------------------------------------------------------------- > The xml-dev list is sponsored by XML.org <http://www.xml.org>, an > initiative of OASIS <http://www.oasis-open.org> > > The list archives are at http://lists.xml.org/archives/xml-dev/ > > To subscribe or unsubscribe from this list use the subscription > manager: <http://lists.xml.org/ob/adm.pl> > >
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|
|||||||||

Cart








