私はbychanライブラリを使用していますが、この質問は主にそれを取り巻いています。次のトークンがENDかどうかを確認する方法はありますか?
私はちょうどminilangの例をチェックアウトし、コードを読んでいます。 StatementNode
を見たとき、私は従来の目的のために終了セミコロンを追加する方法を見つけるのに苦労していました。この例では、;
を使用して文を区切りますが、最後の文の末尾が;
で終わるスクリプトを終了する方法はありません。その理由は、パーサーが最後を解析できないためです。
'Premature end reached' @ position ..., current lexeme is END ...
次のトークンがEND
であるかどうかをチェックする方法はありますか、私が間違っていると思っていることを先に調べることは正しいことではなく、他の方法があるのですか?
私は前にparser.nextIs(EndToken.get())
を試してみましたが、IDEは、単に私が解決策を見つけ出すために、Javaでその進歩ではないかもしれないno instance(s) of type variable(s) N exist so that EndToken<N> conforms to TokenKey
を言います。 :(
から:https://github.com/atorstling/bychan/issues/37