编写一个程序,打印出编译器或解释器的语法错误消息。错误消息应该具有误导性,因此代码维护人员将需要几天时间才能发现错误是伪造的,这意味着您应该混淆(并隐藏意图)。同样,该错误必须尽可能准确,并且应正确引用该代码。
对于compile program.p && ./program
编译的语言,假定您的代码维护人员将在命令行上进行编译和运行程序,这意味着,他无法区分输出是来自编译器还是程序本身。另外,假设您的代码维护者将打开语法错误消息。
作为参考,这是我制作的示例:https : //gist.github.com/359604
该DATA
部分对错误消息的字符串进行编码,并且哈希%abcdef
表是解码表。错误打印的反斜杠引用使代码维护人员将尝试计算反斜杠。
参赛作品的评分依据:
- 代码具有明显的意图
/6
- 代码正确地再现了错误
/16
(您的点以16开头,并除以每个错误的相应因素)- 正确大写:4
- 正确的行号和列号:4
- 正确的措词:每个错误的单词2个
- 引用的行号误导了代码维护者
/3
例如,
./pythontest1.py: line 7: syntax error near token `('
./pythontest1.py: line 7: ` x=input("Enter a number:") #Number input'
正常的Python解释器显示正确性为8(16/2),因为在“令牌”之前缺少“意外”
./pythontest1.py: line 7: syntax error near unexpected token `('
./pythontest1.py: line 7: ` x=input("Enter a number:") #Number input'
如果您的“代码正确再现错误”点低于1,则您的输入将被取消资格。
如果是平局,我将提出其他评分因素。