IR.IdentIdentifiers: program variables and logical variables
include Ppx_compare_lib.Comparable.S with type t := tval compare : t Base__Ppx_compare_lib.compareval yojson_of_t : t -> Ppx_yojson_conv_lib.Yojson.Safe.tval hash_fold_name :
Ppx_hash_lib.Std.Hash.state ->
name ->
Ppx_hash_lib.Std.Hash.stateval hash_name : name -> Ppx_hash_lib.Std.Hash.hash_valuemodule NameGenerator : sig ... endval idlist_to_idset : t list -> Set.tConvert an identifier list to an identifier set
val kprimed : kindval knormal : kindval kfootprint : kindval knone : kindval name_spec : nameName used for spec variables
val name_return : Mangled.tName used for the return variable
val string_to_name : string -> nameConvert a string to a name.
val name_to_string : name -> stringConvert a name to a string.
val create_none : unit -> tCreate a "null" identifier for situations where the IR requires an id that will never be read
Generate a footprint identifier with the given name and stamp.
val update_name_generator : t list -> unitUpdate the name generator so that the given id's are not generated again
val create_path : string -> tGenerate a normal identifier whose name encodes a path given as a string.
val is_primed : t -> boolCheck whether an identifier is primed or not.
val is_normal : t -> boolCheck whether an identifier is normal or not.
val is_footprint : t -> boolCheck whether an identifier is footprint or not.
val is_path : t -> boolCheck whether an identifier represents a path or not.
val is_none : t -> boolCheck whether an identifier is the special "none" identifier
val get_stamp : t -> intGet the stamp of the identifier
val pp_name : Stdlib.Format.formatter -> name -> unitPretty print a name.
val pp : Stdlib.Format.formatter -> t -> unitPretty print an identifier.
val to_string : t -> stringConvert an identifier to a string.
val hashqueue_of_sequence :
?init:unit HashQueue.t ->
t IStdlib.IStd.Sequence.t ->
unit HashQueue.tval set_of_sequence : ?init:Set.t -> t IStdlib.IStd.Sequence.t -> Set.t