设为首页收藏本站CRC32解密2.0更改用户名回帖奖励召回投票记录删除领夜猫子帮助中心 本站已运行
搜索
查看: 194|回复: 11
收起左侧

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

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

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

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

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

  1. .版本 2

  2. .程序集 程序集1

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


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

  6. .子程序 _临时子程序

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


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


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

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

  24. .判断结束
  25. 返回 (真)

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

  34. 左括号 = 取代码 (括号文本, 1)
  35. 右括号 = 取代码 (括号文本, 2)
  36. .计次循环首 (取文本长度 (代码文本), 计数)
  37.     字节 = 取代码 (代码文本, 计数)
  38.     .判断开始 (字节 = 左括号)
  39.         栈 = 栈 + 1
  40.     .判断 (字节 = 右括号)
  41.         栈 = 栈 - 1
  42.         .如果真 (栈 < 0)
  43.             返回 (假)
  44.         .如果真结束

  45.     .默认

  46.     .判断结束

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

复制代码


回复

使用道具 举报

腾讯云服务器安全可靠高性能,多种配置供您选择
发表于 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 | 显示全部楼层
同楼上
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|官方QQ群|从F到0 ( 蒙ICP备17002595号-1 )
蒙公网安备 15010402000325号 腾讯云安全认证

GMT+8, 2019-5-20 17:21, 3.80.223.123 , Processed in 1.974622 second(s), 30 queries .

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

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