summaryrefslogtreecommitdiff
path: root/src/Transfer/Core/Core.cf
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2008-06-25 16:43:48 +0000
committeraarne <aarne@cs.chalmers.se>2008-06-25 16:43:48 +0000
commitb96b36f43de3e2f8b58d5f539daa6f6d47f25870 (patch)
tree0992334be13cec6538a1dea22fbbf26ad6bdf224 /src/Transfer/Core/Core.cf
parentfe367412e0aeb4ad5c02de68e6eca382e0f96984 (diff)
removed src for 2.9
Diffstat (limited to 'src/Transfer/Core/Core.cf')
-rw-r--r--src/Transfer/Core/Core.cf93
1 files changed, 0 insertions, 93 deletions
diff --git a/src/Transfer/Core/Core.cf b/src/Transfer/Core/Core.cf
deleted file mode 100644
index cd4c20569..000000000
--- a/src/Transfer/Core/Core.cf
+++ /dev/null
@@ -1,93 +0,0 @@
--- This is a subset of the front-end language
-
-entrypoints Module, Exp ;
-
-comment "--" ;
-comment "{-" "-}" ;
-
-Module. Module ::= [Decl] ;
-separator Decl ";" ;
-
-DataDecl. Decl ::= "data" CIdent ":" Exp "where" "{" [ConsDecl] "}" ;
-TypeDecl. Decl ::= CIdent ":" Exp ;
-ValueDecl. Decl ::= CIdent "=" Exp ;
-
-ConsDecl. ConsDecl ::= CIdent ":" Exp ;
-separator ConsDecl ";" ;
-
-separator Pattern "";
-
--- Constructor patterns.
-PCons. Pattern ::= "(" CIdent [Pattern] ")" ;
-
--- Variable patterns. Note that in the core language,
--- constructor patterns must have parantheses.
-PVar. Pattern ::= PatternVariable ;
--- Record patterns.
-PRec. Pattern ::= "rec" "{" [FieldPattern] "}";
--- String literal patterns.
-PStr. Pattern ::= String ;
--- Integer literal patterns.
-PInt. Pattern ::= Integer ;
-
-FieldPattern. FieldPattern ::= CIdent "=" Pattern ;
-separator FieldPattern ";" ;
-
--- Variable patterns
-PVVar. PatternVariable ::= CIdent ;
--- Wild card patterns
-PVWild. PatternVariable ::= "_" ;
-
--- Let expressions.
-ELet. Exp ::= "let" "{" [LetDef] "}" "in" Exp ;
-LetDef. LetDef ::= CIdent "=" Exp ;
-separator LetDef ";" ;
-
--- Case expressions.
-ECase. Exp ::= "case" Exp "of" "{" [Case] "}" ;
-Case. Case ::= Pattern "|" Exp "->" Exp ;
-separator Case ";" ;
-
--- Lambda abstractions.
-EAbs. Exp1 ::= "\\" PatternVariable "->" Exp ;
--- Function types.
-EPi. Exp1 ::= "(" PatternVariable ":" Exp ")" "->" Exp ;
-
--- Function application.
-EApp. Exp3 ::= Exp3 Exp4 ;
-
--- Record field projection.
-EProj. Exp4 ::= Exp4 "." CIdent ;
-
--- Record types.
-ERecType. Exp5 ::= "sig" "{" [FieldType] "}" ;
-FieldType. FieldType ::= CIdent ":" Exp ;
-separator FieldType ";" ;
-
--- Record expressions.
-ERec. Exp5 ::= "rec" "{" [FieldValue] "}" ;
-FieldValue.FieldValue ::= CIdent "=" Exp ;
-separator FieldValue ";" ;
-
-
--- Functions, constructors and local variables.
-EVar. Exp5 ::= CIdent ;
--- The constant Type.
-EType. Exp5 ::= "Type" ;
--- String literal expressions.
-EStr. Exp5 ::= String ;
--- Integer literal expressions.
-EInteger. Exp5 ::= Integer ;
--- Double literal expressions.
-EDouble. Exp5 ::= Double ;
--- Meta variables
-EMeta. Exp5 ::= TMeta ;
-
-token TMeta ('?' digit+) ;
-
-coercions Exp 5 ;
-
-
--- Identifiers in core can start with underscore to allow
--- generating unique identifiers easily.
-token CIdent ((letter | '_') (letter | digit | '_' | '\'')*) ;