首页 文章
  • 0 votes
     answers
     views

    Prolog DCG从字母数字字符构建/识别单词串

    因此,我正在使用Definite Clause Grammars在SWI-Prolog中为一些编程语言编写简单的解析器 . 如果输入字符串或文件对相关语言有效,则返回true;如果输入字符串或文件无效,则返回false . 在所有几乎所有语言中都有一个"identifier"谓词 . 在大多数语言中,标识符被定义为EBNF中的以下内容之一: letter { letter | ...
  • 8 votes
     answers
     views

    反向/回文的递归Prolog谓词

    我可以得到一个带有两个参数的递归Prolog谓词,称为reverse,它返回列表的反转: 示例查询和预期结果: ?- reverse([a,b,c], L). L = [c,b,a]. 一个名为 palindrome 的两个参数的递归Prolog谓词,如果给定列表是回文,则返回true . 具有预期结果的示例查询: ?- palindrome([a,b,c]). false. ?- p...
  • -1 votes
     answers
     views

    关于如何在Prolog中使用这种DCG语法作为自然语言子集的一些疑问

    我正在研究使用Prolog进行自然语言处理的DCG语法,我对是否正确理解它或者是否缺少某些东西有疑问 . 这是我的DCG语法: sentence2(VP) --> noun_phrase2(Actor), verb_phrase2(Actor, VP). /* A noun phrase is a proper name of a person (that is...
  • 4 votes
     answers
     views

    Prolog中的配方

    我目前有以下问题,我想用Prolog解决 . 这是一个简单的例子,在Java / C /中可以很容易地解决 . 我的问题是,我认为过于依赖Java的思维来实际以一种利用Prolog逻辑能力的方式来表达问题 . 问题是...... 我有一组6个箭头,指向左或右 . 我们假设它们处于以下起始配置中: -> <- -> <- -> <- 现在,只要它们彼此相邻,我就...
  • 0 votes
     answers
     views

    正确的线性上下文自由语法

    我有一个问题 . 我必须使用alphapet = {0,1}编写正确的线性上下文无关语法,其中0的数字将是偶数,而数字od 1将是奇数 . 我试着写...但它不起作用 . s --> [1],a. s --> [0],b. a --> []. a --> [1],c. a --> [0],b. c --> [1],k. c --> [0],b. b ...

热门问题