LustreAstInlineConstantsInlining constants throughout the program
module TC = TypeCheckerContextmodule LA = LustreAsttype error_kind = | Unknown of string| FreeIntIdentifier of HString.t| ConstantMustBeInt of LA.expr| UnaryMustBeInt of LA.expr| BinaryMustBeInt of LA.expr| FreeBoolIdentifier of HString.t| ConstantMustBeBool of LA.expr| UnaryMustBeBool of LA.expr| BinaryMustBeBool of LA.expr| IdentifierMustBeConstant of HString.t| UnableToEvaluate of LA.expr| WidthOperatorUnsupported| OutOfBounds of stringval error_message : error_kind -> stringReturns an message describing the error kind
val inline_constants :
TC.tc_context ->
LA.t ->
(TC.tc_context * LA.t, [> error ]) Stdlib.resultBest effort at inlining constants
val inline_constants_of_lustre_type :
?ind_vars:HString.t list ->
TC.tc_context ->
LA.lustre_type ->
LA.lustre_typeBest effort at inlining constants in a lustre type
val eval_int_expr : TC.tc_context -> LA.expr -> (int, [> error ]) Stdlib.resulttry to evaluate an expression to an int