标签: s-expression

为什么大多数S表达式语言都是动态输入的?

为什么大多数Lisps和Schemes都是动态输入的?静态类型是否与其某些常见功能混合在一起?

lisp scheme programming-languages s-expression

25
推荐指数
3
解决办法
1455
查看次数

Lisp:list vs S-expression

我现在正在学习Lisp.我遇到了两个术语"列表"和"S表达式".我只是无法区分它们.它们只是Lisp中的同义词吗?

lisp list s-expression

23
推荐指数
3
解决办法
1万
查看次数

您是否知道使用静态类型检查语言,其中Code是Data?

你能用静态类型检查(如Java)命名语言,代码是数据(如LISP)吗?我的意思是两种语言.

lisp programming-languages static-typing s-expression

17
推荐指数
3
解决办法
1827
查看次数

我如何操纵解析树?

我一直在玩自然语言解析树并以各种方式操纵它们.我一直在使用斯坦福大学的Tregex和Tsurgeon工具,但代码很混乱,并不适合我的Python环境(这些工具是Java,不适合调整).我想要一个工具集,当我需要更多功能时,它可以轻松进行黑客攻击.还有其他工具非常适合在树上进行模式匹配,然后操纵那些匹配的分支吗?

例如,我想将以下树作为输入:

(ROOT
  (S
    (NP
      (NP (NNP Bank))
      (PP (IN of)
        (NP (NNP America))))
    (VP (VBD used)
      (S
        (VP (TO to)
          (VP (VB be)
            (VP (VBN called)
              (NP
                (NP (NNP Bank))
                (PP (IN of)
                  (NP (NNP Italy)))))))))))
Run Code Online (Sandbox Code Playgroud)

和(这是一个简化的例子):

  1. 找到标签为NP的任何节点,其中第一个孩子的标签为NP,一些后代名为"Bank",第二个孩子的标签为PP.
  2. 如果匹配,则获取PP节点的所有子节点并将它们移动到匹配的NP子节点的末尾.

例如,采取树的这一部分:

(NP
  (NP (NNP Bank))
  (PP (IN of)
    (NP (NNP America))))
Run Code Online (Sandbox Code Playgroud)

把它变成这个:

(NP
  (NP (NNP Bank) (IN of) (NP (NNP America))))
Run Code Online (Sandbox Code Playgroud)

由于我的输入树是S表达式,我考虑使用Lisp(嵌入到我的Python程序中)但是我已经写了很长时间,我在Lisp中编写了一些重要内容,我不知道从哪里开始.

什么是描述模式的好方法?什么是描述操纵的好方法?什么是思考这个问题的好方法?

lisp nlp pattern-matching stanford-nlp s-expression

15
推荐指数
3
解决办法
3540
查看次数

Clojure没有常见的lisp阅读器宏有什么优势?

我最近一直在使用Clojure,但我仍然不明白我没有得到那些常见的lisp阅读器宏提供的功能.可以用简单的术语解释一下这个吗?

clojure common-lisp s-expression reader-macro

14
推荐指数
3
解决办法
1830
查看次数

与JSON和XML相比,为什么不使用s表达式?

为什么Lisp推广的s表达式不被认为是相对于JSON和XML的选项?是否有一些缺陷使得Lisp s-expression永远不会流行?

xml json s-expression

12
推荐指数
1
解决办法
2176
查看次数

在Python中解析S表达式

是否有任何python模块可用于在Python中解析和操作符号表达式,类似于如何评估Lisp表达式?

python s-expression

11
推荐指数
1
解决办法
6350
查看次数

是否有一个C#实用程序用于匹配(语法分析)树中的模式?

我正在开发一个自然语言处理(NLP)项目,在该项目中,我使用语法分析器从给定的句子中创建一个语法分析树.

示例输入:我遇到Joe和Jill然后我们去购物
示例输出: [TOP [S [S [NP [PRP I]] [VP [VBD run] [PP [IN into] [NP [NNP Joe] [CC和[NNP Jill]]]]] [CC和] [S [ADVP [RB然后]] [NP [PRP我们]] [VP [VBD去] [NP [NN购物]]]]]] 在此输入图像描述

我正在寻找一个允许我执行复杂查询的C#实用程序:

  • 获得与'Joe'相关的第一个VBD
  • 让NP最接近'购物'

这是一个Java实用程序,我正在寻找一个C#等价物.
任何帮助将非常感激.

c# tree nlp stanford-nlp s-expression

11
推荐指数
1
解决办法
1445
查看次数

使用flex/bison构建Lisp/Scheme类似的解析树

我试图解析简单的Lisp/scheme-like代码

E.g. (func a (b c d) )
Run Code Online (Sandbox Code Playgroud)

从中构建一个树,我可以在不使用的情况下在C中进行解析bison(即,仅 flex使用返回标记并使用递归构建树).但是,使用bison语法,我不知道在哪里添加代码来构建列表(即,与累积终端符号相关联的规则以及将构建列表链接到父节点的位置).

我的语法类似于这里的语法: yacc中Lisp语法,语法是正确的,可以识别代码.

lisp parsing bison s-expression flex-lexer

10
推荐指数
1
解决办法
3458
查看次数

将C写为s表达式

我想在s表达式中编写C并使用编译时宏.有人知道有什么事吗?它应该将s表达式转换为标准C.

c lisp s-expression

9
推荐指数
1
解决办法
2415
查看次数