为了学ANTLR,去看B站哈工大的编译原理(以前竟然没有学过编译原理,汗!),里面有一个习题,写出无符号整数的文法,网上看了一些,都不对,自己写了一个:
S -> DT | D | 0
T -> TD | T0 | D | 0
D -> 1 | 2 | ... | 9一种更紧凑的表达:
S -> 0 | D(D∪0)*
D -> 1|2|3...|9其中:∪和*都是集合运算符。
这里使用的是2型文法,也就是使用最广泛的上下文无关文法。
版权声明:本文为yians原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。