Module Corelang
パーザによって得られた抽象構文木を解析し,Core language に変換する
include Corelang__.Syntax
type c_link
=
|
LocalLink of int
局所リンクは一意な id に変換
|
FreeLink of string
自由リンク
|
CProcCtx of string
プロセス文脈
|
CIntData of int
整数アトム
アルファ変換後のリンク名
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)
val string_of_link : c_link -> string
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
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 へ変換する