2

今のアイデアは次のようなものです。JavaではoctalIntegerLiteralルールがあります

octalNumeral, (integerTypeSuffix optional)

しかし、トークンとして数字を取得したいので、次を使用しました。

octalNumeral javaToken, (integerTypeSuffix optional)

問題は、次のような文字列の解析を開始することです0777 L。これは簡単に解決できますか、それともサブクラスであることに対処する必要がありますか?

4

1 に答える 1

3

#javaToken空白のトリミングとトークンの作成という2つのことを同時に行うようです。この動作を、個別に使用できる2つの別個のパーサーに分割します。#javaToken古いコードを機能させ続けるために、新しい基本パーサーから次のように再定義できます。

PPParser>>#javaToken
    ^ self javaPlainToken javaWhitespace

次に、番号パーサーは次のようになります。

(octalNumber javaPlainToken , integerTypeSuffix optional) javaWhitespace
于 2013-03-20T15:12:35.693 に答える