前阵子过年,终于得以抽出的一些时间,可以来尝试一些不同的东西。

花了几天查看 Typescript 程式码,改写了个可用繁 / 简中文语法写 JS 的转译器 LingaScript

使用它做了个“中文输进去,程式出得来,开发者发大财”的中文程式影片范例,欢迎大家开心试用。

如何做到的​

微软主导开发的 Typescript 提供了分析 Typescript 语法,并可输出成 Javascript 的转译器 (src/compiler)。更棒的是因为 Visual Studio 的开发工具中整合了 Typescript,而微软为了让 Visual Studio 中的所有编译结果都有本地化语言输出,也在 Typescript 中支援了本地化语言的命令行工具和错误输出。

因此, ‵LingaScript‵ 目前所做的,是让支援的中文语法可分析为对应的 symbol,并预设将命令行工具设成对应的本地化语言。如此一来就可以得到较完整的使用本地化语言的开发体验。

因为看到 CTS 改版不易的问题,我使用自己开发,基于 Google 提供的 diff-match-patch 包装的 file-patch 工具,来对修改后的程式码和 Typescript 源代码做 diff/patch。‵LingaScript‵ 专案中保存了修改后的 compiler 相关档案和 diff 档。透过 patch 的方式更容易相容版本升级时的改动。

其他想法​

‵LingaScript‵ 目前的架构不仅止于能支援繁简中文语法,只要加上对应的关键字档案,也可以很快地支援其他语种,让开发者或讲师得以用熟悉的语言来介绍并执行 Javascript 相容的程式。