- 简介
简介
ANTLR是一个有力的用于读,处理,执行,翻译结构化文本或者二进制文件的解析生成器。它被广泛的使用在编译语言,工具和框架中。通过一个语法,ANTLR可以生成一个能够编译和走通编译树的解析(parser)。
-
使用入门
- 安装Java环境。Antlr是使用Java开发的,所以这个是需要的。
到这个地方下载Antlr工具包antlr-4.1-complete.jar。我这里用的是版本4.
- 把包放在/usr/local/lib路径下,并设置alias环境变量.
这里顺便把CLASSPATH环境变量设置,为以后编译用。
export CLASSPATH=.:/usr/local/lib/antlr-4.1-complete.jar:$CLASSPATH
alias antlr4='java -jar /usr/local/lib/antlr-4.1-complete.jar'
alias grun='java org.antlr.v4.runtime.misc.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
- 运行程序antlr4 Hello.g4。生成parser和lexer.
- 编译antlr生成的代码
javac*.java
- 运行程序
$ grun Hello r -tree
hello parrt
^D
(r hello parrt)
(That ^D means EOF on unix; it's ^Z in Windows.) The -tree option prints the parse tree in LISP notation.
结果有下列几种输出(还有未列出):
-tokens prints out the token stream.
-tree prints out the parse tree in LISP form.
-gui displays the parse tree visually in a dialog box.
-psfile.ps generates a visual representation of the parse tree in PostScript and
stores it in file.ps. The parse tree figures in this chapter were generated
with -ps.
-
In Big Picture
-
一些概念
Interpreter:解释执行
Translator:翻译程序,由一种语言翻译为另一种语言
Parser / syntax analyzers:根据语法等识别程序
Syntax:句法
Grammar:语法
Separate stages 分割语句
根据单词读入语句,然后和字典中的单词做对比。
Lexical analysis / simply tokenizing :分词
Lexer:词法分析程序
相关推荐
在这个“antlr4入门例子”中,我们将会探讨如何使用ANTLR4创建一个简单的解析器来处理“hello world”这样的语句。"hello-antlr4"可能是项目或者示例代码的名称,它可能包含以下组件: 1. **ANTLR4 Grammar**:首先...
在《ANTLR入门》中,Terence Parr向读者介绍了ANTLR的基本概念,包括如何定义语法规则、如何生成解析器和词法分析器,以及如何使用生成的解析器进行实际的解析工作。书中的实例和练习帮助初学者快速掌握ANTLR的使用...
标题和描述提到的“ANTLR实现计算器 ANTLR入门”意味着本文档将介绍如何利用ANTLR工具来实现一个简单的计算器。ANTLR(Another Tool for Language Recognition)是一个强大的语法分析器生成器,它能够帮助开发者创建...
这篇"ANTLR 五分钟入门"的博客可能介绍了如何快速上手使用ANTLR。通常,这样的教程会包含以下内容: 1. **ANTLR简介**:简述ANTLR的基本概念,如解析器、词法分析器的作用,以及ANTLR在软件开发中的应用。 2. **...
### ANTLR 入门与编译领域应用 #### 一、引言 ANTLR(ANother Tool for Language Recognition)是一款强大的语法解析工具,主要用于编译原理的学习和实践,特别是词法分析和语法分析方面。它是由Terence Parr教授...
ANTLR 入门介绍小 demo ANTLR(ANother Tool for Language Recognition,另一个语言识别工具)是一种强大的解析器生成器,用于读取、处理、执行或翻译结构化的文本或二进制文件。ANTLR 广泛应用于 DSL(领域特定...
ANTLR入门详细教程定稿.pdf
Antlr入门详解 中国知网论文:ANRLR安装、使用、文法详解
- 使用Antlr的`antlr.Tool`命令,可以将`.g`文法文件转换为Java源代码。生成的文件包括Lexer类(如`L.java`)、Parser类(如`P.java`)以及Token类型文件(如`PTokenTypes.java`和`PTokenTypes.txt`)。 - Token...
"antlr4_getting-started.md" 是ANTLR 4的入门教程,它通常会指导用户如何安装ANTLR、创建语法文件、生成解析器和词法分析器,并如何在Java项目中使用它们。教程可能涵盖如何运行ANTLR工具将语法文件转换为Java源...
ANTLR之"Hello World",是ANTLR的入门。
Antlr入门详细教程.doc 利用ANTLR生成C 描述的分析程序.htm 使用 Antlr 处理文本.htm 使用 Antlr 开发领域语言.htm 强悍的ANTLR Lexer.htm a little madness » Blog Archive » ANTLR By Example Part 1 The ...
ANTLRWorks是ANTLR的一个集成开发环境,特别适合新手入门。你可以通过ANTLRWorks: 1. 创建语法文件:在ANTLRWorks中,你可以直观地定义语法规则,生成相应的词法和解析器代码。 2. 调试语法文件:ANTLRWorks提供了...
描述中提到的“ANTLR 编译器入门范例”表明这个资源是针对新手的教程材料,它包括了超过20个不同的示例,覆盖了大约200个文件。这些样本通常会涵盖ANTLR的基础用法,如定义语法规则、生成解析器、处理输入、构建抽象...
5. **使用ANTLR**:使用ANTLR需要编写语法规则(Grammar)文件,这些文件定义了ANTLR应该识别的语言结构。ANTLR会根据这些规则生成解析器和词法分析器的Java代码,然后这些代码可以集成到用户的项目中,处理特定的...
ANTLR(ANother Tool for Language Recognition)是一个强大的解析器生成器,用于读取、处理、执行或翻译结构化文本或二进制文件。...如果你是初学者,这个入门实例会是一个很好的起点,帮助你掌握ANTLR的精髓。
:warning: 从4.5.0-alpha003版本开始,不再需要用户安装Java运行时才能使用ANTLR 4编译.NET应用程序。但是,安装Java将大大提高代码生成过程的性能。 强烈建议使用此功能,尤其是在将后台代码生成用于IntelliSense...