OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: [xml-dev] [OT] Java Lexical Analyzer?

[ 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>
> 
>





 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS