Prolog:DCG 语法错误
我正在尝试解析我正在创建的语言的“函数调用”,但我得到: :30:0 Syntax error: Operator expected 下面的第一行是我收到错误的地方: Fun(FXs) -->…
在 prolog 中读取文件
可能的重复: 在 Prolog 中逐行读取文件 我发现以下内容prolog 代码一次读取一个字符并打印出来。 process(File) :- open('C:/Users/BHARAT/Desktop/…
prolog 中的字符串标记化
我在文本文件“grammar.txt”中有以下上下文无关语法, S ::= a S b S ::= [] 我打开该文件并能够读取序言中的每一行。 现在我想标记每一行并生成一个…
为给定的上下文无关语法生成符号字符串(句子)
我有一个简单的语法,例如 S::=a S b S::=[] (empty string) 现在我想为上述语法编写一个解析器,例如 cfg('S', [a,'S',b]) 通过最左推导生成一个句子…
如何读入文本文件并将其打印到 Prolog 中的文件中?
我有一个文本文件,我想读入它并在屏幕上打印它们并将它们写入新的输出文件。所以到目前为止我所做的是 main :- open('text.txt', read, ID), % open …
在 Prolog 中构建表达式树
我正在寻找一种在 Prolog 中构建表达式树的方法。我已经做了一些实验并提出了以下工作代码(仅处理常量和加号表达式): const(_). plus(_, _). eval(…
重写递归 sicstus prolog 函数
我的目标是有这个输入: L = [a,b,c], build_tree(L,T). 使用这个输出: L = [1,30,kth,5], T = b(l(a),b(l(b),b(l(c)))) ? yes 使用这个代码,可以计…
使用phrase_from_file读取文件的行
我一直在尝试使用 phrase_from_file 和语法规则解析包含整数行的文件 line --> I,line,{integer(I)}. line --> ['\n']. : phrase_from_file(line,'in…
Prolog:将 DCG 语法与其他限制相结合
Prolog 的 DCG 以及我能够快速生成适合特定语法的所有可能结构的速度给我留下了深刻的印象。 但我想将此搜索与其他约束结合起来。例如,定义一个复杂…
这段代码是通过扩展 Prolog DCG 尾递归生成的吗?
以下代码是一个 DCG,用于替换 Request 中所有出现的 Find 和 Replace 。将答案放入 Result 中。感谢 mat 在这个问题。 eos([], []). replace(_, _) -…
使用 prolog DCG 来查找和查找替换 - 代码审查
我想出了以下代码来替换 Request 中所有出现的 Find 和 Replace 。将答案放入 Result 中。这是使用 DCG,因此它们都是字符代码列表。客户端代码将使用…
在 Prolog 中解析而不进行剪切?
我发现了这个在 Prolog 中解析 lisp 的好片段(来自此处): ws --> [W], { code_type(W, space) }, ws. ws --> []. parse(String, Expr) :- phrase(e…