yaccplan9 - クラウドでオンライン

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなど、複数の無料オンライン ワークステーションのいずれかを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド yaccplan9 です。

プログラム:

NAME


yacc - さらに別のコンパイラ-コンパイラ

SYNOPSIS


ヤック [ オプション ... ] 文法

DESCRIPTION


ヤック 文脈自由文法と翻訳コードを一連のテーブルに変換します。
LR(1) パーサーおよびトランスレーター。 文法があいまいである可能性があります。 指定された優先ルールは
あいまいさを打破するために使用されます。

出力ファイル、 yタブc、プログラムを生成するには C コンパイラでコンパイルする必要があります。
プログラムは字句解析関数をロードする必要があります。 yylex(ボイド) (多くの場合、によって生成されます。
LEX(1))、 メイン(整数 argc、 チャリオット *argv[]) プログラム、およびエラー処理ルーチンを使用して、
yyerror(文字*).

オプションは次のとおりです

-o 出力 の代わりに、指定されたファイルに直接出力します。 yタブc.

-Dn ファイルを作成 y.デバッグ、診断メッセージが含まれています。 それらを組み込むには
パーサー、プリプロセッサ シンボルでコンパイルする yyデバッグ 定義されています。 の量
パーサーからの診断出力は値によって調整されます n. 値 0 は報告します
エラー; 1 は削減を報告します。 値が大きいほど (最大 4)、より多くの情報が含まれます
状態遷移について。

-v ファイルを作成 y.出力、解析テーブルとの説明を含む
文法のあいまいさから生じる衝突。

-d ファイルを作成 yタブh、含有 #定義する 関連するステートメント ヤック-割り当て済み
ユーザーが宣言した「トークン名」を持つ「トークンコード」。 ソースファイルに含める
以外の yタブc トークンコードへのアクセスを許可します。

-s ファイル名のプレフィックスを変更する yタブc, yタブh, y.デバッグ, y.出力 〜へ
.

-S の代わりに Stdio を使用するパーサーを作成します。 印刷 libc のルーチン。

-l 生成されたパーサーで #line ディレクティブを無効にします。

-a タイプ Yyarg の引数を取り、この引数を渡すパーサーを生成します
レクサー関数 yylex の呼び出しごとに。 Yyarg にはインスタンスごとに含まれます
state と、タイプ void* の単一のユーザー可視メンバー arg です。

の仕様 ヤック それ自体は、本質的に、で説明されている UNIX バージョンと同じです。
以下の参考文献。 以外にも -D オプションの場合、関連する主な違いは次のとおりです。

C 環境へのインターフェイスは、デフォルトで ではなく
; ザ・ -S オプションはこれを逆にします。

パーサーは UTF 入力テキストを受け入れます ( UTF(7))、いくつかの効果があります。
まず、戻り値 yylex() もはや収まらない 短い; 第二に、開始
非端末の値は 0 ではなく 000xE257 になりました。

生成されたパーサーは再帰的である可能性があります: アクションは呼び出すことができます yyパース、たとえば
ある種の実装 #include インタプリタでのステートメント。

最後に、文書化されていないパーサーの内部動作が変更されました。
その構造について知りすぎるプログラムに影響を与える可能性があります。

onworks.net サービスを使用してオンラインで yaccplan9 を使用する



最新のLinuxおよびWindowsオンラインプログラム