Module LustreIdent
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
- Christoph Sticksel
type t= private Ident.t * int listAn identifier is a string with integer indexes
val hash : t -> intHash an identifier
Constructors and Converters
val string_of_ident : bool -> t -> stringReturn a string representation of the identifier
string_of_ident safe identreturns the identifier with the indexes appended in[and]ifsafeisfalse. Otherwise the indexes are appended separated by_, which makes the string a valid Lustre identifier.
val mk_string_ident : string -> tConstruct an identifier of a string
val to_scope : t -> Scope.tReturn a scope of an identifier
The indexes of the identifier become separate scope levels.
val pp_print_ident : bool -> Stdlib.Format.formatter -> t -> unitPretty-print an identifier
pp_print_ident safe identprints the indexes separated by_ifsafeistrueas instring_of_ident.
Reserved Identifiers
val reserved_scope : Scope.tScope for reserved identifiers
val user_scope : Scope.tScope for identifiers in user input
val abs_ident : tIdentifier for abstracted variables
val oracle_ident : tIdentifier for oracle inputs
val instance_ident : tIdentifier for unique identifier for node instance
val init_flag_ident : tIdentifier for first instant flag
val inst_ident : tIdentifier for instantiated variables in node calls
val index_ident : tIdentifier for index variables in arrays