3

我正在编写一个词法分析器,我希望它能够输出有意义且准确的错误消息。就像发生错误的确切行和列一样。编写词法分析器时处理错误的适当方法是什么?

4

1 回答 1

2

您使用什么工具进行词法分析?我对Flex有点了解,我就把我知道的写下来,也许对你或其他人有帮助。

Flex 是一种常用于生成词法分析器的工具。无需从头开始编写,您只需告诉它您的标记如何(使用正则表达式),它会生成一个 C 程序,该程序会从输入字符流中提供标记流。

它很容易学习,这里有一个很好的教程。学习后,您将能够轻松报告错误。

关于行号,Flex 定义了一个名为的变量yylineno,它保存当前行号。对于列号,可能会有所帮助。

于 2013-04-25T06:23:45.097 回答