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 ]

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