最近为了凑运费,买了本《深入浅出CoffeeScript》,本来只打算随便翻翻的,不过看了以后发现CoffeeScript还是满有意思的,于是决定好好研究下,这里分享下自己的学习过程。
Install
装之前需要提前装好node和npm(具体怎么装google之吧),node和npm装好后,执行下面的命令,就可以开始体验CoffeeScript了。
1
|
|
Compile
简单的体验下后,对于它把那么灵活的语法转化为比较工整的JS语法有点小好奇,于是把它的源码clone出来,简单的研究了下。
先试着编译它的源码,编译的操作过程如下:
1 2 3 |
|
OK,编译很迅速,大家可以对源码做各种折腾了。
Jison
CoffeeScript的核心是一个编译器,它把符合CoffeeScript语法规则的文件转化为JS语法。而CoffeeScript又是利用Jison实现词法和语法的解析。CoffeeScript将语法规则都写到grammar.js文件里,然后利用Jison生成符合该语法规则的编译器。
只要写个简单的语法规则,就可以实现一个编译器,这东西太高级了,于是开始折腾Jison。它的网站上有很多例子,其中有一个生成计算程序的例子,我把它稍微缩减下,让+做-,-做+。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
|
体验下效果把,当执行7-3时,返回的却是10。
1 2 |
|
再深入的原理,就要涉及编译原理的内容,那个东西偶学得可烂的,以后有时间再研究下把。