2015-02-11 18 views

回答

0

EOF通常定義爲(-1)。

在我的這段時間裏,我使用lex/yacc,flex/bison,甚至還有一個手寫詞法分析器和一個LL(1)解析器,創造了許多解析器。 '緩衝'相當模糊,可能意味着多種東西(輸入字符或輸出標記),但我可以想象,詞法分析器有一個輸入緩衝器可以放在前面。在分析'for(foo = 0; foo < 10; foo ++)'時,關鍵字'for'的標記會在其後的空間出現後生成。第一個標識符'foo'的標記一旦看到字符'='就會生成。它需要將標識符的名稱傳遞給解析器,因此需要一個緩衝區,因此當生成令牌時,單詞'foo'仍然在內存中的某個位置。