summaryrefslogtreecommitdiff
path: root/examples/big/MAP/Lisp.cf
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2006-11-07 16:38:37 +0000
committeraarne <aarne@cs.chalmers.se>2006-11-07 16:38:37 +0000
commit1fd01130157b81d1b8f4e334f93efa25acf0ecc3 (patch)
treee3e550d6df056c6b39fb540e2991a01b8d83e56c /examples/big/MAP/Lisp.cf
parente8bad7f7e0b39e74a276ce46a48446dead919942 (diff)
real parser for Alvey grammar: new version of BigLexEng
Diffstat (limited to 'examples/big/MAP/Lisp.cf')
-rw-r--r--examples/big/MAP/Lisp.cf20
1 files changed, 20 insertions, 0 deletions
diff --git a/examples/big/MAP/Lisp.cf b/examples/big/MAP/Lisp.cf
new file mode 100644
index 000000000..e0fd0de88
--- /dev/null
+++ b/examples/big/MAP/Lisp.cf
@@ -0,0 +1,20 @@
+-- Lisp as used in the Alvey grammar
+
+entrypoints Prog, Exp ;
+
+Pro. Prog ::= [Exp] ;
+
+App. Exp ::= "(" [Exp] ")" ;
+At. Exp ::= Id ;
+IdPlus. Exp ::= IdPl ;
+IdStr. Exp ::= String ;
+Plus. Exp ::= "+" ;
+Minus. Exp ::= "-" ;
+Num. Exp ::= Integer ;
+
+token IdPl ('+' letter (letter | digit | '-' | '_')*) ;
+token Id (letter (letter | digit | '-' | '_')*) ;
+
+terminator Exp "" ;
+
+comment ";;" ;