Command Line Syntax for

--source-path, --destination-path

--destination-path が指定されていない場合、出力されるJavaファイルは、入力されるファイルと同じディレクトリへ出力されます。--destination-path のみが指定された場合、出力されるJavaファイルは、指定されたディレクトリへ出力されます。--source-path--destination-path の両方が指定された場合、--destination-path で指定されたディレクトリに対して、--source-path からの入力ファイルへの相対パスを加えてできるファイルが含まれるディレクトリへ出力されます。

例えば ./src/a/b/c/foo.notavacc をコンパイルする場合、次のようになります。

オプション 結果
(なし) ./src/a/b/c/ へ出力されます。
--destination-path dst ./dst/ へ出力されます。
--source-path src --destination-path dst ./dst/a/b/c/ へ出力されます。

--encoding

入出力されるファイルのエンコーディングを指定します。

--source-encoding

入力されるファイルのエンコーディングを指定します。--encoding オプションよりも優先されます。

--destination-encoding

出力されるファイルのエンコーディングを指定します。--encoding オプションよりも優先されます。

--target

どのバージョンのJavaを対象としてコードを出力するかを指定します。

引数 説明
1.2 1.4と、次の点が異なります。
  • java.lang.CharSequenceの代わりにjava.lang.StringBufferが使われます。
  • AmbiguousGrammarErrorは、java.lang.AssertionErrorではなく、java.lang.RuntimeExceptionのサブクラスです。
  • 1.4は、起こってはならない状況になった場合にjava.lang.AssertionErrorを発生させますが、1.3ではjava.lang.RuntimeExceptionが発生します。
1.3 1.2と同じです。
1.4 Java1.4 に最適なプログラムが出力されます。最もテストされています。ドキュメント通りの出力が行われます。

--dry-run

実際にはファイルを出力しませんが、処理を一通り実行します。

--debug

デバッグ用の構文解析器を出力します。文法が曖昧であることが判明した場合や、文法が曖昧である可能性が高い場合に、構築可能な構文木をエラー出力へ出力します。ファイルへ分割し diff を取ることで、文法のどこにあいまい性があるのかを判断する助けになります。

--javadoc-lang

javadocコメントの言語を指定します。jaenがサポートされています。

--version

バージョンを出力します。

--help

ヘルプメッセージを出力します。

--verbose

処理の詳細を出力します。

% notavacc --verbose --target 1.4 --dry-run ExpressionParser.notavacc

複数回指定することで、字句解析、構文解析に使用される状態遷移を出力します。

% notavacc --verbose --verbose --target 1.4 --dry-run ExpressionParser.notavacc

--quiet

出力するメッセージを減らします。

--x-separate-output

出力されるファイルを分割します。本来出力されるファイルが Foo.java の場合、このオプションを指定すると FooTables.javaFoo.java の2つのファイルを出力します。FooTables.java には内部で使用する静的なテーブルが、Foo.java にはその他のインターフェイスやメソッドが出力されます。このオプションは将来のバージョンではサポートされない可能性があります。