【发布时间】:2023-03-29 04:30:02
【问题描述】:
我们的脚本语言已经在使用,我们正在通过添加新功能等对其进行改进。
我的问题是;测试我们的 grammer(不是最终应用)的向后兼容性的最佳方法是什么?有谁知道为我们制作它的工具或方法吗?
最好的问候
【问题讨论】:
-
您需要有通过旧语法的测试文件并针对新语法运行它们。
-
@EJP 你能再解释一下吗,你的意思是什么?我知道必须将旧语法与新语法进行比较。 YACC 有测试文件的功能吗?
-
放下它。究竟有什么好解释的?您应该已经有通过原始版本的测试。您所要做的就是针对新版本运行它们。如果您没有这些测试已经太晚了:您需要停止,构建这些测试,针对旧版本运行它们,冲洗并重复直到它们通过,然后针对新版本再次运行它们。当然这一切都是显而易见的吗?
-
@EJP 这是一门庞大的语言,因此我们无法测试所有可能性。从理论上讲,必须可以测试语法,而不是最终产品!我们已经知道用我们所做的测试代码(用我们的语言)来测试它。但这不是我想做的。
-
那你要求的是不可能的。如果您还没有对以前的版本进行足够详尽的测试,您将不得不 (a) 构建它们,(b) 自己分析您的语法更改是否不兼容,或者 (c) 从您的用户。
标签: parsing yacc parser-generator lalr