【实验目的】 (1)理解词法分析在编译程序中的作用 (2)加深对有穷自动机模型的理解 (3)掌握词法分析程序的实现方法和技术 【实验内容】 对一个简单语言的子集编制一个一遍扫描的词法分析程序。 【实验要求】 (1)待分析的简单语言的词法 1) 关键字 begin if then while do e ...
分类:
其他好文 时间:
2020-01-04 22:18:55
阅读次数:
118
闭包是指词法表示包括不必计算的变量的函数,闭包函数能够使用函数外定义的变量. 闭包结构有以喜爱盎格比较鲜明的特性: (1)封闭性 外界无法访问闭包内部的数据,如果在比包内声明变量,外界是无法访问的,除非闭包主动向外界提供访问接口. (2)持久性 对于一般函数来说,在调用完毕后,系统会自动注销函数,而 ...
分类:
其他好文 时间:
2019-12-31 10:30:32
阅读次数:
77
第1章 引论 编译程序的基本任务是将源语言程序翻译成等价的目标语言程序 编译过程 包括词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成6个阶段,除此之外还有表格管理以及出错处理。 1. 词法分析 任务:从左到右一个字符一个字符的读入源程序,对构成源程序的字符流进行扫描和分解,从而识 ...
分类:
其他好文 时间:
2019-12-31 10:25:59
阅读次数:
215
JavaScript的作用域 作用域总共有两种模式, 和`动态作用域` 词法作用域是由开发者在写代码时,将变量和块作用域写在哪里而决定的。 动态作用域是运行时确定的。 只有词法作用域,也就是我们说的作用域链,一层一层的嵌套,但 机制很像动态作用域,它也是在运行时决定的。 这段代码,以词法作用域来看会 ...
分类:
编程语言 时间:
2019-12-28 16:03:47
阅读次数:
63
什么闭包? 有权访问另一个函数作用域中的变量的函数。 具体化:外部函数调用之后其变量对象本应该被销毁,但闭包的存在使我们仍然可以访问外部函数的变量对象。 个人理解: 我觉得《你不知道的JavaScript》中对闭包的描述比较确切:当函数可以记住并访问所在的词法作用域时,就产生了闭包,即使函数是在当前 ...
分类:
Web程序 时间:
2019-12-19 23:22:16
阅读次数:
105
v8是一款高效高速的JavaScript引擎,广泛用于前端和后端。本文是个v8的入门级讲解,主要讲解下v8的整个执行流程,从v8的源文件,词法分析,语法分析,抽象语法树,字节码,执行字节码,turbofan优化编译器等各个流程进行大致的讲解,希望给想学习v8的人有个整体的流程认知。
分类:
编程语言 时间:
2019-12-17 09:16:16
阅读次数:
231
函数与对其状态即词法环境(lexical environment)的引用共同构成闭包(closure)。也就是说,闭包可以让你从内部函数访问外部函数作用域。在JavaScript,函数在每次创建时生成闭包。 词法作用域 请看下面的代码: function init() { var name = "M ...
分类:
Web程序 时间:
2019-12-15 20:14:32
阅读次数:
98
箭头函数看上去是匿名函数的一种简写,但实际上,箭头函数和匿名函数有个明显的区别: 箭头函数内部的this是词法作用域,由上下文确定。 箭头函数中的this是在定义函数的时候绑定,而不是在执行函数的时候绑定。 由于this在箭头函数中已经按照词法作用域绑定了,所以,用call()或者apply()、b ...
分类:
其他好文 时间:
2019-12-11 14:41:56
阅读次数:
72
【MySQL架构图】 MySQL简要架构图如下图所示,引擎层以插件方式集成了不同的存储引擎,它们共用Server层对外提供服务。 连接器:用于连接管理,进行身份认证及权限相关的管理。(登录MySQL) 查询缓存区:执行查询语句时,先从缓存区查询。(该功能V8.0之后移除) 分析器:未命中缓存时,对S ...
分类:
数据库 时间:
2019-12-10 17:07:03
阅读次数:
101
一个网站在浏览器端是如何进行渲染的? html本身首先会被渲染成 DOM 树,实际上 html 是最先通过网址请求过来的,请求过来之后,html 本身会由一个字节流转化成一个字符流,浏览器端拿的就是字符流,然后通过词法分析之后,将相应的语法分析成相应的 token ,比如说 header token ...
分类:
Web程序 时间:
2019-12-06 09:44:55
阅读次数:
173