diff options
author | Son Ho | 2023-08-03 16:21:43 +0200 |
---|---|---|
committer | Son Ho | 2023-08-03 16:21:43 +0200 |
commit | 931fabe3e8590815548d606b33fc8db31e9f6010 (patch) | |
tree | ba99ca0412c8e08cd8e89edbbd287c3b306ebfd8 /compiler/SymbolicAst.ml | |
parent | fa682c18c8ffc5fa7224d9e9d0e0dd94250ada57 (diff) |
Fix an issue with the extraction of aggregated arrays
Diffstat (limited to 'compiler/SymbolicAst.ml')
-rw-r--r-- | compiler/SymbolicAst.ml | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/compiler/SymbolicAst.ml b/compiler/SymbolicAst.ml index 787fefc7..7dc94dcd 100644 --- a/compiler/SymbolicAst.ml +++ b/compiler/SymbolicAst.ml @@ -167,7 +167,7 @@ type expression = Contexts.eval_ctx * mplace option * V.symbolic_value - * V.typed_value + * value_aggregate * expression (** We introduce a new symbolic value, equal to some other value. @@ -246,6 +246,13 @@ and expansion = T.integer_type * (V.scalar_value * expression) list * expression (** An integer expansion (i.e, a switch over an integer). The last expression is for the "otherwise" branch. *) + +(* Remark: this type doesn't have to be mutually recursive with the other + types, but it makes it easy to generate the visitors *) +and value_aggregate = + | SingleValue of V.typed_value (** Regular case *) + | Array of V.typed_value list + (** This is used when introducing array aggregates *) [@@deriving show, visitors |