Module Corelang

パーザによって得られた抽象構文木を解析し,Core language に変換する

include Corelang__.Syntax

アルファ変換後のリンク名

type c_atom = string * c_link list
type c_conn = string * string
type c_rule =
| CRule of string * c_atom list * Parse.arg list * (c_atom list * c_conn list)

dumper

val string_of_atom : (string * c_link list) -> string
val string_of_atoms : (string * c_link list) list -> string
val string_of_connector : (string * string) -> string
val string_of_connectors : (string * string) list -> string
val string_of_rhs : ((string * c_link list) list * (string * string) list) -> string
val string_of_rule : c_rule -> string
val string_of_sem_graph : ((string * c_link list) list * c_rule list) -> string
include Corelang__.Compile_error
exception CompileError of string

コンパイルエラー

val corelang_of_atoms : Parse.arg list -> Corelang__.Link.LinkSet.t * ((string * Corelang__.Syntax.c_link list) list * (string * string) list)

アトムのリストの

  • リンク条件をチェックし,自由リンクを取得する
  • コネクタをできるだけ吸収する
val corelang_of_proc : Parse.proc -> (Corelang__.Link.LinkSet.t * (Corelang__.Syntax.c_atom list * Corelang__.Syntax.c_conn list)) * Corelang__.Syntax.c_rule list
val corelang_of_rule : (string * (Parse.proc * Parse.proc * Parse.proc)) -> Corelang__.Syntax.c_rule
val corelang_of_ast : Parse.proc -> Corelang__.Syntax.c_atom list * Corelang__.Syntax.c_rule list

抽象構文木から Core language へ変換する