如何解决DCG:正则表达式喜欢匹配规则目标吗?
我之前问过如何做正则表达式之类的匹配:
DCG : zero-or-more,zero-or-one,one-or-more occurrences?
我用它来匹配令牌:
heroku run python manage.py createsuperuser
**You have 17 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin,auth,contenttypes,sessions.
Run 'python manage.py migrate' to apply them.**
Username:
我目前的问题是如何修改它们,使它们不仅适用于令牌,还适用于规则,即将规则目标作为参数传递。
我最初的想法是:
%zero or one
zo(_) --> [].
zo(W) --> [W].
%one or more
omo(W) --> [W].
omo(W) --> [W],omo(W).
%zero or more
zmo(_) --> [].
zmo(W) --> [W],zmo(W).
但它看起来很可疑;\
f.e.这简化了:
zo(G) --> {\+ atomic(G),call(G)}.
那些:
create(Ctx) --> ([create];[make]),zo(new),[Ctx].
想象一下:
create(Ctx) --> [create,Ctx].
create(Ctx) --> [make,new,Ctx].
create(Ctx) --> [create,Ctx].
将解析:
multiple(Ctx) :- omo(create(Ctx)),....
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。