summaryrefslogtreecommitdiff
path: root/examples/unix/UnixEng.gf
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2006-04-12 21:14:32 +0000
committeraarne <aarne@cs.chalmers.se>2006-04-12 21:14:32 +0000
commite07d9dea344e79bfa90def98d965d422b288f600 (patch)
tree61a8b0c4304bca3dc82157197b660b347f3e8953 /examples/unix/UnixEng.gf
parenta42a232c5756593e0681598f940c84f555af09d8 (diff)
unix command grammar started
Diffstat (limited to 'examples/unix/UnixEng.gf')
-rw-r--r--examples/unix/UnixEng.gf30
1 files changed, 30 insertions, 0 deletions
diff --git a/examples/unix/UnixEng.gf b/examples/unix/UnixEng.gf
new file mode 100644
index 000000000..3bed08bc5
--- /dev/null
+++ b/examples/unix/UnixEng.gf
@@ -0,0 +1,30 @@
+--# -path=.:prelude
+
+concrete UnixEng of Unix = open Prelude in {
+
+ flags unlexer=textlit ; lexer=textlit ;
+
+{-
+ lincat
+ Line ;
+ [Command] {1} ;
+ Command ;
+ File ;
+-}
+
+ lin
+ Pipe = infixSS "then" ;
+ Comm c = c ;
+
+ WhatTime = ss ["what time is it"] ;
+ WhatDate = ss ["what date is it"] ;
+ WhereNow = ss ["where am I now"] ;
+ Remove = prefixSS "remove" ;
+ Copy x y = ss ("copy" ++ x.s ++ "to" ++ y.s) ;
+ Linecount = prefixSS ["how many lines has"] ;
+ Wordcount = prefixSS ["how many words has"] ;
+
+ Name x = x ;
+ It = ss "it" ;
+
+}