@@ -1,6 +1,12 @@
# 这是示例代码
# 注释的长度受限, /笑
-f(0) = 1
-1+2+6+3
-output(f(0) * (1 + 2 * 3))
+# output(output(1 + 2 * 3 / 4)) # 首先输出`1+2*3/4`为2.5, 之后再输出`2.5`作为输出的长度为3
+
+f(0) = 0
+f(x) = x + f(x - 1)
+f(x, y) = x + y
+output(f(10))
+output(f(1, 2))
@@ -1,3 +1,25 @@
.版本 2
.程序集 即时解释虚拟机
+.程序集变量 词, 词, , "0"
+.程序集变量 函数列表, 抽象语法树节点, , "0"
+.子程序 解释代码入口
+ .参数 代码, 文本型
+ .局部变量 行, 文本型, , "0"
+ .局部变量 i, 整数型
+ .局部变量 根, 抽象语法树节点
+ 行 = 分割文本 (代码, #换行符, )
+ .计次循环首 (取数组成员数 (行), i)
+ 词法分析 (行 [i], 词)
+ 根 = 语法分析 (词)
+ 输出语法分析结果 (根, )
+ .计次循环尾 ()
+.子程序 解释代码
+ .参数 节点, 抽象语法树节点
@@ -5,6 +5,8 @@
> 词法分析 [表达式]
对[表达式]进行词法分析, 输出分析结果
-> 语法分析 [表达式]
+> 语法分析 [表达式]
对[表达式]进行语法分析, 输出语法树
+> 运行 [文件名]
--------
@@ -1,10 +1,10 @@
[
{
- "CmdCount": 664,
+ "CmdCount": 682,
"Guid": "d09f2340818511d396f6aaf844c7e325",
"Key": "krnln",
"MaxRefConstPos": 68,
- "MaxRefObjectPos": 49,
+ "MaxRefObjectPos": 0,
"Name": "系统核心支持库",
"Version": {
"Major": 5,