问题标签 [r5rs]
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.
scheme - R6RS 与 R5RS 方案
我对方案比较陌生,很难在网上找到一份具体的文档来概述 R6RS 发生的主要变化。有人愿意详细说明吗?
scheme - Scheme、SICP、R5RS,为什么延迟不是特殊形式?
这与 SICP 的第 3.5 章有关,其中正在讨论流。这个想法是:
不应该评估 cons-stream 的第二部分,所以它不应该打印“hey”。这确实发生了,我得到以下输出:
嘿(1 . #< 承诺 >)
所以我的结论是延迟没有作为一种特殊的形式来实现?还是我做错了什么?我使用以下实现:
延迟是默认的 R5RS 实现。这是实施中的错误,还是我没有正确或理解它?
scheme - 如何将方案列表分解为要传递给过程的参数?
我想将预定义(max)
函数(R5RS)与list
长度不同的数字一起使用。不幸的是,(max)
接受这样的输入:
我正在尝试像这样使用它:
这会产生以下错误。
当我将它们传递给时,如何将此列表分解为我需要的单个参数(max)
?
numbers - ANTLR:R5RS 词法结构的语法,数字问题
我正在使用 DLTK 在 Eclipse 中为方案实现 IDE。到目前为止,我正在编写语法以识别词汇结构。
我正在关注官方的 EBNF,可以在这里查看:
http ://rose-r5rs.googlecode.com/hg/doc/r5rs-grammar.html
我无法得到一种简单形式的数字语法。例如十进制数字,我有
问题是,它没有识别任何东西。我不明白我从 PREFIX_10 得到的警告或如何解决它。如果我不在规则中使用片段,则文件不会编译,因为他抱怨 DIGIT_10 规则与几乎所有其他先前规则匹配相同的输入。
num_2、num_8 和 num_16 也一样
另外,我不确定我的空字符串解决方案。
我怎么绕过这里?
scheme - 用于 Scheme 的 quasiquotations 的 ANTLR 文法
考虑在 EBNF 中遵循语法:http:
//pauillac.inria.fr/cdrom_a_graver/www/bigloo/manual/r5rs-8.html
给定的 quasiquotations 语法不是上下文无关的:
是否可以在 ANTLR 中为此定义语法,尽管它是为无上下文语法设计的?
scheme - ANTLR 解决非 LL(*) 问题和句法谓词
在解析器中考虑以下规则:
和
表达式规则中的 procedure_call 和 macro_rule 替代项会生成非 LL(*) 结构错误。我可以看到问题,因为(IDENTIFIER)
会同时解析。但即使我用+而不是*定义两者,它也会产生错误,即使上面的例子不应该再解析了。
我想出了句法谓词的用法,但我不知道如何在这里使用它们来解决问题。
就像是
或者
也不起作用,因为除了第一条规则之外没有其他规则可以匹配任何内容。有没有合适的方法来解决这个问题?
scheme - 读取文件:语法错误(标识符后有多个表达式)
错误:定义:语法错误(标识符后有多个表达式)
但我看不出有什么问题。有人可以解释/修复它吗?
string - 为什么是 (eq?'bitBlt (string->symbol "bitBlt")) -> #f
R5RS 6.3.3 说
这是否意味着
麋鹿返回#t!
R5RS 还说
(大概这意味着'mISSISSIPi)
和
意味着 symbol->string 返回标准大小写的字符串(本例中为小写)。
所以如果我扩展我的第二个例子
因此
因为 R5RS 中的符号不区分大小写
所以如果我扩展我原来的问题
因此
正确的?但是 R5Rs 说#f!
我在哪里错了?
为什么要指定这种行为?
参考:
http://people.csail.mit.edu/jaffer/r5rs_8.html#SEC49
http://bugs.call-cc.org/browser/numbers/r4rstest.scm?rev=1第468行
实际会话示例:
macros - 是否可以只打印传递给 Scheme 宏的字符串?
我正在使用 guile 方案开发语言翻译器,并且需要处理基本情况,即您尝试转换单个单词。
这应该返回字符串var
而不是数字5
。
如何使用 R5RS 方案宏(define-syntax
样式)来做到这一点?
编辑:
我正在从 Scheme 翻译成 Coffeescript。
scheme - 方案 R5RS - 未定义的标识符
我正在尝试测试教科书“Teaching Nondeterministic and Universal Automata using Scheme”中的一些代码。这是方案,我已将 DrRacket 配置为 R5RS。
我复制了代码的定义部分,但它仍然在抱怨
对未定义标识符的引用:只读磁带
这是相关的代码。
它在这里使用只读磁带:
我运行它
这是教科书的例子。它是否忽略了定义代码?