木兰编程语言报错信息分类与可用性简析

【项目开源在 Gitee:木兰编程语言/mulan-rework】

去年对木兰编程语言的报错信息作了 初步中文化与内容改进,原因见前文《一岁了!》。积累了几十个用例但一直没有纳入自动测试,本周整理后纳入了 Gitee 流水线测试,期间重温了各个报错信息性质,小结如下。

报错分类

词法分析、语法分析、编译为可执行码(用 Python 的 compile 方法)、运行(用 Python 的 exec 方法)四个阶段都会报错,逐个举例。

   字符串只能拼接字符串,请将“int”先用 str() 转换
见第1行:print("1" + 2) 

可用性分析

Traceback (most recent call last):
  File "/opt/anaconda3/lib/python3.7/site-packages/木兰/分析器/语法分析器.py", line 1037, in 分析
    节点 = self.分析器.parse(各词, state=self)
【略去六行】
rply.errors.LexingError: (None, SourcePosition(idx=12, lineno=3, colno=6))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/anaconda3/bin/木兰", line 8, in 
    sys.exit(中())
【略去四行】
木兰.分析器.错误.词法错误: 文件 "测试/错误处理/词不识.ul", 第3行, 第6列, 分词时没认出这个词 "#"
# c =✋ 3 

之后需针对这几项在使用中逐步改进。

展开阅读全文

页面更新:2024-05-23

标签:木兰   前文   词法   都会   分词   分析器   可用性   信息   字符串   这个词   行列   语法   例子   错误   测试   方法   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top