仓库源文站点原文


layout: post comments: true title: 日语编程语言"抚子"-第三版实现初探 description: 对第三版"抚子"语言的源代码进行初步学习. Study the source code of the 3rd version of Japanese programming language Nadesiko. date: 2017-12-22 00:00:00 -0700

categories: 语言设计

前文日语编程语言"抚子" - 第三版特色初探仅对语言的语法进行了初步了解. 之前的语言原型实现尝试(如编程语言试验之Antlr4+JavaScript实现"圈4")之后, 感觉有必要学习"抚子"的实现, 因为它也內建支持在线编程, 应该很有借鉴价值. 开发环境配置

主要参考 kujirahand/nadesiko3.

运行"npm start"后访问"localhost:3000"就有如下开发环境界面:

2017_12_22_抚子运行

它也支持生成基于Electron的可以本地运行的独立程序(在Mac下测试). 运行"npm run electron"后就看到与网络界面相同的程序界面. 感觉这个方式很合理. 之后希望尝试类似途径同时实现在线和本地开发环境.

它也提供一个Atom插件, 安装后(拷贝目录到~/.atom/packages下)在Atom中打开test.nako3测试文件就有语法高亮:

2017_12_22_抚子Atom高亮

另: 运行"npm run test"时, 发现了一个关于时间处理的bug. 将继续跟进; 暂时没有发现断点调试等功能.

源码学习

在/src下, 源码文件不多, 分类如下, 连同基于源码和注释个人整理的简单介绍:

  1. 编译器主程序:
  2. 分析器实现
  3. 插件(功能库)
  4. 其他

时间有限, 以后再对不同模块深入学习.