Ich benutze die Bychan-Bibliothek und diese Frage umgibt es hauptsächlich.Gibt es eine Möglichkeit zu überprüfen, ob das nächste Token END ist?
Ich habe gerade das minilang Beispiel ausgecheckt und den Code gelesen. Als ich die StatementNode
sah, hatte ich Mühe, einen Weg zu finden, um ein Endsemblem für konventionelle Zwecke hinzuzufügen. In diesem Beispiel wird ;
verwendet, um Anweisungen zu trennen, aber es gibt keine Möglichkeit, ein Skript mit der letzten Anweisung zu beenden, die mit ;
endet, da der Parser das Ende nicht parsen kann und dazu führen würde:
'Premature end reached' @ position ..., current lexeme is END ...
Gibt es eine Möglichkeit zu überprüfen, ob der nächste Token der END
ist oder ist das, was ich denke falsch und Blick nach vorne ist nicht das Richtige zu tun, und dass es andere Möglichkeiten gibt?
tat ich versuche parser.nextIs(EndToken.get())
vor, aber die IDE sagt einfach no instance(s) of type variable(s) N exist so that EndToken<N> conforms to TokenKey
ich nicht, dass Fortschritt in Java sein kann, eine Lösung zu verstehen. :(
aus: https://github.com/atorstling/bychan/issues/37