分析语法,自制脚本引擎

易语言 2020-08-11 19:01:21

分析语法,自制脚本引擎

.判断循环首 (i ≤ 取数组成员数 (行文本)) ' 不用计次循环是因为判断循环更灵活
.如果真 (取文本左边 (行文本 [i], 2) = “//”)
i = i + 1
到循环尾 ()
.如果真结束
.如果真 (清空首文本 (行文本 [i]) = “”)
i = i + 1
到循环尾 ()
.如果真结束
.如果真 (寻找文本 (行文本 [i], “//”, , 假) ≠ -1)
行文本 [i] = 取文本左边 (行文本 [i], 寻找文本 (行文本 [i], “//”, , 假) - 1)
.如果真结束

左文本 = 取文本左边 (行文本 [i], 寻找文本 (行文本 [i], “ ”, , 假) - 1)
右文本 = 取文本右边 (行文本 [i], 取文本长度 (行文本 [i]) - 寻找文本 (行文本 [i], “ ”, , 假))
.判断开始 (左文本 = “函数”)
.如果真 (取数组成员数 (行文本) = i)
错误 (取文本 (#无法找到声明头, “{”))
.如果真结束
.判断开始 (取文本左边 (行文本 [i + 1], 1) = “{”)
temp = 0
脚本 = “”
.判断循环首 (真)
temp = temp + 1
.如果真 (取文本左边 (行文本 [i + 1 + temp], 1) = “}”)
跳出循环 ()
.如果真结束
脚本 = 脚本 + 行文本 [i + 1 + temp] + #换行符
.判断循环尾 ()
添加函数_ (取文本左边 (右文本, 寻找文本 (右文本, “ ”, , 假) - 1), 取文本右边 (右文本, 取文本长度 (右文本) - 寻找文本 (右文本, “ ”, , 假)), 脚本)
.默认
错误 (取文本 (#无法找到声明头, “{”))
.判断结束

.默认

.判断结束
i = i + 1
.判断循环尾 ()