设为首页收藏本站CRC32解密2.0更改用户名领夜猫子 本站已运行
搜索
查看: 96|回复: 11
收起左侧

构造一个简单的编译器实现语法检查 括号位置是否正确/对称/匹配/配对/平衡

[复制链接]
发表于 2018-11-28 10:17:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?加入我们

x
本帖最后由 QAQ 于 2018-11-28 10:22 编辑

[ecode=0]
.版本 2

.程序集 程序集1

.子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码


_临时子程序 ()  ' 在初始化代码执行完毕后调用测试代码
返回 (0)  ' 可以根据您的需要返回任意数值

.子程序 _临时子程序

' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。


输出调试文本 (括号位置是否正确 (“c((d >= 0 && d <=9?48:u?55:87)+d);”))
输出调试文本 (括号位置是否正确 (“A=B+_lrol_(A+f+md.l[j&15]+ti,ss[i>>4][i&3]);”))
输出调试文本 (括号位置是否正确 (“case 2:{f=B^C^D,j=3*i+5;break;}”))
输出调试文本 (括号位置是否正确 (“case 3:{}}”))
输出调试文本 (括号位置是否正确 (“输出调试文本 (括号位置是否正确 ()))”))


.子程序 括号位置是否正确, 逻辑型, 公开, 括号位置不匹配或位置不对称将返回假,否则返回真
.参数 代码文本, 文本型, , 不支持识别文本字符串中的括号以及全角括号否则会出错,处理前请自行删除引号内文本

' 判断 (括号位置是否正确_ (代码文本, “<>”) = 假)
' 返回 (假)
.判断开始 (括号位置是否正确_单个 (代码文本, “{}”) = 假)
    返回 (假)
.判断 (括号位置是否正确_单个 (代码文本, “[]”) = 假)
    返回 (假)
.判断 (括号位置是否正确_单个 (代码文本, “()”) = 假)
    返回 (假)
.默认

.判断结束
返回 (真)

.子程序 括号位置是否正确_单个, 逻辑型
.参数 代码文本, 文本型
.参数 括号文本, 文本型
.局部变量 左括号, 字节型
.局部变量 右括号, 字节型
.局部变量 栈, 整数型
.局部变量 计数, 整数型
.局部变量 字节, 字节型

左括号 = 取代码 (括号文本, 1)
右括号 = 取代码 (括号文本, 2)
.计次循环首 (取文本长度 (代码文本), 计数)
    字节 = 取代码 (代码文本, 计数)
    .判断开始 (字节 = 左括号)
        栈 = 栈 + 1
    .判断 (字节 = 右括号)
        栈 = 栈 - 1
        .如果真 (栈 < 0)
            返回 (假)
        .如果真结束

    .默认

    .判断结束

.计次循环尾 ()
返回 (栈 = 0)

[/ecode]

回复

使用道具 举报

腾讯云为数百万企业和开发者提供安全、稳定的云服务器、云数据库、CDN等云服务
发表于 2018-12-3 16:57:35 | 显示全部楼层
lz也可以考虑发明个新编译器,就像吴总一样
回复 支持 反对

使用道具 举报

发表于 2018-12-1 19:11:59 | 显示全部楼层
搞这说难不难说简单也不简单
回复 支持 反对

使用道具 举报

发表于 2018-11-28 20:34:50 | 显示全部楼层
顶顶顶顶顶顶顶顶顶
回复 支持 反对

使用道具 举报

发表于 2018-11-28 10:48:19 | 显示全部楼层
谢谢分享666
回复 支持 反对

使用道具 举报

发表于 2018-11-28 18:13:01 | 显示全部楼层
66666
回复 支持 反对

使用道具 举报

发表于 2018-11-30 07:36:17 | 显示全部楼层
666
回复 支持 反对

使用道具 举报

发表于 2018-12-1 14:15:58 | 显示全部楼层
666
回复 支持 反对

使用道具 举报

发表于 2018-12-3 10:23:56 | 显示全部楼层
hhh
回复 支持 反对

使用道具 举报

发表于 2018-12-10 16:26:49 | 显示全部楼层
同楼上
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|官方QQ群|从F到0 ( 蒙ICP备17002595号-1 )  

蒙公网安备 15010402000325号 腾讯云安全认证

GMT+8, 2019-2-21 14:26 , Processed in 0.109374 second(s), 32 queries .

Powered by Discuz! X3.4 © 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表