zoukankan      html  css  js  c++  java
  • 词法分析器Antlr

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

      那么它是怎么编译的呢?

      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/

  • 相关阅读:
    work two year[转]
    知名技术博客内容聚合网站
    VS2010注册码
    某公司的一个题面试题(wfcfan)
    asp.net控件开发基础系列
    .NET (C#) Internals: Delegates1
    可空类型细微见真知!
    C#中操作XML Node节点细节操作
    sql server数据库性能的优化
    字符串精确匹配算法改进的探讨
  • 原文地址:https://www.cnblogs.com/sun-rain/p/5021286.html
Copyright © 2011-2022 走看看