fslexandを使用して小さな DSL パーサーを作成しようとしていfsyaccます。入力は、異なる字句規則を必要とする 2 つの異なる言語のチャンクをインターリーブすることで構成されます。fslexそれをサポートするためにファイルを作成するにはどうすればよいですか?
(同様のケースは、c 言語用のファイルを定義する方法であると思いfslexますが、インライン アセンブリをサポートしており、異なる字句規則が必要ですか?)
私が現在持っているものは次のようなものです:
rule tokenize = parse
| "core" { core lexbuf }
...
and core = parse
| ...
問題は、トークンがcoreパーサーによって返されると、代わりに入力の次の部分が渡されるtokenizeことです。しかし、私は(いわば)その状態にとどまりたいと思っています。coreそれ、どうやったら出来るの?
ありがとう!