about summary refs log tree commit diff
path: root/src/nix-instantiate/nix.sdf
diff options
context:
space:
mode:
Diffstat (limited to 'src/nix-instantiate/nix.sdf')
-rw-r--r--src/nix-instantiate/nix.sdf209
1 files changed, 0 insertions, 209 deletions
diff --git a/src/nix-instantiate/nix.sdf b/src/nix-instantiate/nix.sdf
deleted file mode 100644
index 615bdb974775..000000000000
--- a/src/nix-instantiate/nix.sdf
+++ /dev/null
@@ -1,209 +0,0 @@
-definition
-
-module Main
-imports Fix
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Top level syntax.
-
-module Fix
-imports Fix-Exprs Fix-Layout
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Expressions.
-
-module Fix-Exprs
-imports Fix-Lexicals URI
-exports
-  sorts Expr Formal Bind Binds BindSemi ExprList
-  context-free syntax
-
-    Id -> Expr {cons("Var")}
-
-    Int -> Expr {cons("Int")}
-
-    Str -> Expr {cons("Str")}
-
-    Uri -> Expr {cons("Uri")}
-
-    Path -> Expr {cons("Path")}
-
-    "(" Expr ")" -> Expr {bracket}
-
-    Expr Expr -> Expr {cons("Call"), left}
-
-    "{" {Formal ","}* "}" ":" Expr -> Expr {cons("Function")}
-    Id -> Formal {cons("NoDefFormal")}
-    Id "?" Expr -> Formal {cons("DefFormal")}
-
-    "assert" Expr ";" Expr -> Expr {cons("Assert")}
-
-    "rec" "{" Binds "}" -> Expr {cons("Rec")}
-    "let" "{" Binds "}" -> Expr {cons("LetRec")}
-    "{" Binds "}" -> Expr {cons("Attrs")}
-
-    Id "=" Expr -> Bind {cons("Bind")}
-    {Bind ";"}* -> Binds
-    Bind ";" -> BindSemi 
-    BindSemi* -> Binds
-
-    "[" ExprList "]" -> Expr {cons("List")}
-    "" -> ExprList {cons("ExprNil")}
-    Expr ExprList -> ExprList {cons("ExprCons")}
-
-    Expr "." Id -> Expr {cons("Select")}
-
-    "if" Expr "then" Expr "else" Expr -> Expr {cons("If")}
-
-    Expr "==" Expr -> Expr {cons("OpEq"), non-assoc}
-    Expr "!=" Expr -> Expr {cons("OpNEq"), non-assoc}
-
-    "!" Expr -> Expr {cons("OpNot")}
-    Expr "&&" Expr -> Expr {cons("OpAnd"), right}
-    Expr "||" Expr -> Expr {cons("OpOr"), right}
-    Expr "->" Expr -> Expr {cons("OpImpl"), right}
-
-    Bool -> Expr {cons("Bool")}
-
-  context-free priorities
-
-    Expr "." Id -> Expr
-  > Expr ExprList -> ExprList
-  > Expr Expr -> Expr
-  > "!" Expr -> Expr
-  > Expr "==" Expr -> Expr
-  > Expr "!=" Expr -> Expr
-  > Expr "&&" Expr -> Expr
-  > Expr "||" Expr -> Expr
-  > Expr "->" Expr -> Expr
-  > "assert" Expr ";" Expr -> Expr
-  > "{" {Formal ","}* "}" ":" Expr -> Expr
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Lexical syntax.
-
-module Fix-Lexicals
-exports
-  sorts Id Int Str Path PathComp Bool
-  lexical syntax
-    [a-zA-Z\_][a-zA-Z0-9\_\']* -> Id
-    "rec" -> Id {reject}
-    "let" -> Id {reject}
-    "if" -> Id {reject}
-    "then" -> Id {reject}
-    "else" -> Id {reject}
-    "true" -> Id {reject}
-    "false" -> Id {reject}
-    "assert" -> Id {reject}
-
-    [0-9]+ -> Int
-
-    "\"" ~[\n\"]* "\"" -> Str
-
-    PathComp ("/" PathComp)+ -> Path
-    [a-zA-Z0-9\.\_\-\+]+ -> PathComp
-
-    "true" -> Bool
-    "false" -> Bool
-
-  lexical restrictions
-    Id -/- [a-zA-Z0-9\_\']
-    Int -/- [0-9]
-    Path -/- [a-zA-Z0-9\.\_\-\+\/]
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% URIs (RFC 2396, appendix A).
-
-module URI
-exports
-  sorts Uri Uhierpart Uopaquepart Uuricnoslash Unetpath Uabspath
-        Urelpath Urelsegment Uscheme Uauthority Uregname Userver
-        Uuserinfo Uhostport Uhost Uhostname Udomainlabel Utoplabel
-        UIPv4address Uport Upath Upathsegments Usegment Uparam
-        Upchar Uquery Ufragment Uuric Ureserved Uunreserved Umark
-        Uescaped Uhex Ualphanum Ualpha Ulowalpha Uupalpha Udigit
-  lexical syntax
-    Uscheme ":" (Uhierpart | Uopaquepart) -> Uri
-
-    (Unetpath | Uabspath) ("?" Uquery)? -> Uhierpart
-    Uuricnoslash Uuric* -> Uopaquepart
-
-    Uunreserved | Uescaped | [\;\?\:\@\&\=\+\$\,] -> Uuricnoslash
-
-    "//" Uauthority Uabspath? -> Unetpath
-    "/" Upathsegments -> Uabspath
-    "//" Uuric* -> Uabspath {reject}
-    Urelsegment Uabspath? -> Urelpath
-
-    (Uunreserved | Uescaped | [\;\@\&\=\+\$\,])+ -> Urelsegment
-
-    Ualpha (Ualpha | Udigit | [\+\-\.])* -> Uscheme
-
-    Userver | Uregname -> Uauthority
-
-    (Uunreserved | Uescaped | [\$\,\;\:\@\&\=\+])+ -> Uregname
-
-    ((Uuserinfo "@") Uhostport) -> Userver
-    (Uunreserved | Uescaped | [\;\:\&\=\+\$\,])* -> Uuserinfo
-
-    Uhost (":" Uport)? -> Uhostport
-    Uhostname | UIPv4address -> Uhost
-    (Udomainlabel ".")+ Utoplabel "."? -> Uhostname
-    Ualphanum | Ualphanum (Ualphanum | "-")* Ualphanum -> Udomainlabel
-    Ualpha | Ualpha (Ualphanum | "-")* Ualphanum -> Utoplabel
-    Udigit+ "." Udigit+ "." Udigit+ "." Udigit+ -> UIPv4address
-    Udigit* -> Uport
-
-    Uabspath | Uopaquepart -> Upath
-    Usegment ("/" Usegment)* -> Upathsegments
-    Upchar* (";" Uparam)* -> Usegment
-    Upchar* -> Uparam
-    Uunreserved | Uescaped | [\:\@\&\=\+\$\,] -> Upchar
-
-    Uuric* -> Uquery
-
-    Uuric* -> Ufragment
-
-    Ureserved | Uunreserved | Uescaped -> Uuric
-    [\;\/\?\:\@\&\=\+\$\,] -> Ureserved
-    Ualphanum | Umark -> Uunreserved
-    [\-\_\.\!\~\*\'\(\)] -> Umark
-
-    "%" Uhex Uhex -> Uescaped
-    Udigit | [A-Fa-f] -> Uhex
-
-    Ualpha | Udigit -> Ualphanum
-    Ulowalpha | Uupalpha -> Ualpha
-
-    [a-z] -> Ulowalpha
-    [A-Z] -> Uupalpha
-    [0-9] -> Udigit
-
-  lexical restrictions
-    Uri -/- [a-zA-Z0-9\-\_\.\!\~\*\'\(\)]
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Layout.
-
-module Fix-Layout
-exports
-  sorts HashComment Asterisk Comment EOF
-  lexical syntax
-    [\ \t\n] -> LAYOUT
-    HashComment -> LAYOUT
-    Comment -> LAYOUT
-    "#" ~[\n]* ([\n] | EOF) -> HashComment
-    "//" ~[\n]* ([\n] | EOF) -> HashComment
-    "/*" ( ~[\*] | Asterisk )* "*/" -> Comment
-    [\*] -> Asterisk
-    "" -> EOF
-  lexical restrictions
-    Asterisk -/- [\/]
-    EOF -/- ~[]
-  context-free restrictions
-    LAYOUT? -/- [\ \t\n] | [\#]