问题标签 [s-expression]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
107 浏览

c# - 在 C# 中解析复杂的树结构文件

我正在尝试构建一个解析器来读取我们在 c# 中使用的树结构文件格式,以便使用 VSTO Excel 界面对其进行修改。(因此 C# 选择否则我会使用 Python 来作为 C# 的初学者......)

格式定义如下:

老实说,我不知道在 C# 中从哪里开始读取这种类型的文件。我看过 OMeta,但我不确定这是个好主意。你能从哪里开始有一些一般性的建议吗?这里有人做过这样的程序吗?

谢谢!!

0 投票
2 回答
1108 浏览

ocaml - 无法使用 s 表达式

我正在关注Real World OCaml以开始使用该语言,并且在某一时刻,我将在模块签名中使用s 表达式。这是我的mli文件:

但是,在编译该接口的实现时,我收到以下错误:

所以我开始utop尝试with sexp一个更简单的例子:

但我收到以下错误:

但是,sexplib已安装,并且本书和我在 Internet 上的搜索均未提及使用此语法的任何“先决条件”。

我觉得我错过了什么。任何的想法?:(

0 投票
2 回答
778 浏览

c - 编写 R 扩展时如何返回命名的 VECSXP

最近我遇到了一个错误,在修复它时我想知道是否可以返回一个 VECSXP(即 R 列表类型),其中元素被命名。这个 c++ 代码:

会给我一个R中两个元素(矩阵和向量)的列表:

可以这样索引:

我必须改变什么才能使这成为可能:

或者这是不可能的?

0 投票
2 回答
482 浏览

erlang - Erlang中的递归列表分析

我正在玩 Erlang 并尝试编写一个 S 表达式解析器。我发现在 Python 中使用堆栈和循环是一项简单的任务,但对于不可变变量和 Erlang 数据结构的初学者来说,这并非易事。

我需要像这样在 Erlang 中转换一个列表:

到目前为止,我已经做到了:

不知道如何获取子列表Lack并将其作为参数传递。我是否朝着正确的方向前进?

0 投票
1 回答
2497 浏览

c++ - Construct binary tree from s-expression in c++

Construct a binary tree by given condition

I get problem with construct it, my program will crush and I have no idea about why it happened, the following is my code and I print out some information for debug, take (99(5()())(35(-5()())())) as a test case, it will print out 99(5( and crush, I think maybe problem is at which I deal with ) where I return node which is NULL, but I can’t find problem with it. By the way, this tree is expected to handle HUNDREDS of nodes in each tree, and Each of the test cases contains up to TEN-THOUSAND trees, will I run out of time with this program or what should I need to do?Thank for your time

0 投票
1 回答
144 浏览

emacs - emacs:将缓冲区内容评估为 s 表达式?

假设我有一个包含以下文本的 emacs 缓冲区:

我想将此缓冲区的内容评估为 lisp 表达式(一个 s 表达式)。如果我调用(eval (buffer-string)),结果只是被评估为以下字符串:

我希望将结果评估为 lisp 语句。在此示例中,我希望结果是一个 3 元素列表,而不是字符串。

我还没有弄清楚如何做到这一点。有任何想法吗?

非常感谢。

0 投票
0 回答
218 浏览

latex - 如何制作一个类似tex的排版引擎

由于(LaTex)的复杂性,我最近想到了一个想法,使用类似scheme(或S-expression)的语言来制作文章/书籍/等,并制作一个可以将格式转换为pdf的排版引擎。但是,我应该使用哪个库?我找到了pango和cairo,但我怀疑它是否合适,或者我应该从零开始创建一个?有没有我可以使用的参考资料?[例如。https://github.com/bramstein/typeset ]

0 投票
2 回答
200 浏览

clojure - 如何将简单文档表示为 s-exp?

我试图了解如何在 s 表达式中表达一个简单的文档。这就是我的意思。假设我有这个简单的 html 结构:

还让我们假设我可以丢失原始标签出处并且只想保留结构。这怎么能用sexp来表达呢?我最初的尝试(使用 clojure)看起来像这样,但我不确定它是否正确:

0 投票
2 回答
322 浏览

ruby - Ruby AST 中的“send”关键字是什么意思?

我正在尝试学习 Ruby 词法分析器和解析器(whitequark 解析器),以了解更多关于从 Ruby 脚本进一步生成机器代码的过程。

在解析以下 Ruby 代码字符串时。

它产生以下 S 表达式表示法。

谁能解释一下生成的 S 表达式符号中:send关键字的定义?

0 投票
1 回答
138 浏览

parsing - 使用 ANTLR4 解析可以包含括号的列表

假设我想创建一个类似于 Lisp 的语法,其中所有表达式都在左括号和右括号之间。

例如:

我还希望语法能够将字符串('(def foo))解析为类似于(expression ( literal '(def foo) )). 这意味着它应该成功地将文字表达式中的括号与文字相关联。