码迷,mamicode.com
首页 > 其他好文 > 详细

词法分析器Antlr

时间:2015-12-05 12:37:06      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:

  一、我们都知道编程语言在执行之前需要先进行编译,这样就可以把代码转换成机器识别的语言,这个过程就是编译。

  那么它是怎么编译的呢?

  Java在JVM虚拟机中进行编译,javascript在Js引擎中编译。 

  编译的过程一般是三个步骤:

    1.分词/词法分析(Tokenizing/Lexing)

  这个过程会将由字符串分解成(对编程语言来说)有意义的代码块,这些代码块被称为词法单元(token)。

    2.解析/语法分析(Parsing)

  这个过程是将词法单元流(数组)转换成一个由元素逐级嵌套所组成的代表程序语法结构的树。这个树被称为抽象语法树。

    3.代码生成

  将AST转换为可执行代码的过程被称为代码生成。这个过程与语言、目标平台等信息相关。

  二、Antlr 是一个基于 Java 开发的功能强大的语言识别工具,Antlr 以其简介的语法和高速的运行效率在这类工具中出类拔萃。

  在 Antlr 中通过解析用户自定义的上下文无关文法,自动生成词法分析器 (Lexer)、语法分析器 (Parser) 和树分析器 (Tree Parser)。

  来源:《你不知道的javascript》、IBM中文社区http://www.ibm.com/developerworks/cn/java/j-lo-antlr/

词法分析器Antlr

标签:

原文地址:http://www.cnblogs.com/sun-rain/p/5021286.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!