diff options
| author | Kathy Gray | 2015-10-08 17:20:55 +0100 |
|---|---|---|
| committer | Kathy Gray | 2015-10-08 17:20:55 +0100 |
| commit | d5dfb8d7a8c45404ad50f0aa1ab70d44ae4985d5 (patch) | |
| tree | 647c748c6bed8586b813a6847a53bae3e9944582 | |
| parent | 8b0c5d3c15682ccada2c7087dc912e7487c81a08 (diff) | |
Add another internal let for Christopher
| -rw-r--r-- | language/l2.lem | 1 | ||||
| -rw-r--r-- | language/l2.ml | 1 | ||||
| -rw-r--r-- | language/l2.ott | 1 |
3 files changed, 3 insertions, 0 deletions
diff --git a/language/l2.lem b/language/l2.lem index 4d26f9b7..9fc9db25 100644 --- a/language/l2.lem +++ b/language/l2.lem @@ -283,6 +283,7 @@ and exp_aux 'a = (* Expression *) | E_internal_exp of annot 'a (* This is an internal use for passing nexp information to library functions, postponed for constraint solving *) | E_internal_exp_user of annot 'a * annot 'a (* This is like the above but the user has specified an implicit parameter for the current function *) | E_internal_let of (lexp 'a) * (exp 'a) * (exp 'a) (* This is an internal node for compilation that demonstrates the scope of a local mutable variable *) + | E_internal_plet of (pat 'a) * (exp 'a) * (exp 'a) (* This is an internal node, used to distinguised some introduced lets during processing from original ones *) and exp 'a = | E_aux of (exp_aux 'a) * annot 'a diff --git a/language/l2.ml b/language/l2.ml index faae6e3f..6a062418 100644 --- a/language/l2.ml +++ b/language/l2.ml @@ -272,6 +272,7 @@ type | E_internal_exp of 'a annot (* This is an internal use for passing nexp information to library functions, postponed for constraint solving *) | E_internal_exp_user of 'a annot * 'a annot (* This is like the above but the user has specified an implicit parameter for the current function *) | E_internal_let of 'a lexp * 'a exp * 'a exp (* This is an internal node for compilation that demonstrates the scope of a local mutable variable *) + | E_internal_plet of 'a pat * 'a exp * 'a exp (* This is an internal node, used to distinguised some introduced lets during processing from original ones *) and 'a exp = E_aux of 'a exp_aux * 'a annot diff --git a/language/l2.ott b/language/l2.ott index 1dcc27da..599d7bdc 100644 --- a/language/l2.ott +++ b/language/l2.ott @@ -648,6 +648,7 @@ exp :: 'E_' ::= | annot :: :: internal_exp {{ com This is an internal use for passing nexp information to library functions, postponed for constraint solving }} | annot , annot' :: :: internal_exp_user {{ com This is like the above but the user has specified an implicit parameter for the current function }} | let lexp = exp in exp' :: :: internal_let {{ com This is an internal node for compilation that demonstrates the scope of a local mutable variable }} + | let pat = exp in exp' :: :: internal_plet {{ com This is an internal node, used to distinguised some introduced lets during processing from original ones }} lexp :: 'LEXP_' ::= {{ com lvalue expression }} |
