Parsingこのページは最後に更新されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。 last mod. 2009-09-10 (木) 17:52:07
module Parsing: sig end ocamlyacc によって生成された構文解析器のランタイムライブラリです。 val symbol_start : unit -> int symbol_start と Parsing.symbol_end は文法ルールの action で呼びます。 ルールにマッチした文字列全体の位置を返します。symbol_start() は先頭文字の位置を、symbol_end() は終端文字の位置に 1 足した位置を返します。ファイルの最初の文字は 0 です。 val symbol_end : unit -> int Parsing.symbol_start を見てください。 val rhs_start : int -> int Parsing.symbol_start と Parsing.symbol_end に同じですが、n 番目のルールにマッチした文字列の位置を返します。n は lhs_start や lhs_end の整数パラメータで、1 のとき最も左の項目になります。 val rhs_end : int -> int Parsing.rhs_start を見てください。 val symbol_start_pos : unit -> Lexing.position symbol_startと同じですが、オフセットの代わりpositionを返します。 val symbol_end_pos : unit -> Lexing.position symbol_endと同じですが、オフセットの代わりにpositionを返します。 val rhs_start_pos : int -> Lexing.position rhs_startと同じですが、オフセットの代わりにpositionを返します。 val rhs_end_pos : int -> Lexing.position rhs_endと同じですが、オフセットの代わりにpositionを返します。 val clear_parser : unit -> unit 構文解析器のスタックを空にします。構文解析関数が帰ってきたあとで呼ぶと、構文解析中 action が生成した構造へのポインタを構文解析スタックから取り除きます。これは行わなくてもいいですが、行うとプログラムが必要とするメモリが減ります。 exception Parse_error 構文解析器が文法エラーを発見したら発生する例外です。文法ルールの action 部から発生してエラー回復を初期化することもできます。 val set_trace : bool -> bool ocamlyaccの生成したパーサのデバッグ機能を操作します。Parsing.set_trace trueした後ではパーサを実行するプッシュダウンオートマトンがアクション(トークンの読み込み、状態のシフト、ルールのリデュース)を標準出力に出力します。Parsing.set_trace falseはデバッグトレースをオフにします。前回の状態が返されます。 |