为什么大多数Lisps和Schemes都是动态输入的?静态类型是否与其某些常见功能混合在一起?
我现在正在学习Lisp.我遇到了两个术语"列表"和"S表达式".我只是无法区分它们.它们只是Lisp中的同义词吗?
你能用静态类型检查(如Java)命名语言,代码是数据(如LISP)吗?我的意思是两种语言.
我一直在玩自然语言解析树并以各种方式操纵它们.我一直在使用斯坦福大学的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)
和(这是一个简化的例子):
例如,采取树的这一部分:
(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中编写了一些重要内容,我不知道从哪里开始.
什么是描述模式的好方法?什么是描述操纵的好方法?什么是思考这个问题的好方法?
我最近一直在使用Clojure,但我仍然不明白我没有得到那些常见的lisp阅读器宏提供的功能.可以用简单的术语解释一下这个吗?
为什么Lisp推广的s表达式不被认为是相对于JSON和XML的选项?是否有一些缺陷使得Lisp s-expression永远不会流行?
是否有任何python模块可用于在Python中解析和操作符号表达式,类似于如何评估Lisp表达式?
我正在开发一个自然语言处理(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#实用程序:
这是一个Java实用程序,我正在寻找一个C#等价物.
任何帮助将非常感激.
我试图解析简单的Lisp/scheme-like代码
E.g. (func a (b c d) )
Run Code Online (Sandbox Code Playgroud)
从中构建一个树,我可以在不使用的情况下在C中进行解析bison
(即,仅
flex
使用返回标记并使用递归构建树).但是,使用bison
语法,我不知道在哪里添加代码来构建列表(即,与累积终端符号相关联的规则以及将构建列表链接到父节点的位置).
s-expression ×10
lisp ×6
nlp ×2
stanford-nlp ×2
bison ×1
c ×1
c# ×1
clojure ×1
common-lisp ×1
flex-lexer ×1
json ×1
list ×1
parsing ×1
python ×1
reader-macro ×1
scheme ×1
tree ×1
xml ×1