仓库源文

https://zhuanlan.zhihu.com/p/2006523229934733190

续前文,当前可运行累加例程,目标基本达成:

和 = 0
数 = 1
while 4 > 数 {
  和 = 和 + 数
  数 = 数 + 1
}
print(和)

Python约300行,其中词语法分析部分约240行。共19个提交跨度约十五天。

相比六年前,从四月12到五月18,约六七十个提交。再画一次鸡蛋会熟练得多。

这次开发中碰到 rply定制版 的几个难以阅读的反馈信息,作了改进。顺便复习了一点其实现细节,为下一步作准备。

算法语言

对照上述例程,将算法描述简化如下:

输入:上限
输出:和
一步:和为0,数为1
二步:当数不到上限时,执行三步
  三步:和加当前数,数加一
四步:输出和

初步语法设计:

算法:所有语句
所有语句:输入语句 换行 输出语句 换行 所有步骤语句

输入语句:输入 冒号 名称
输出语句:输出 冒号 名称

所有步骤语句:步骤语句
          | 所有步骤语句 换行 步骤语句

步骤语句:序号 步 冒号 步骤内容

步骤内容:所有赋值语句
       | 每当语句
       | 输出语句

所有赋值语句:赋值语句
          | 所有赋值语句 逗号 赋值语句

赋值语句:名称 为 数或量
       | 名称 加 数或量

每当语句:当 名称 不到 名称 时 逗号 执行 序号 步

输出语句:输出 名称

数或量:数
     | 名称

辅助特性