checkpoint
[sbp.git] / tests / meta.g
index e6f2735..11cb9f8 100644 (file)
@@ -4,10 +4,19 @@
 
 s             =  ws! Grammar ws!
 
-Grammar       =  NonTerminal +/ ws
+Grammar       =  Declaration +/ ws
+
+Declaration   =  NonTerminal
+              |  ^"#import" ws! FileName //(ws! "as" ws! Prefix)?
+
+//Prefix        = ([a-zA-Z] ".")+ "*"
+FileName      = FileNameChar+ -> [\r\n ]
+FileNameChar  = Space:: "\\ "
+              | ~[\r\n ]
 
 NonTerminal   =  Word           "="     RHS /ws
               |  Word  "*" ws! ^"=" ws! RHS
+              |  Word  "*/" Word ws! ^"=" ws! RHS
        
 RHS           =  (Sequence +/ (ws! "|" ws!)) +/ (ws! ">" ws!)