summaryrefslogtreecommitdiff
path: root/language
diff options
context:
space:
mode:
authorKathy Gray2013-07-18 15:16:16 +0100
committerKathy Gray2013-07-18 15:16:16 +0100
commitce3b6b0c3ea8562c7f58aa960f57ed09622061ce (patch)
treeb9bc29c137ebbeeba09c5312a92d37f52f9c5345 /language
parentbeec6f494f7a0073d672851d6b949ac2b2fc817f (diff)
More parsing
Diffstat (limited to 'language')
-rw-r--r--language/l2.ott8
-rw-r--r--language/l2_parse.ott8
2 files changed, 8 insertions, 8 deletions
diff --git a/language/l2.ott b/language/l2.ott
index 3bdfeba8..47283a84 100644
--- a/language/l2.ott
+++ b/language/l2.ott
@@ -5,7 +5,7 @@ indexvar n , i , j , k ::=
metavar num ::=
{{ phantom }}
{{ lex numeric }}
- {{ ocaml terminal * int }}
+ {{ ocaml (terminal * int) }}
{{ hol num }}
{{ lem (terminal * num) }}
{{ com Numeric literals }}
@@ -332,7 +332,7 @@ order :: 'Ord_' ::=
| dec :: :: dec {{ com decreasing (big-endian) }}
| ( order ) :: S :: paren {{ icho [[order]] }}
-effect :: 'Effect_' ::=
+efct :: 'Effect_' ::=
{{ com effect }}
{{ aux _ l }}
| rreg :: :: rreg {{ com read register }}
@@ -347,8 +347,8 @@ effect :: 'Effect_' ::=
effects :: 'Effects_' ::=
{{ com effect set, of kind $[[Effects]]$ }}
{{ aux _ l }}
- | id :: :: var
- | { effect1 , .. , effectn } :: :: set {{ com effect set }}
+ | effect id :: :: var
+ | effect { efct1 , .. , efctn } :: :: set {{ com effect set }}
| pure :: M :: pure {{ com sugar for empty effect set }} {{ icho [] }}
% TODO: are we going to need any effect polymorphism? Conceivably for built-in maps and folds. Yes. But we think we don't need any interesting effect-set expressions, eg effectset-variable union {rreg}.
diff --git a/language/l2_parse.ott b/language/l2_parse.ott
index 86f31122..0481c602 100644
--- a/language/l2_parse.ott
+++ b/language/l2_parse.ott
@@ -5,7 +5,7 @@ indexvar n , i , j , k ::=
metavar num ::=
{{ phantom }}
{{ lex numeric }}
- {{ ocaml terminal * int }}
+ {{ ocaml (terminal * int) }}
{{ hol num }}
{{ lem (terminal * num) }}
{{ com Numeric literals }}
@@ -304,7 +304,7 @@ kind :: 'K_' ::=
| base_kind1 -> ... -> base_kindn :: :: kind
% we'll never use ...-> Nat
-effect :: 'Effect_' ::=
+efct :: 'Effect_' ::=
{{ com effect }}
{{ aux _ l }}
| rreg :: :: rreg {{ com read register }}
@@ -328,8 +328,8 @@ atyp :: 'ATyp_' ::=
| inc :: :: inc {{ com increasing (little-endian) }}
| dec :: :: dec {{ com decreasing (big-endian) }}
-
- | { effect1 , .. , effectn } :: :: set {{ com effect set }}
+ | effect id :: :: efid
+ | effect { efct1 , .. , efctn } :: :: set {{ com effect set }}
| pure :: M :: pure {{ com sugar for empty effect set }} {{ icho [] }}
% TODO: are we going to need any effect polymorphism? Conceivably for built-in maps and folds. Yes. But we think we don't need any interesting effect-set expressions, eg effectset-variable union {rreg}.