[
Lists Home |
Date Index |
Thread Index
]
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@mitre.org]
Sent: Fri 8/23/2002 11:32 AM
To: xml-dev@lists.xml.org
Cc: Costello,Roger L.
Subject: [xml-dev] [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>
|