相关疑难解决方法(0)

在Prolog中解析具有多个数字的数字

我有以下简单的表达式解析器:

expr(+(T,E))-->term(T),"+",expr(E).
expr(T)-->term(T).

term(*(F,T))-->factor(F),"*",term(T).
term(F)-->factor(F).

factor(N)-->nat(N).
factor(E)-->"(",expr(E),")".

nat(0)-->"0".
nat(1)-->"1".
nat(2)-->"2".
nat(3)-->"3".
nat(4)-->"4".
nat(5)-->"5".
nat(6)-->"6".
nat(7)-->"7".
nat(8)-->"8".
nat(9)-->"9".
Run Code Online (Sandbox Code Playgroud)

但是,这仅支持1位数字.在这种情况下,如何解析多位数字?

grammar prolog dcg

10
推荐指数
1
解决办法
1818
查看次数

标签 统计

dcg ×1

grammar ×1

prolog ×1