- バグの修正
- bin/racc -g オプションを -t に改名
- racc/compiler.rb を削除
- '|' が meta rules によって許可
- Ruby 1.8.7 互換性を修正
- Ruby 1.9 互換性を修正
- [FEATURE CHANGE] --no-extensions オプションを削除
- [fix] racc パッケージのみで -E を使えるように修正
- [fix] --no-omit-actions が動作していなかったのを修正
- setup.rb 3.4.1.
- Ruby 1.8.0 に対応するリリース。本体に変更はなし
- -all パッケージに strscan, amstd の同梱するのをやめた
- setup.rb 3.2.1
- [new] 新しいオプション --no-extentions
- amstd 非依存になった (ただし -all パッケージへバンドルは継続)
- y2racc racc2y を 1.4 対応にした
- ランタイムを Ruby の CVS に入れたのにあわせてマイナーバージョンアップ
- RaccParser, RaccScanner → GrammarFileParser, GrammarFileScanner
- ハズい typo を修正 (grammer → grammar)
- インストーラのバグを修正 (thanks Tanaka Akira)
- アクション中の正規表現や % 文字列、グローバル変数の検出を向上させた
- アクション中の $' $` $/ などを正しくスキャン
- パースエラーの時に記号名も出力するようにした
- Racc::Parser#token_to_s
- cparse がスタティックリンクされても動くようにした
- % 文字列のスキャンがバグってた
- 新しい命令 expect
- cparse: シンボルのタイプチェックを入れた
- cparse: depend を消した
- cparse: rb_iterate 中の GC で落ちるバグを修正
- ジェネレータに致命的なバグ。1.3.1 から混入 (format.rb)
- racc --runtime-version
- -E が失敗するのを直した
- 再度 strscan を同梱 (y2racc/racc2y に必要)
- 正規表現の繰り返し指定の上限を動的に決定する (RE_DUP_MAX)
- パースルーチンが常に Ruby 版になっていた (消し忘れ)
- スキャナから yield でトークンを渡せるようになった
- オプションに大変動。非互換オプションは -h -f -p -i -n -c -A
- ロングオプションをサポート
- y2racc, racc2y はデフォルトでアクションを残すようにした
- 使われない規則と非終端記号を出力 (強力版)
- S/R conflict の時 nonassoc で解決するならばエラー
- yacc との変換コマンド racc2y・y2racc を添付
- 新たなキーワード options とその引数 no_result_var
- [重要] token を convert に変更
- 「新たな」キーワード token (終端記号の宣言)
- 空アクションの呼び出しを省略しないようにするオプション -a
- スキャナで strscan を使わないようにした
- ScanError -> Racc::ScanError, ParseError -> Racc::ParseError
- エラーメッセージを強化
- requireミス (thanks Toshさん)
- -v をつけるとconflictが報告されなくなっていた
- S/R conflict がおきると .output 出力で落ちるバグ修正 (Tosh さんの報告)
- 使われない非終端記号・規則を表示
- state.rb: 先読みルーチンをちょっとだけ高速化 && 追加デバッグ
- コードを整理した。著作権表示全体を全部のファイルにつけた。
- amstd アップデート (1.7.0)
- インストーラを ruby 1.4.4 系の新しいパスに対応させた
- パーサの定数を削減(Racc_arg にまとめた)
- state 生成を微妙に高速化(コアを文字列に変換)
- cparse の SYM2ID と ID2SYM のチェックを分離 (thanks 小松さん)
- 一行目の class がパースエラーになっていた (thanks 和田さん)
- 新しいフラグ racc -V
- 高速テーブルを実装
- 一時的にファイル名/行番号の変換をやめた(Rubyのバグのため。)
- --version --copyright などがうまく働いてなかった (thanks ふなばさん)
- yyerror/yyerrok/yyaccept を実装
- -E フラグがバグってた (thanks ふなばさん)
- デフォルトアクションの決め方をちょっと修正(元に戻しただけ)
- 完全な LALR を実装したら遅くなったので SLR も併用するようにした。効果絶大。
- 状態遷移表生成のバグの修正がまだ甘かった。さらに別のバグもあるようだ。
- cparse が Symbol に対応できてなかった
- ruby 1.5 の Symbol に対応
- strscan を最新に
- 忘れてしまったけどたしかインストーラ関係の修正
- (1/17 repacked) ドキュメントの追加と修正
- setup.rb compile.rb amstd/inst などのバグ修正
- racc -e ruby でデフォルトパスを使用
- 空のアクションの呼びだしは省略するようにした
- 埋めこみアクションの実装がすさまじくバグってた
- setup.rb が inst.rb の変化に追従してなかった
- calc.y calc2.y を 0.10 用に修正
- エラー回復モードを実装
- racc -E で単体で動作するパーサを生成
- Racc は class から module になった
- 埋めこみアクションをサポート
- .output の出力内容にバグがあったのを修正
- ドキュメントの訂正と更新
- libracc.rb を分割
- C でランタイムを書きなおした
- next_token が false を返したらもう読みこまない
- アクションがトークンによらず決まるときは next_token を呼ばない
- $end 廃止
- LALRactionTable
- next_* を next_token に一本化、peep_token 廃止
- @__debug__ -< @yydebug など変数名を大幅変更
- 文法ファイルの構造が class...rule...end に変わった
- コアのコードを一新、高速化
- strscan を併合
- ライブラリを racc/ ディレクトリに移動
- 0.9.4 の変更がすごくバグってた
- $end が通らなかったのを修正
- __show_stack__ の引数が違ってた
- Parser::Reporter をなくしてメソッドに戻した
- d.format.rb を再編成
- アクション中の正規表現に対応 ( /= にも注意だ)
- アクション中の # コメントに対応
- アクションを { } 形式にした
- ユーザーコードを '----' を使う形式にした
- -g + @__debug__をつかったデバッグメッセージ操作
- エラー発生時のバグを修正
- TOKEN_TO_S_TABLEを付加するようにした
- 100倍程度の高速化
- defaultトークンを加えた
- デバッグ用ソースを出力するオプション-gをくわえた
- user_initializeを廃止し、普通にinitializeを使えるようにした
- parse_initialize/finalize,parseメソッドを廃止
- next_token,next_value,peep_tokenのデフォルトを廃止
- %precと同等の機能を加えた
- 内部構造が大幅に変化
- マニュアルがHTMLになった
- 演算子優先順位が実装されたようだ
- スタート規則が実装されたようだ
- トークン値の置換が実装されたようだ(後に致命的なバグ発見)