Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (102)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (322)
Collections:
Other Resources:
ANTLR "Hello" Grammar File and Test
How to create a simple "Hello" grammar file and test it with ANTLR?
✍: FYIcenter
There 4 steps you need to follow to create "Hello" grammar file and test it:
1. Create grammar file, Hello.g4:
// Define a grammar called Hello grammar Hello; r : 'hello' ID ; // match keyword hello followed by an identifier ID : [a-z]+ ; // match lower-case identifiers WS : [ \t\r\n]+ -> skip ; // skip spaces, tabs, newlines
2. Generate the lexer and parser in Java:
\fyicenter>java -cp antlr-4.10.1-complete.jar org.antlr.v4.Tool Hello.g4
\fyicenter>dir
249 Hello.interp
27 Hello.tokens
1305 HelloBaseListener.java
990 HelloLexer.interp
4419 HelloLexer.java
27 HelloLexer.tokens
537 HelloListener.java
4004 HelloParser.java
3. Compile the lexer, parser and supporting Java classes
\fyicenter>javac -cp .;antlr-4.10.1-complete.jar Hello*.java
\fyicenter>dir *.class
794 HelloBaseListener.class
3794 HelloLexer.class
304 HelloListener.class
888 HelloParser$RContext.class
4391 HelloParser.class
4. Testing the lexer and parser with ANTLR TestRig:
\fyicenter>java -cp .;antlr-4.10.1-complete.jar org.antlr.v4.gui.TestRig Hello r -tree hello you ^Z (r hello you)
The above output shows that the Hello lexer and parser is working:
⇒ ANTLR "Hello" Lexer and Parser Error
2020-12-02, ∼7985🔥, 0💬
Popular Posts:
jTDS JDBC Driver Source Code Files are provided in the source package file, jtds-1.3.1-fyi.zip. You ...
The Java Naming and Directory Interface (JNDI) is part of the Java platform, providing applications ...
JDK 11 java.sql.jmod is the JMOD file for JDK 11 SQL (Structured Query Language) module. JDK 11 SQL ...
maven-compat-3.8.6.jar is the JAR file for Apache Maven 3.8.6 Compact module. The JAR file name may ...
Apache BCEL Source Code Files are inside the Apache BCEL source package file like bcel-6.6.1-src.zip...