dcg 相关问题

DCG(Definite Clause Grammars)是一种在Prolog中描述列表的简洁方法。

Prolog 循环中的数学表达式 DCG

我正在尝试在 Prolog 中实现数学表达式的 DCG,因为我想做用该语言实现计算器的基本练习,这是我的代码: 莱克斯(添加,'+')。 lex(子, '-'...

回答 1 投票 0

编写包含反转的相同字符串的 DCG

我正在尝试编写一个接受 u0v 形式的字符串的 dcg,其中 u 和 v 是字母表 {1, 2, 3} 上的字符串,u 是 revere 中的 v。我所拥有的似乎有效,因为问题的第一个答案......

回答 1 投票 0

使用 DCG 的斐波那契

我正在尝试在 prolog 中使用 DCG 创建斐波那契数列。我有这个作为初学者,但是我不知道为什么代码没有被执行。 下面是代码: 撒谎...

回答 2 投票 0

Prolog 中的 ' 和 " 有什么区别?

我是 Prolog 新手,注意到 ' 和 " 给出了不同的行为,但很好奇为什么。具体来说,在加载文件时, ?- ['test1.pl']. 有效,而 ?- ["test1 .pl"]。没有。

回答 2 投票 0

使用 dcgs 终止 prolog 查询

鉴于程序 foo([]) --> []. foo([开始|休息]) --> 字母数字(开始), foo(休息)。 alphanum(Ch) --> [Ch], { char_type(Ch, alnum) }. 我怎样才能使查询 length(I, 2), phrase(foo(C)...

回答 1 投票 0

如何在 Prolog 中替换 DCG 文法中的一系列标记?

我想在 Prolog 中替换 DCG 语法中的一系列标记。换句话说,用子列表 B:[b] 替换序列或子列表 A:[a,a,a,a]。 链 -->

回答 4 投票 0

SWI-Prolog中模式识别的滑动窗口方法

我想找到最雄辩和最有效的方法,从算法上讲,来计算 SWI-Prolog 中某些模式的出现次数。 现在,我的解决方案使用 DCG,如下所示:

回答 4 投票 0

在Prolog中实现算术解析器。

我的Prolog代码如下:expression-->first,operator,second.first-->[X].operator-->['+'];['-'].second-->[X]. 编译后,机器在命令中响应 "是"......。

回答 1 投票 0

终端的无限列表 - Prolog语法规则

在Prolog中处理语法规则时,是否可以定义无限数量的终端?下面的例子描述了这个问题:selection-->([if,'('),condition,[')',then,'{'],...。

回答 1 投票 0

在Prolog中并列一个字符串列表

我正在写一个Lisp到C的翻译器,我有一个处理字符串的问题。这是一段将单利斯普函数转换为C语言等价函数的代码: define(F) --> fun_unary(F),!fun_unary(F) ...

回答 4 投票 6

如何在Prolog中创建一个高阶DCG解析器?

我希望有一些更通用的解析器,比如说paren,它可以接受一个解析器,并用括号把它包起来:paren(Parser, Result) --> "(", some_magic_dcg_call(Parser, Result), "...

回答 1 投票 0

Q],[H,P

我如何在prolog中建立一个谓词,接收一个数字和一个列表,我必须通过尾部插入列表中的数字我试过通过头部插入列表中的数字:insert(H,[根据需要扩展它并 "返回"。

回答 4 投票 3

如何在Prolog中评估DCG解析器/生成器?

我在理解Prolog中DCG的语法和用法时遇到麻烦。我正在使用的代码是一种语法解析器,类型为“ a = 1 * 2 +(3-4)/ 5”,这里是对它的选择:factor(factor(...( >

回答 1 投票 1

Prolog DCG解释

我在理解Prolog中DCG的语法和用法时遇到麻烦。我正在使用的代码是一种语法解析器,类型为“ a = 1 * 2 +(3-4)/ 5”,这里是对它的选择:factor(factor(...( >

回答 1 投票 1

[使用prolog dcg的矩阵匹配模式

我发现prolog DCG功能强大,但是我不确定是否可以提取某些2D列表,以便可以用上下文无关文法S表示它-> [A | B] A-> [0,0,0,0,0] A-> NULL B-> [...

回答 1 投票 0

以随机顺序解析DCG

我有一些文本文件要解析,但是示例停止和启动的顺序可能不同。 Stop可能出现在第一个或最后一个,这是一个虚拟的例子,因为有多个...

回答 1 投票 1

DCG和左递归

我正在尝试实现一个采用一组{a,b,c,d} *形式的字符串的dcg。我遇到的问题是,如果我有一个查询形式为s([a,c,b ],[]),它返回true,这是正确的答案,但是当i ...

回答 2 投票 3

在PROLOG中创建DCG解析器

我必须在PROLOG中实现一个上下文无关的解析器,该解析器使用可以生成的语法:我看到了一个教程。我去了图书馆。在图书馆,我看到了一个教程。 (我知道这是不正确的...

回答 1 投票 0

应用半上下文传递附加参数

[这是Mat的答案中的较早问题的后续问题,从此e([number(0)],t1,Uc0,Uc0,Bc0,Bc0)-> []。 e([number(1)],t2 ...

回答 1 投票 3

如何在Prolog中使用DCG

因此,我目前正在尝试使用包含课程和参加该课程的任何人的学生证的文本文件来实现类似于该树的功能。课程([('MATH2221',[...

回答 1 投票 1

© www.soinside.com 2019 - 2024. All rights reserved.