-1
"("、 ")"、 "& &"および "||"を使用して、Cのようなスクリプト(実際にGroovy)をいくつかの部分に解析する必要があります。このような区切り文字として:文字列JavaでCのようなパーサを実装する方法
(boo == 1 && (foo == null || foo == 0))
から
私はそれが簡単に見えますが、それができる「FOO == 1」の状態では、これ
["boo == 1", "&&", ["foo == null", "||", "foo == 0"] ]
(list of 3 items, third one is a list too)
のようなリストのいくつかの種類を取得する必要があります"foo.item(2).contains( 'abcd')== true"(条件も中括弧を含むことができます)であり、私はそれに固執しています。
このようなパーサーを実装する最良の方法は何ですか?私を助ける役に立つライブラリやフレームワークはありますか?私の場合はどちらが簡単ですか?
今、私はANTLRドキュメントを読んでいますが、それは私の仕事にとっては複雑すぎると難しいようです。簡単な方法はありますか?完全な構文木は必要ないと思っていますか? – afel
さて、私はANTLR文法を実装することに固執しています。誰かが私の場合に適切な文法を教えてくれますか? – afel
C++やJavaの文法を見て、そこにあるいくつかのルールを削除し、それをあなたに適したものにすることができます。 – belgther