2012-04-12 4 views
0

ich eine Syntax Baumwipfel definiert haben und die meisten Werte analysieren in Ordnung, aber einige sehen aus wieWas bedeutet SyntaxNode + [Node] in der Baumkrone? (Rubin)

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

... und ...

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

Was die SyntaxNode tut + [ Knoten] bedeuten? Wie kann ich es reparieren, um richtig zu funktionieren? Denn jetzt haben diese Knoten die SyntaxNode-Klasse, nicht die Tokenklasse (was sie generisch macht und nicht meinen Bedürfnissen entspricht).

Soweit ich sehen kann, ist die Definition (token space)+ das verursacht (keine Ahnung warum).

Antwort

0

Ihre Frage ist sehr unvollständig, was wahrscheinlich ist, warum es nicht beantwortet wurde, aber als die Person, die die inspect-Implementierung schrieb, die das obige Display erzeugt, kann ich wahrscheinlich Licht abwerfen. Treetop erstellt SyntaxNodes (oder eine Instanz einer anderen Klasse, wenn Sie dies anfordern) und erweitert sie dann mit Mixin-Modulen, die Ihren Code enthalten. Sie können mehrere Module in einen einzelnen Knoten einfügen, da eine Regel, die nur eine Unterregel aufruft, dem Knoten, der von dieser Unterregel zurückgegeben wird, ein neues Modul hinzufügen kann. Bei jedem Typ, den Sie einen Codeblock einschließen, der mit {beginnt, erhalten Sie ein neues Modul. Die eingeklammerte Liste interessanter Methoden am Ende jeder Inspektionslinie stammt von diesen Mixins.

Wie auch immer, warum Ihre Grammatik nicht funktioniert, müssen Sie sie uns mit Ihrer Eingabe und dem erwarteten Parse-Ergebnis zeigen, um eine Antwort zu erhalten.

+0

Ich kann mich nicht erinnern, was das Problem war, also werde ich Ihre Antwort akzeptieren. – Speed

+0

Ah, wenn ich mich richtig erinnere, habe ich versucht, Listen im Format von "KEY = VALUE KEY = VALUE" und so weiter zu parsen, und ich konnte die Leerzeichen nicht loswerden. – Speed