lutin

Lutin: modeling stochastic reactive systems
IN THIS PACKAGE
Module CoIdent
type space

remet le module a zero ...

val new_space : unit -> space
type t = string

Ident dans target, unique par nommage

val to_string : t -> string
val list_to_string : t list -> string -> string
val get_fresh : space -> string -> t

L'unicit des idents target est garantie par la fonction suivante, qui prend un prfixe en paramtre

val get : string -> t

Si on est sr qu'il n'y aurra pas de problme, on peut forcer un nom

val of_cpt : int -> t
val from_string : string -> t

Si le nom doit rester tel quel

REMONTE AU SOURCE DANS LE PROGRAMME EXPANS

type src_stack = (Lexeme.t * Lexeme.t * Syntaxe.val_exp option) list

Remonte au source d'un "target" depuis le code expans

type scope_stack = Lexeme.t * src_stack

Remonte au source d'un scope depuis le code expans

val main_scope : Lexeme.t -> scope_stack

Scope de base

val get_scope : Lexeme.t -> src_stack -> scope_stack
val base_stack : unit -> src_stack
val get_src_stack : Lexeme.t -> scope_stack -> Syntaxe.val_exp option -> src_stack

Avec un scope_stack et une instance de Syntaxe.ident, on fabrique un src_stack complet

val print_src_stack : src_stack -> unit
val string_of_src_stack : src_stack -> string
val head_of_src_stack : src_stack -> Lexeme.t