Module LustreIdent

module LustreIdent: sig .. end
Lustre identifier

An identifier is a string with a (possibly empty) list of integer indexes.

This module also provides some pre-defined identifiers that are used in the translation.
Author(s): Christoph Sticksel

type t = private Ident.t * int list 
An identifier is a string with integer indexes
val equal : t -> t -> bool
Equality on identifiers
val hash : t -> int
Hash an identifier
val compare : t -> t -> int
Total ordering of identifiers
module Hashtbl: Hashtbl.S  with type key = t
Hash table over identifiers
module Set: Set.S  with type elt = t
Set of identifiers
module Map: Map.S  with type key = t
Map of identifiers

Constructors and Converters

val string_of_ident : bool -> t -> string
Return a string representation of the identifier

string_of_ident safe ident returns the identifier with the indexes appended in [ and ] if safe is false. Otherwise the indexes are appended separated by _, which makes the string a valid Lustre identifier.

val push_index : t -> int -> t
Add the given integer as an index to the identifier
val mk_string_ident : string -> t
Construct an identifier of a string
val of_scope : Scope.t -> t
Construct an identifier of a scope
val to_scope : t -> Scope.t
Return a scope of an identifier

The indexes of the identifier become separate scope levels.

val pp_print_ident : bool -> Format.formatter -> t -> unit
Pretty-print an identifier

pp_print_ident safe ident prints the indexes separated by _ if safe is true as in LustreIdent.string_of_ident.

Reserved Identifiers

val reserved_scope : Scope.t
Scope for reserved identifiers
val user_scope : Scope.t
Scope for identifiers in user input
val abs_ident : t
Identifier for abstracted variables
val oracle_ident : t
Identifier for oracle inputs
val instance_ident : t
Identifier for unique identifier for node instance
val init_flag_ident : t
Identifier for first instant flag
val inst_ident : t
Identifier for instantiated variables in node calls
val index_ident : t
Identifier for index variables in arrays