【发布时间】:2012-11-30 10:03:43
【问题描述】:
我有以下 Prolog 代码:
expression-->first,operator,second.
first-->[X].
operator-->['+'];['-'].
second-->[X].
编译完成后,机器会在命令行中对以下类型的查询响应“yes”:
| ?- expression([5,'+',3],[]).
| ?- expression(['a','-','b'],[]).
| ?- expression([2.8,'+',3.2],[]).
如何将其限制为仅限数字?因此,只有涉及数字的表达式才应该是真实的,例如:| ?- expression([92,'+',23.48],[]).。
【问题讨论】:
标签: prolog context-free-grammar dcg arithmetic-expressions