JS淬炼: Syntax Parser

作者: Hackjutsu | 来源:发表于2016-11-20 04:10 被阅读102次

一门语言的执行,大致经历下面这些过程:词法分析 -- 语法分析 -- 语义分析 -- 中间代码生成 -- 优化代码 -- 代码生成。

在Javascript中,Syntax Parser的作用是进行词法分析语法分析

A program that reads your code and determines what it does and if its grammar is valid.

词法分析挨个字符地扫描代码,把关键token识别出来。语法分析利用词法分析的结果建立上下文关系语法树 Abstract Syntax Tree (AST)。一般情况下,我们不会直接和语法树打交道,但会在进行Uglify代码压缩、IDE语法高亮、Babel重编译、关键字匹配和作用域判断时间接涉及到。

var AST = "is Tree";

传统的Javascript引擎直接根据语法树的的结果进行解释执行,导致效率比C/C++较为低下。一些最新的Javascript引擎(如V8),会将部分Javascript代码编译成为目标代码以提高执行效率。

介绍几个Javascript的Syntax Parser

Reference

相关文章

  • JS淬炼: Syntax Parser

    一门语言的执行,大致经历下面这些过程:词法分析 -- 语法分析 -- 语义分析 -- 中间代码生成 -- 优化代码...

  • JS淬炼: Array入门

    Javascript arrays are used to store multiple values in a ...

  • JS淬炼: Array进阶

    在Javascript中,array是一个类数组的object。顾名思义,它能够在一个变量上存储多个值。 数组是值...

  • 精读《syntax-parser 源码》

    1. 引言 syntax-parser 是一个 JS 版语法解析器生成器,具有分词、语法树解析的能力。 通过两个例...

  • “人”变为“人才”的第1步是环境淬炼

    目标的实现离不开环境淬炼和自我淬炼,对绝大多数人而言都是先有环境淬炼才有自我淬炼,因为人都有惰性,《华与华正道》中...

  • 淬炼

    我听到秋风在呜咽 我体内的血在下沉 路一直向前,消失在白杨里 那秋日的白杨,是升腾的火焰 火焰让血疼痛 疼痛分娩着...

  • 淬炼

    前几日写了篇《浆水》,里面提到加浆水引子时的温度选择,妈妈的做法是在水温很烫的时候把引子加进去,我自认为温度太高,...

  • 淬炼

    火鼎淬精金, 果成必有因。 苦缘藏大益, 熬炼我真心。

  • 淬炼

    ——谨以此文向奋战在一线的消防官兵致敬,望平安归来。 在他面前的是漫天的大火,浓烟滚滚,热浪灼面,小型的爆炸还在持...

  • 淬炼

    她如机关枪般的语速辐射出的巨大能量场将我笼罩,我像被绑架在一个封闭缺氧的暗房里呼吸不能,动弹不得。我想象出抗战时...

网友评论

    本文标题:JS淬炼: Syntax Parser

    本文链接:https://www.haomeiwen.com/subject/nlgepttx.html