我的意思是
LISTOF(EL) := "[" EL ("," EL)* "]"
LISTNUM := LISTOF(NUMBER)
LISTID := LISTOF(IDENT)
所以,定义
NUMBER := ('0'-'9')*
IDENT := ('a'-'z'|'A'-'Z')*
我们有以下
[435,657,44]
是LISTNUM
的示例,
[dsf,thg,ewre]
是LISTID
的示例。
或另一个例子(e表示空字符串)
A(0) := e
A(n) := "a" A(n-1) | e
所以,A(5)是由' a'组成的所有字符串的集合。长度不超过5
有没有科学作品描述类似的东西?我们能否以这种方式描述我们的语法,并且仍然能够在可接受的时间内解析它?
答案 0 :(得分:0)
常用的元语法如Bnf,Abnf和Ebnf没有参数化规则。但是,按照标准,Iso Ebnf是可扩展的。如果我没记错的话,标准实际上会显示一个引入参数的例子。
您可以免费获得标准here。