TODO リスト of 0.64
★…優先度高 ☆…優先度低
Known Bugs
仕様変更・性能向上
- システム予約の識別子(getChildNodes とか)とのバッティングをチェック★
- デバッグ支援:コンパイルエラー時に、構築途中のツリーを表示★
- 異なるパーサの Token, Node が同じ型になるようにするオプション
- LALR(1)で済むなら、拡張LRではなく単純なLRを使う
- LALR(1)で済まない場合、エラーにするオプション
- システム予約の識別子(getChildNodes とか)を、改名する機能
- 優先順位と結合規則による式の記述:abstract な非終端記号が指定されたときに、適切な非終端記号に読み替える?
- 出力されたソースは、Java 1.2 ぐらいでも動くと良い
- エラーリカバリー
- あいまいな文法を極力コンパイルエラーにするが、チェックできない物については警告にとどめる★
- dangling else 等を書きやすくする機能:conflict 時に優先順を指定する機能?☆
- Java Generics のために、トークン ">>" と2つのトークン">" ">" とを同一視する機能:パースエラーをフックする機能?☆
- 複数の字句解析器を出力する☆
- 複数の名前空間。例えば JavaCC のような、途中で java のコードを書けるような文法では、java の文法部分を別の名前空間に置きたい☆
- import。例えば式を表す文法を別途定義して、色々な文法でそれを import して使いまわす☆
- Javaコード埋め込み。基底クラスにメソッドを追加したいとか☆
メッセージ
ドキュメント/サンプル
- 仕様書
- Handbook
- タグ
- Visitor
- ツリーの書き換え
- 差集合を和集合と補集合で表現する
- 英訳
- C言語の文法★
終了したTODO
- 文法バグ用のExceptionを作る [02/02/28]
- バイナリサーチする [02/02/27]
- パラメータの自動調整機能 [02/02/27]
- Unicodeエスケープを、Java互換にする(現状は文字・文字列リテラル中でのみ使用可能)[02/02/27]
- DeterministicStateの入力は、SymbolではなくLabeledSymbol。例:
A { x:"a" "b" | y:"a" "c" }
[02/02/26]
- 出力されるコードでは、java.lang.* は FQN で [02/02/24]
- Visitor を本来の Visitor 化する(リフレクションを駆使する) [02/02/11]
- コンフリクトのレポート [02/02/11]
- コンパクトなツリーを作る機能 (
createNode(symbolID, parameters, true)
や Default下のコンストラクタ) [02/02/10]
- タグの実装。タグの直前のトークンをシフトした時点でユーザ定義のメソッドを呼び出す [02/02/09]
- $WHITE_TOKENは修飾子に [02/02/09]
- TokenWithOrign は廃止→Tokenに統合 [02/02/08]
- build.xml 書き直し [02/02/01]