3
我正在嘗試使用fslex
和fsyacc
來編寫一個小的DSL解析器。輸入由兩種不同語言的交錯塊組成,這些語言需要不同的放鬆規則。我如何編寫我的fslex
文件來支持?fslex - 如何在兩個令牌集之間切換?
(我想類似的情況是如何定義fslex
文件爲C語言,但與內聯彙編,這需要不同的詞法規則的支持?)
什麼我現在是這樣的:
rule tokenize = parse
| "core" { core lexbuf }
...
and core = parse
| ...
的事情是,一旦得到令牌由core
解析器返回時,輸入的下一部分被傳遞給tokenize
代替。但我想留(原樣)在core
狀態。我怎麼做?
謝謝!