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/

  • 相关阅读:
    热修复之类加载机制总结
    socket之tcp如何维护长连接
    sqlite之多线程处理
    android主线程ActivityThread-转载
    线程之ThreadLocal使用
    图片之压缩总结
    线程之交替执行的实例
    git的最常用命令总结
    sqlite之常见的语句
    activity之分析-3分钟看懂Activity启动流程
  • 原文地址:https://www.cnblogs.com/sun-rain/p/5021286.html
Copyright © 2011-2022 走看看