Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

antlr学习

wnh5 edited this page Jun 15, 2017 · 3 revisions

http://www.antlr.org/download.html https://www.ibm.com/developerworks/cn/java/j-lo-antlr/ https://github.com/antlr/antlr4/blob/4.6/doc/index.md http://blog.csdn.net/dc_726/article/details/45399371 --一定要CLASSPATH设置,下面的调用不需要设置cp,否则会出现"Can’t load Hello as lexer or parser" SET CLASSPATH=.;D:/study/antlr/antlr-4.7-complete.jar;%CLASSPATH% doskey antlr4=java org.antlr.v4.Tool $* doskey grun =java org.antlr.v4.gui.TestRig $* cd D:/study/antlr/hello
` -----------------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 -----------------Hello.g4---------------------- ` java org.antlr.v4.Tool Hello.g4 javac Hello*.java --ctrol+z之后回车,第一个参数是grammar Hello ,第二个参数rule名 java org.antlr.v4.gui.TestRig Hello r -tree java org.antlr.v4.gui.TestRig Hello r -gui

cd D:/study/antlr/expr java org.antlr.v4.Tool Expr.g4 javac Expr*.java java org.antlr.v4.gui.TestRig Expr prog -tree java org.antlr.v4.gui.TestRig Expr prog -gui java org.antlr.v4.gui.TestRig Expr multExpr -gui

Antlr 的抽象语法树语法--语法和处理
` ------------------------------Count----------------------------- grammar Count;

@header { package foo; }

@members { int count = 0; }

list @after {System.out.println(count+" ints");} : INT {count++;} (',' INT {count++;} )* ;

INT : [0-9]+ ; WS : [ \r\t\n]+ -> skip ; ------------------------------Count----------------------------- ` cd D:\study\antlr\countint java org.antlr.v4.Tool Count.g4 javac Count*.java rm -fr foo mkdir foo mv *.class foo/ --ctrl+z 结束输入 java org.antlr.v4.gui.TestRig foo.Count list java org.antlr.v4.gui.TestRig foo.Count list -tree java org.antlr.v4.gui.TestRig foo.Count list -gui

Clone this wiki locally

AltStyle によって変換されたページ (->オリジナル) /