2014-09-18 55 views
0

我想弄清楚如何檢查文字字符串中的分隔報價。任何幫助表示讚賞。Flex掃描器檢查分隔報價

這是我到目前爲止在我的開始條件。

<stringLiteral>INITIAL {value = ""; beginLine = lineNum; beginCol = colNum; } 
<stringLiteral>\\n  {cout<<"\n"; newline();} 
<stringLiteral>\"  {yylval.sval = new string(value); return STRING;} 
<stringLiteral>\\.  {error(linenum, colnum, string(YYText()) + " illegal token");}​ 
+0

「規則」沒有什麼明顯的錯誤,它是什麼對你不起作用? – rici 2014-09-18 20:39:08

+0

如果文字字符串沒有結尾引號,比如說:「這是一個字符串。 – pdf2e 2014-09-18 22:53:16

+0

不幸的是,缺少的字符是不可見的,因爲它們只存在於想象中。 (「可能是一個抽象/ 保持永恆的可能性/只在一個猜測的世界。」-TS艾略特)。因此,掃描將繼續到下一個字符串(如果有的話)或文件結尾的開頭。或者,如果您不允許以字符串文字結束行結束。恢復和繼續解析是很困難的,但如果你禁止換行,就有可能繼續下一行,希望你不會錯過太多。 – rici 2014-09-19 05:18:18

回答

0

(此問題已回答由@rici的意見,並在這裏複製;也見Question with no answers, but issue solved in the comments (or extended in chat)

沒有什麼明顯錯誤的\」規則

如果文字字符串沒有按」。例如說:「這是一個字符串,它會導致一個未終止的字符串問題。

不幸的是,缺失的字符是不可見的,因爲它們只存在於想象中。 (「可能是一種抽象/保持一種永恆的可能性/只有在一個猜測的世界裏。」-TS艾略特)。因此,掃描將繼續到下一個字符串(如果有的話)或文件結尾的開頭。或者,如果您不允許以字符串文字結束行結束。恢復和繼續解析是很困難的,但如果你禁止換行,就有可能繼續下一行,希望你不會錯過太多。