前言 在之前完成了词法分析之后,得到了Token流,那么接下来就是实现语法分析器来输入Token流得到抽象语法树 (Abstract Syntax Tree,AST) 。但是在完成这个语法分析器不像词法分析器,直接手撸就好了,还是需要一些前置的知识。 这些前置知识在之前的博文都有提起过 "之前的博文 ...
分类:
其他好文 时间:
2019-08-17 10:54:33
阅读次数:
114
1 template里面的元素必须以一个根元素包裹,否则只会显示第一个元素。 2 v-on:事件名 必须小写 3 实例化Vue的data是对象,组件的data是函数返回对象。 4 不要在选项属性或回调上使用箭头函数。 因为箭头函数并没有 this,this 会作为变量一直向上级词法作用域查找,直至找 ...
分类:
其他好文 时间:
2019-08-15 21:12:51
阅读次数:
86
1.什么是闭包? 以我个人的理解,简单来说就是函数套函数 官方的是:闭包是函数和声明该函数的词法环境的组合 2.闭包的作用 (1) 可以读取函数内部的变量 (2) 可以把变量始终保存在内存中 3.闭包的写法 (1) 一个函数(即外部函数)里面包含另一个函数(即内部函数),并且return返回这个内部 ...
分类:
其他好文 时间:
2019-08-10 17:45:41
阅读次数:
99
1.1 编译原理 分词/词法分析(Tokenizing/Lexing) 将由字符组成的字符串分解成(对编程语言来说)有意义的代码块,这些代码块被称为词法单元(token)。 解析/语法分析(Parsing) 这个过程是将词法单元流(数组)转换成一个由元素逐级嵌套所组成的代表了程序语法结构的树。这个树 ...
分类:
编程语言 时间:
2019-08-08 00:09:15
阅读次数:
136
考点:名称的数 △△△ (一)、可数名词的数: 1.可数名词的规则变化 1).一般直接在名词后 + s tree – trees girl – girls 2).特殊结尾的单词,以s, sh, ch, x 结尾 + es inch – inches dish – dishes box – boxes ...
分类:
其他好文 时间:
2019-08-06 01:13:41
阅读次数:
173
闭包最直接的定义:函数可以记住并访问所在的词法作用域时,就产生了 闭包 ,即使这个函数是在当前词法作用域之外执行的。 如下代码: kyle给的一个定义,首先给人的第一感觉就是,这不就是在说作用域的查找规则吗?因为就算一个初学者不懂闭包,依然能理解这种结果,原因很简单,因为 函数是嵌套在 函数中。确切 ...
分类:
其他好文 时间:
2019-07-31 23:51:32
阅读次数:
119
<!doctype html> 编译原理 编译原理概述 1、编译概念: 从高级语言->目标代码的过程(汇编语言or机器码) 2、编译器的结构: 分析部分/前端(front end)->与源语言相关 词法分析>>词法单元流 语法分析>>语法分析树parse tree 语义分析>>语法树 中间代码生成> ...
分类:
其他好文 时间:
2019-07-23 22:33:35
阅读次数:
155
1.概述 PHP(本文所述案例PHP版本均为7.1.3)作为一门动态脚本语言,其在zend虚拟机执行过程为:读入脚本程序字符串,经由词法分析器将其转换为单词符号,接着语法分析器从中发现语法结构后生成抽象语法树,再经静态编译器生成opcode,最后经解释器模拟机器指令来执行每一条opcode。 在上述 ...
分类:
Web程序 时间:
2019-07-23 13:39:54
阅读次数:
119
词法分析 和 语法分析 生成器: 迭代器:python内置的一种节省空间的工具 生成器的本质就是一个迭代器 迭代器和生成器的区别:迭代器python自带的,生成器程序员自己写的 写一个生成器 函数中将return 改成yield就是生成器 return 可以返回值 可以写多个但是只执行一次 yiel ...
分类:
其他好文 时间:
2019-07-19 18:40:00
阅读次数:
97
JavaScript的特点一般都知道的就是解释执行,逐行执行,就是从上到下依次执行。 JavaScript的执行之前,其实还是有一些操作的,只是没有表现出来 JavaScript的执行过程: 1、语法检测 首先是大致查看有没有基本的语法错误。比如说中文、关键字错误等等 2、词法分析(预编译) 3、逐 ...
分类:
编程语言 时间:
2019-07-04 11:14:57
阅读次数:
140