2013-03-05 91 views
3

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

回答

2

你用什么工具进行词法分析?我知道一点Flex,我只是把它写下来我知道,也许它对你或其他人有帮助。

Flex是一种常用于生成词法分析器的工具。你只需要告诉它你的令牌是如何(使用正则表达式的),而不是从头开始编写一个,它会生成一个C程序,它从输入字符流中产生一个令牌流。

其易于学习,这里有一个很好的tutorial。学习之后,您将能够轻松报告错误。

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