TODO リスト for
★…優先度高 ▽…優先度低
Known Bugs
仕様変更・性能向上
- 優先順位と結合規則による式や dangling else の記述:abstract な非終端記号が指定されたときに、適切な非終端記号に読み替える?★
¬<><∪∪→EBNF の変換が自動でできるほうが良い
- エラーリカバリー★
- Java1.5 対応★
- Java1.5時、getParentNode の戻り値は、戻り値になりうる型の共通の親? ノード書き換えに注意
- 曖昧性の除去:曖昧性が無いことをユーザが宣言的に記述し、警告を減らす機能★
- デバッグ支援:コンパイルエラー時に、構築途中のツリーを表示★
- 状態遷移図の表示 for コンフリクトを除去したいユーザ
- DFAGenerator で、状態をキャッシュするように
- LALR(1)で済むなら、拡張LRではなく単純なLRを使う
- LALR(1)で済まない場合、エラーにするオプション
- notavaccソースにjavadocコメントを書く機能
- システム予約の識別子(getChildNodes とか)を、改名する機能
- Java Generics のために、トークン ">>" と2つのトークン">" ">" とを同一視する機能:パースエラーをフックする機能?▽▽
- 複数の字句解析器を出力する▽
- 複数の名前空間。例えば JavaCC のような、途中で java のコードを書けるような文法では、java の文法部分を別の名前空間に置きたい▽
- import。例えば式を表す文法を別途定義して、色々な文法でそれを import して使いまわす▽
- Javaコード埋め込み。基底クラスにメソッドを追加したいとか▽
¬<><∪∪で行うよりは、アスペクト指向のような任意のJavaソースを対象としたほうが汎用的で良い
- 異なるパーサの Token, Node が同じ型になるようにするオプション▽
上のフレームワークで処理できる
Default.LexicalAnalyzer
は java.util.Iterator
を implements?
メッセージ
ドキュメント/サンプル
- 仕様書★
- Handbook
- チュートリアル
- コマンドライン
- サンプル