一、前言 babel在大家的工作中应该没少用,但是为什么它能将ES6转成ES5呢?一个有态度的前端er肯定会想抛开迷雾,看看其中的奥秘。 记得很早前自己有去了解过相关方面的内容,但是时间久远,现在已是很模糊了。在此写点笔记回顾一下。 二、运行原理 抽象语法树(AST) 抽象语法树(abstract ...
分类:
其他好文 时间:
2018-05-08 17:40:36
阅读次数:
736
Lombok介绍:Lombok其实就是取名自龙目岛(PulauLombok),龙目岛是印度尼西亚西努沙登加拉(NusaTenggaraBarat)省岛屿,西隔龙目海峡面对巴厘岛,东隔阿拉斯(Alas)海峡面松巴哇(Sumbawa)岛,北濒爪哇海,南临印度洋。在编程上,Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译
分类:
其他好文 时间:
2018-05-04 10:31:58
阅读次数:
236
PHP7对zend进行了深度的优化,使得PHP7的运行速度大大的提高,比PHP5.0~5.6快了近5倍,同时还降低了php对系统资源的占用 下面说下PHP7比较大的几个变化: 1、抽象语法树:之前的版本,PHP代码在语法解析阶段直接生成了zendVM,使得编译器和执行器耦合在一起,导致修改任意一方都 ...
分类:
Web程序 时间:
2018-04-14 15:16:23
阅读次数:
216
第一部分: 作用域和闭包 一、作用域 1. 作用域:存储并查找变量的规则 2. 源代码在执行之前(编译)会经历三个步骤: 分词/此法分析:将代码字符串分解成有意义的代码块(词法单元) 解析/语法分析:将词法单元流转换成抽象语法树(AST) 代码生成:将抽象语法树转换成可执行代码 3. LHS查询: ...
分类:
编程语言 时间:
2018-03-09 20:23:00
阅读次数:
192
文章:https://juejin.im/post/5a9315e46fb9a0633a711f25 https://github.com/jamiebuilds/babel-handbook/blob/master/translations/zh-Hans/plugin-handbook.md 你 ...
分类:
其他好文 时间:
2018-02-27 17:37:12
阅读次数:
246
Babel是一个javascrpt编译器,能将es6转换为es5代码。并且通过插件的形式可以灵活的扩展。 从根目录读取.babelrc文件中读取配置。.babelrc是一个json文件 配置 plugins babel plugin transform runtime 要和 babel runtim ...
分类:
其他好文 时间:
2018-02-24 23:06:17
阅读次数:
215
编译原理 163 课堂 http://mooc.study.163.com/learn/-1000002001?tid=1000003000#/learn/content?type=detail&id=1000024005&cid=1000019010 静态代码扫描 (一)——PMD 自定义规则入门 ...
分类:
其他好文 时间:
2017-12-27 20:22:14
阅读次数:
170
HLSL 交叉编译器 这个库将 高级着色语言 (HLSL) 着色器源代码编译成高级中间表示法,执行独立于设备的优化,并生成 OpenGL 着色语言 (GLSL) 兼容源代码。这个库在很大程度上基于 Mesa 的 GLSL 编译器。前端已进行大量重新编写,以解析 HLSL 并根据 HLSL 抽象语法树 ...
分类:
其他好文 时间:
2017-12-25 19:39:07
阅读次数:
221
解释器模式(Interpreter Pattern):给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子. 下面是一个解释器模式的demo: 上面类的设计如下图: 当有一个语言需要执行,并且可以将该语言的句子表示为抽象语法树时,可使用解释器模式 作者:An ...
分类:
编程语言 时间:
2017-12-12 21:33:09
阅读次数:
151
参考文章: http://www.cnblogs.com/chenssy/p/3346427.html 定义: 定义语言的文法,并且建立一个解释器来解释该语言中的句子。 uml类图: 模式组成: AbstractExpression: 抽象表达式。声明一个抽象的解释操作,该接口为抽象语法树中所有的节 ...
分类:
其他好文 时间:
2017-12-04 14:58:01
阅读次数:
152