1

私はツリートップ文法を作成するために結んでいます。ファイル内の関心のあるセクションに一致するルールを作成しました。

grammar Sexp

  rule bodies
    body+
  end

  rule body
    commentPortString (ifdef_blocks / interface)+ (!newLine)
  end
...
end

bodiesファイルでこれを実行して、気にしない他のセクションを抽出して無視するにはどうすればよいですか? または、それらのセクションのルールも作成する必要がありますか?

前もって感謝します

4

1 に答える 1

1

.規則の一部ではない任意の文字に繰り返し一致させることは、PEG 文法の一般的なイディオム!bodyです。このようなもの:

rule bodies
  ((!body .)* body)+ (!body .)*
end
于 2018-07-31T17:29:23.743 に答える