TraceurJavascript 编译器
Traceur 是一个来自 Google 的 Javascript 编译器,通过它可以体验一些很新并且有趣的 Javascript 语言特性,这些多数是还没有被当前浏览器实现的 ECMAScript 标准或草案,比如:数组比较、类、模块、迭代器、方法参数默认值、Promise等。
以下是几个例子:
数组比较(Array Comprehension):
var array = [for (x of [0, 1, 2]) for (y of [0, 1, 2]) x + '' + y]; expect(array).to.be.eql([ '00', '01', '02', '10', '11', '12', '20', '21', '22' ]);
更精简的函数定义语法(Arrow Functions):
var square = (x) => { return x * x; }; var square2 = x => x * x; var objectify = x => ({ value: x }); // Immediate return of an object literal must be wrapped in parentheses expect(square(4)).to.be.eql(16); expect(square2(4)).to.be.eql(16); expect(objectify(1)).to.be.eql({ value: 1 });
Promises:
function timeout(ms) { return new Promise((resolve) => { setTimeout(resolve, ms); }); } timeout(100).then(() => { console.log('done'); });
更详细的语言特性列表,请参考:https://github.com/google/traceur-compiler/wiki/LanguageFeatures
评论
wieldylccC编译器 c++编译器
用c++重构了lcc源代码,去掉了lcc中支持多种处理器的模式,仅支持x86一种。项目目标是编译器的源代码是易于理解的,编译出的asm文件也是易于理解的。目前项目状态是完成了lcc源代码向c++的改造
wieldylccC编译器 c++编译器
0
langcc新一代的编译器编译器
langcc是一个工具,它以标准BNF风格的格式获取语言的形式化描述,并自动生成一个编译器前端,包括语言的抽象语法树(AST)和遍历的数据结构定义、一个词典、一个解析器和一个pretty-printe
langcc新一代的编译器编译器
0