HomeDigital EditionSys-Con RadioSearch Java Cd
Advanced Java AWT Book Reviews/Excerpts Client Server Corba Editorials Embedded Java Enterprise Java IDE's Industry Watch Integration Interviews Java Applet Java & Databases Java & Web Services Java Fundamentals Java Native Interface Java Servlets Java Beans J2ME Libraries .NET Object Orientation Observations/IMHO Product Reviews Scalability & Performance Security Server Side Source Code Straight Talking Swing Threads Using Java with others Wireless XML
 

"JavaCC: The Evolution of New Wave Parser Generation Technology"
Vol. 7, Issue 3, p. 64

	


Listing 1

// 1. Class specification

PARSER_BEGIN(Simple)

public class Simple {

 public static void main(String args[]) throws ParseException {
  Simple parser = new Simple(System.in);
  parser.Input();
 }

}

PARSER_END(Simple)

// 2. Lexical specification

SKIP :
{
 " "
| "\t"
| "\n"
| "\r"
}

TOKEN :
{
 <LBRACE: "{">
| <RBRACE: "}">
}

// 3. Grammar specification

void Input() :
{}
{
 MatchedBraces() <EOF>
}

void MatchedBraces() :
{}
{
 <LBRACE> [ MatchedBraces() ] <RBRACE>
}


Listing 2

// 1. Class specification

PARSER_BEGIN(Simple)

public class Simple {

 public static void main(String args[]) throws ParseException {
  Simple parser = new Simple(System.in);
  parser.Input();
 }

}

PARSER_END(Simple)

// 2. Lexical specification

SKIP :
{
 " "
| "\t"
| "\n"
| "\r"
}

TOKEN :
{
 <LBRACE: "{"> { System.out.println("Lexical action: Encountered LBRACE"); }
| <RBRACE: "}"> { System.out.println("Lexical action: Encountered RBRACE"); }
}

// 3. Grammar specification

void Input() :
{}
{
 MatchedBraces() <EOF>
}

void MatchedBraces() :
{}
{
 <LBRACE> 
 { System.out.println("Parser action: Successfully parsed LBRACE"); }
 [ MatchedBraces() ]
 <RBRACE>
 { System.out.println("Parser action: Successfully parsed RBRACE"); }
}

  
 
 

All Rights Reserved
Copyright ©  2004 SYS-CON Media, Inc.
  E-mail: [email protected]

Java and Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. SYS-CON Publications, Inc. is independent of Sun Microsystems, Inc.