diff options
| author | bringert <bringert@cs.chalmers.se> | 2005-11-29 18:16:33 +0000 |
|---|---|---|
| committer | bringert <bringert@cs.chalmers.se> | 2005-11-29 18:16:33 +0000 |
| commit | 9a2dea46d103d180c3b0e0780df4f10a8a16f386 (patch) | |
| tree | f3ddcb3dcff372f877241330301d0fd21a614e72 /src/Transfer/Syntax/Syntax.cf | |
| parent | 5b9249a422cb1ac172d6b5f1f03d5cde629d6216 (diff) | |
Use rec and sig for records.
Diffstat (limited to 'src/Transfer/Syntax/Syntax.cf')
| -rw-r--r-- | src/Transfer/Syntax/Syntax.cf | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/Transfer/Syntax/Syntax.cf b/src/Transfer/Syntax/Syntax.cf index 1c4ecb559..1d7083eb3 100644 --- a/src/Transfer/Syntax/Syntax.cf +++ b/src/Transfer/Syntax/Syntax.cf @@ -1,6 +1,6 @@ entrypoints Module, Exp ; -layout "let", "where", "of" ; +layout "let", "where", "of","rec", "sig" ; layout stop "in" ; layout toplevel ; @@ -28,7 +28,7 @@ _. Pattern ::= Pattern1 ; -- Constructor pattern with parantheses PCons. Pattern1 ::= "(" Ident [Pattern] ")" ; -- Record patterns -PRec. Pattern1 ::= "{" [FieldPattern] "}"; +PRec. Pattern1 ::= "rec" "{" [FieldPattern] "}"; -- The pattern matching the Type constant PType. Pattern1 ::= "Type" ; -- String literal patterns @@ -85,15 +85,13 @@ EApp. Exp9 ::= Exp9 Exp10 ; EProj. Exp10 ::= Exp10 "." Ident ; -EEmptyRec. Exp11 ::= "{" "}" ; - -ERecType. Exp11 ::= "{" [FieldType] "}" ; +ERecType. Exp11 ::= "sig" "{" [FieldType] "}" ; FieldType. FieldType ::= Ident ":" Exp ; -separator nonempty FieldType ";" ; +separator FieldType ";" ; -ERec. Exp11 ::= "{" [FieldValue] "}" ; +ERec. Exp11 ::= "rec" "{" [FieldValue] "}" ; FieldValue.FieldValue ::= Ident "=" Exp ; -separator nonempty FieldValue ";" ; +separator FieldValue ";" ; EVar. Exp11 ::= Ident ; EType. Exp11 ::= "Type" ; |
