Module Generator__.Match
val check_arg : Generator__.Instruction.reg_i -> Generator__.Register_table.reg_tbl -> int -> Analyzer.b_arg -> Generator__.Register_table.reg_tbl * Generator__.Instruction.lhs_inst listアトムの引数のリンクのマッチングを行う命令を生成する
val check_ref_neq_of : Generator__.Instruction.reg_i -> Generator__.Instruction.reg_i -> Generator__.Instruction.lhs_instリンクの非単射的マッチングを行うための命令
val check_atom : (string * Analyzer.b_arg list) -> Generator__.Register_table.reg_tbl -> Generator__.Instruction.reg_i -> Generator__.Register_table.reg_tbl * Generator__.Instruction.lhs_inst listアトムのマッチングを行う命令を生成する
val check_ind : (int * int) list -> Generator__.Register_table.reg_tbl -> Generator__.Instruction.reg_i -> Analyzer.b_ind -> Generator__.Register_table.reg_tbl * Generator__.Instruction.lhs_inst listインダイレクションのマッチングを行う命令を生成する
val functor_of : Analyzer.b_ind -> string * intルール左辺のインダイレクションからファンクタを取得する
val find_atom : (int * int) list -> Generator__.Register_table.reg_tbl -> Analyzer.b_ind -> Generator__.Register_table.reg_tbl * Generator__.Instruction.lhs_inst listreg_tbl を受け取って,更新した reg_tbl と 生成した中間命令列を返す
val find_atoms : (int * int) list -> Generator__.Register_table.reg_tbl -> Analyzer.b_ind list -> Generator__.Register_table.reg_tbl * Generator__.Instruction.lhs_inst list引数に local_indegs reg_tbl inds をとる
val match_ : ((int * int) list * Analyzer.b_ind list) -> ((string * string) list * (string * int) list) -> Generator__.Register_table.reg_tbl * Generator__.Instruction.lhs_inst listルール左辺を中間命令列に変換する