2013-03-05 46 views
3

我正在寫一個詞法分析器,我希望它輸出有意義且準確的錯誤消息。就像發生錯誤的確切行和列一樣。編寫詞法分析器時處理錯誤的適當方式是什麼?在詞法分析中處理錯誤

回答

2

你用什麼工具進行詞法分析?我知道一點Flex,我只是把它寫下來我知道,也許它對你或其他人有幫助。

Flex是一種常用於生成詞法分析器的工具。你只需要告訴它你的令牌是如何(使用正則表達式的),而不是從頭開始編寫一個,它會生成一個C程序,它從輸入字符流中產生一個令牌流。

其易於學習,這裏有一個很好的tutorial。學習之後,您將能夠輕鬆報告錯誤。

關於行號,Flex定義了一個名爲yylineno的變量,它保存當前行號。對於列號,this可能會有所幫助。