diff options
| author | Kathy Gray | 2014-03-03 00:04:32 +0000 |
|---|---|---|
| committer | Kathy Gray | 2014-03-03 00:04:32 +0000 |
| commit | 8c2995d69d7d6dbe5f4dbe15457b243b802179a0 (patch) | |
| tree | 5f8a37bfadd85f03b2ea87a8c3c72e3360db078c /language/l2.ml | |
| parent | d62ca20800439a4b1a31e028b3e4451330928bdb (diff) | |
Fixing assorted bugs. Adding ability to put a type on the identifier being assigned to in assignments.
Diffstat (limited to 'language/l2.ml')
| -rw-r--r-- | language/l2.ml | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/language/l2.ml b/language/l2.ml index 4e58d63c..80c94b39 100644 --- a/language/l2.ml +++ b/language/l2.ml @@ -74,6 +74,12 @@ base_effect = type +effect_aux = (* effect set, of kind Effects *) + Effect_var of kid + | Effect_set of (base_effect) list (* effect set *) + + +type order_aux = (* vector order specifications, of kind Order *) Ord_var of kid (* variable *) | Ord_inc (* increasing (little-endian) *) @@ -81,25 +87,19 @@ order_aux = (* vector order specifications, of kind Order *) type -effect_aux = (* effect set, of kind Effects *) - Effect_var of kid - | Effect_set of (base_effect) list (* effect set *) - - -type id_aux = (* Identifier *) Id of x | DeIid of x (* remove infix status *) type -order = - Ord_aux of order_aux * l +effect = + Effect_aux of effect_aux * l type -effect = - Effect_aux of effect_aux * l +order = + Ord_aux of order_aux * l type @@ -289,6 +289,7 @@ and 'a exp = and 'a lexp_aux = (* lvalue expression *) LEXP_id of id (* identifier *) | LEXP_memory of id * ('a exp) list (* memory write via function call *) + | LEXP_cast of typ * id | LEXP_vector of 'a lexp * 'a exp (* vector element *) | LEXP_vector_range of 'a lexp * 'a exp * 'a exp (* subvector *) | LEXP_field of 'a lexp * id (* struct field *) |
