《你不知道的JavaScript(上)》——1.1编译原理
来源:互联网 发布:php 身份证号码验证 编辑:程序博客网 时间:2024/05/16 06:48
在传统编译语言的流程中,程序中的一段源代码在执行之前会经历三个步骤。统称为“编译”。
- 分词/词法分析(Tokenizing/Lexing)
例如,var a = 2; 。这段程序通常会被分解成为下面这些词法单元:var、a、=、2、;。空格是否被当做词法单元,取决于空格在这么语言中是否具有意义。(如Python中的代码是以4个空格来进行缩进的,那么空格就会被当作词法单元)
分词(tokenizing)和词法分析(Lexing)之间的主要差异在于词法单元的识别是通过有状态还是无状态的方式进行的。如果词法单元生成器在判断a是一个独立的词法单元还是其他词法单元的一部分时,调用的是有状态的解析规则,这么这个过程就被称为词法分析。反之,如果词法单元生成器在判断a是一个独立的词法单元还是词法单元的一部分时,调用的是无状态的解析规则,那么这个过程就被称为分词。
- 解析/语法分析(Parsing)
- 代码生成
简单来说,JavaScript代码在执行前会先进行编译。
阅读全文
0 0
- 《你不知道的JavaScript(上)》——1.1编译原理
- 你不知道的JavaScript (上)
- 你不知道的JavaScript (上)
- 读书笔记-你不知道的JavaScript(上)
- 你不知道的JavaScript(上)
- 你不知道的javascript(一)
- 你不知道的javascript(二)
- 你不知道的javascript(三)
- 你不知道的javascript(四)
- 你不知道的javascript(六)
- 你不知道的javascript——第1章
- 你不知道的JavaScript——VR
- 《你不知道的javascript(上卷)》——读书笔记
- 你不知道的 Javascript
- 你不知道的 Javascript
- 【你不知道的JavaScript(上)读书笔记】第2章:词法作用域
- 【你不知道的JavaScript(上)读书笔记】第1章:作用域
- JavaScript提升(你不知道的JavaScript)
- 静态块什么情况下执行
- android项目开发遇到的问题以及处理结果
- c程小白<一>
- Html浏览器的兼容性
- JavaScript基础(15.Dom创建标签)
- 《你不知道的JavaScript(上)》——1.1编译原理
- java守护进程启动和关闭脚本
- 当程序员没了互联网,该如何继续学习写代码?
- IDEA Push Failed with error: fatal: Could not read from remote repository
- Python checkio "IP Network: Route Summarization"解决方案
- 数据结构课程总结
- 上传配置
- MAVEN的依赖
- 国学名句