TODO リスト of
★…優先度高
バグフィックス
- DeterministicStateの入力は、SymbolではなくLabeledSymbol。例:
A { x:"a" "b" | y:"a" "c" }
★
- Unicodeエスケープを、Java互換にする(現状は文字・文字列リテラル中でのみ使用可能)
仕様変更・性能向上
- パラメータの自動調整機能
- 異なるパーサの Token, Node が同じ型になるようにするオプション
- バイナリサーチする
- LALR(1)で済むなら、拡張LRではなく単純なLRを使う
- LALR(1)で済まない場合、エラーにするオプション
- システム予約の識別子(getChildNodes とか)とのバッティングをチェック
- システム予約の識別子(getChildNodes とか)を、改名する機能
- あいまいな文法を極力コンパイルエラーにするが、チェックできない物については警告にとどめる★
- dangling else 等を書きやすくする機能:conflict 時に優先順を指定する機能?
- 優先順位と結合規則による式の記述:abstract な非終端記号が指定されたときに、適切な非終端記号に読み替える?
- Java Generics のために、トークン ">>" と2つのトークン">" ">" とを同一視する機能:パースエラーをフックする機能?
- 出力されたソースは、Java 1.2 ぐらいでも動くと良い
- エラーリカバリー
- 複数の字句解析器を出力する
- デバッグ支援:コンパイルエラー時に、構築途中のツリーを表示
- 文法バグ用のExceptionを作る?
メッセージ
ドキュメント/サンプル
- 仕様書
- Handbook
- タグ
- Visitor
- ツリーの書き換え
- 差集合を和集合と補集合で表現する
- C言語の文法★
- 英訳
終了したTODO
- 出力されるコードでは、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]