处理词法分析中的错误

时间:2013-03-05 19:08:04

标签: compiler-errors compiler-warnings lexical-analysis

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

1 个答案:

答案 0 :(得分:2)

您使用哪些工具进行词法分析?我知道一点 Flex ,我会把它写下来,我知道,也许它对你或其他人有帮助。

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

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

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