我对编程有点陌生(好吧,非常新),我遇到了扩展的巴科斯-诺尔形式,或者EBNF,并决定尝试找出如何使用它。不幸的是,尽管网上有大量关于ebnf如何工作的解释,但在如何实际实现它方面却鲜有可贵之处。所以我用C语言编写了一个简单的程序,看看会发生什么。我写的是:
#include
#include
mixture : [letter|digit] {letter | digit};
integer : ["+"|"-"] digit {digit};
naturalNumber : digit {digit};
digit :"0" |"1" |"2" |"3" |"4" |"5" |"6" |"7" |"8" |"9";
letter :"a" |"b" |"c" |"d" |"e" |"f" |"g" |"h" |"i" |"j" |"k" |"l" |"m" | "n" |"o" |"p" |"q" |"r" |"s" |"t" |"u" |"v" |"w" |"x" |"y" |"z" |"A" |"B" |"C" |"D"|"E" |"F" |" |