[
Lists Home |
Date Index |
Thread Index
]
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@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>
>
>
|