windows antlr4入门demo

1. 环境准备

  • JAVA版本:openjdk version "18.0.2.1" 2022-08-18
  • antlr4 jar下载
  • 本地新建文件夹:D:\file\work\mine\antlr
  • 下载的 antlr4 的 jar 文件放入该目录
  • 提取 jar 中的 org 目录,放到当前目录

    D:\file\work\mine\antlr\org

2. 文件准备

这些文件都放在 D:\file\work\mine\antlr 下

2.1 bat文件

  • antlr4.bat

    java -cp D:\file\work\mine\antlr\antlr-4.12.0-complete.jar org.antlr.v4.Tool %*
  • grun.bat

    java -cp .;D:\file\work\mine\antlr\antlr-4.12.0-complete.jar org.antlr.v4.gui.TestRig %*
  • 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

3. 操作

用 cmd 命令行 cd 到当前目录。
不过我发现一个更好的东西,也是微软出的。新的PowerShell

  • 根据 g4 文件生成 java 代码

    > .\antlr4.bat Hello.g4

    此时在当前目录会生成java文件

  • 编译

    > javac *.java
  • 生成语法tree

    #1 PS D:\file\work\mine\antlr> .\grun.bat Hello r -gui
    #2
    #3 D:\file\work\mine\antlr>java -cp .;D:\file\work\mine\antlr\antlr-4.12.0-complete.jar org.antlr.v4.gui.TestRig Hello r -gui
    #4 hello world
    #5 ^Z

    这里用 # 的形式标记行号,#1 是执行 grun.bat 文件,-gui表示以ui的形式展示语法树(下图)。#3 是输出 grun.bat 执行的全部内容,之后进入待输入状态。此时输入 hello world(对应#4),然后回车,再按 Ctrl + Z,再回车,就会出现下图

windows antlr4入门demo_第1张图片

你可能感兴趣的:(windows antlr4入门demo)