0

ツリートップを使用して構文を定義しましたが、ほとんどの値は正常に解析されますが、次のようになります。

Response+Isupport1 offset=0, "...orted by this server" (host,space1,space2,nickname,space3):

... と ...

...
SyntaxNode+Isupport0 offset=52, "WATCH=128 " (token,space):
    SyntaxNode+Token0 offset=52, "WATCH=128" (parameter,equals,value):
    ...

SyntaxNode + [Node]はどういう意味ですか?正しく機能するように修正するにはどうすればよいですか?現在、これらのノードにはTokenクラスではなくSyntaxNodeクラスがあります(これにより、これらのノードは汎用になり、私のニーズに適合しません)。

私が見る限り、これを(token space)+引き起こしたのは定義することです(理由はわかりません)。

4

1 に答える 1

0

あなたの質問は非常に不完全であり、おそらくそれが答えられなかった理由ですが、上記の表示を生成する検査の実装を書いた人として、私はおそらく光を当てることができます。TreetopはSyntaxNodes(または、要求された場合は別のクラスのインスタンス)を作成し、コードを含むミックスインモジュールでそれらを拡張します。1つのサブルールのみを呼び出すルールは、そのサブルールによって返されるノードに新しいモジュールを追加できるため、複数のモジュールを1つのノードに混在させることができます。{で始まるコードブロックを含めるすべてのタイプで、新しいモジュールを取得します。各検査行の最後にある括弧で囲まれた興味深いメソッドのリストは、これらのミックスインからのものです。

ただし、文法が機能しない理由については、回答を得るために、入力と予想される解析結果とともに文法を提示する必要があります。

于 2012-08-31T00:41:44.147 に答える