我在分隔符組合器上留有空白。即使關鍵字是「keywordandthetheoftofthestream」中的前綴,它們也會使用關鍵字。此外,identifier = rep1("a")
消耗a a
中的兩個字母作爲單個aa
。這些信息表明我需要做一些處理,並且可以將解析器組合器放在詞法分析器的頂部。關於詞法分析器的教程
我看到有一個特殊的Lexical解析器來達到這個目的。但爲什麼實際上這個分詞器的標記化?有什麼意義?爲什麼它更有優勢?它的EOL
和whitespace
方法有什麼意義?它與skipWhitespace
有什麼關係,我在RegexParsers
看到?此外,我找不到在詞法分析器頂部堆疊解析器的任何示例。在我看來,更高級的RegexParsers使用Input
,這是一個字符流。它怎麼可能是一個令牌流?
順便說一句,有可能建立位置跟蹤(line:col
)到那個?