小编Men*_*ong的帖子

使用 DCG 解析和生成多级列表结构

假设我将“a-list”称为零个或多个“a”的列表:

% as = [a,a,a]
as --> [].
as --> [a], as.
Run Code Online (Sandbox Code Playgroud)

假设我想表示一个“b-list”,一个零个或多个 a-list 的列表:

% bs := [ as,      as  ]
% bs  = [ [a,a,a], [a] ]
bs --> [].
bs --> [A], { phrase(as,A) }, bs.
Run Code Online (Sandbox Code Playgroud)

是否有一些更惯用的说法,不需要使用花括号将 DCG 退出到“正常 Prolog”,只需phrase()再次调用?

parsing prolog nested-lists dcg

5
推荐指数
1
解决办法
57
查看次数

标签 统计

dcg ×1

nested-lists ×1

parsing ×1

prolog ×1