# Raccコマンドリファレンス

racc [-ofilename] [--output-file=filename] [-erubypath] [--executable=rubypath] [-v] [--verbose] [-Ofilename] [--log-file=filename] [-g] [--debug] [-E] [--embedded] [-F] [--frozen] [-l] [--no-line-convert] [-c] [--line-convert-all] [-a] [--no-omit-actions] [-C] [--check-only] [-S] [--output-status] [--version] [--copyright] [--help] grammarfile

filename
  Raccの文法ファイルを指定します。拡張子には特に制限はありません。
-ooutfile, --output-file=outfile
  作成するクラスをかきこむファイル名を指定します。デフォルトは<filename>.tab.rbです。
-Ofilename, --log-file=filename
  -v オプションをつけた時に生成するログファイルの名前を filename に変更します。 デフォルトは filename.output です。
-erubypath, --executable=rubypath
  実行可能ファイルを生成します。rubypathは Ruby 本体のパスです。 rubypathを単に 'ruby' にした時には Racc が動作している Ruby のパスを使用します。
-v, --verbose
  ファイル "filename".output に詳細な解析情報を出力します。
-g, --debug
  出力するコードにデバッグ用コードを加えます。-g をつけて生成したパーサで @yydebug を true にセットすると、デバッグ用のコードが出力されます。
  -g をつけるだけでは何もおこりませんので注意してください。
-E, --embedded
  ランタイムルーチンをすべて含んだコードを生成します。 つまり、このオプションをつけて生成したコードは Ruby さえあれば動きます。
-F, --frozen
  Add frozen_string_literals: true.
-C, --check-only
  (文法ファイルの) 文法のチェックだけをして終了します。
-S, --output-status
  進行状況を逐一報告します。
-l, --no-line-convert

  Ruby では例外が発生した時のファイル名や行番号を表示してくれますが、 Racc の生成したパーサは、デフォルトではこの場合のファイル名・行番号を 文法ファイルでのものに置きかえます。このフラグはその機能をオフにします。

  ruby 1.4.3 以前のバージョンではバグのために定数の参照に失敗する 場合があるので、定数参照に関してなにかおかしいことがおこったらこのフラグを 試してみてください。

-c, --line-convert-all
  アクションと inner に加え header footer の行番号も変換します。 header と footer がつながっているような場合には使わないでください。
-a, --no-omit-actions
  全てのアクションに対応するメソッド定義と呼び出しを行います。 例えアクションが省略されていても空のメソッドを生成します。
--version
  Racc のバージョンを出力して終了します。
--copyright
  著作権表示を出力して終了します。
--help
  オプションの簡単な説明を出力して終了します。