From 5956ba6b38f56c4aa41f7216f7dabade368bb2f2 Mon Sep 17 00:00:00 2001 From: aarne Date: Sat, 3 Nov 2007 22:00:08 +0000 Subject: command language and gfcc term parser in bnfc --- src/GF/Command/GFShell.cf | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/GF/Command/GFShell.cf (limited to 'src/GF/Command/GFShell.cf') diff --git a/src/GF/Command/GFShell.cf b/src/GF/Command/GFShell.cf new file mode 100644 index 000000000..1f5a9fa6d --- /dev/null +++ b/src/GF/Command/GFShell.cf @@ -0,0 +1,27 @@ +--entrypoints CommandLine, Tree ; + +CLine. CommandLine ::= [Pipe] ; +CEmpty. CommandLine ::= ; +PComm. Pipe ::= [Command] ; +Comm. Command ::= Ident [Option] Argument ; +CNoarg. Command ::= Ident [Option] ; +OOpt. Option ::= "-" Ident ; +OFlag. Option ::= "-" Ident "=" Value ; +VId. Value ::= Ident ; +VInt. Value ::= Integer ; +ATree. Argument ::= Tree ; + +TApp. Tree1 ::= Ident [Tree2] ; +TAbs. Tree ::= "\\" [Ident] "->" Tree ; +TId. Tree2 ::= Ident ; +TInt. Tree2 ::= Integer ; +TStr. Tree2 ::= String ; +TFloat. Tree2 ::= Double ; + +coercions Tree 2 ; + +separator nonempty Pipe ";" ; +separator nonempty Command "|" ; +terminator Option "" ; +terminator nonempty Tree2 "" ; +terminator nonempty Ident "," ; -- cgit v1.2.3