问题标签 [nimrod]

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 投票
1 回答
596 浏览

interpreter - Nimrod的Brainfuck翻译

我正在玩弄nim(在撰写本文时仍称为 nimrod),用该语言编写 Brainfuck 解释器。没有实现循环,我有:

它编译成功,但是当我向它输入一个输入时:

哪个应该打印字符'A'它返回'N'。有任何想法吗?

0 投票
2 回答
902 浏览

d - Nimrod 中的 Ada 类类型

今天我确实在 D 邮件列表中询问是否可以以类似于 Ada 的wiki页面中的示例的方式定义和使用自定义数据类型:

回复显示如下

这表明这是可能的,但可能错过了艾达的优雅。

现在,在最近阅读了 Nimrod 之后,我想知道它如何处理类似的任务以确保相同的 Ada 的类型安全?

0 投票
2 回答
1365 浏览

bitwise-operators - 在 Nimrod 中,按位运算的语法是什么?

我刚刚发现 Nimrod 并且有一个基本问题(在文档中找不到答案)。

你如何使用按位运算?我有以下代码,其中 x 定义为 int :

这不编译:

如果我尝试:

我明白了

有什么诀窍?

0 投票
1 回答
308 浏览

inheritance - 继承类型编译 Nimrod 程序中未声明的字段

我尝试编译以下代码:

但我收到以下错误:

错误:未声明的字段:'id'

怎么id不申报?代码示例直接来自教程。语言中是否有一些未反映在教程中的更改?


另外,如果我尝试运行以下代码:

我收到以下错误:

SIGSEGV:非法存储访问。(尝试从 nil 读取?)

为什么?

0 投票
1 回答
956 浏览

parsing - 如何在 Nimrod 的编译时解析字符串?

通过Nimrod 教程的第二部分,我已经到达了解释宏的部分。文档说它们在编译时运行,所以我想我可以对字符串进行一些解析来为自己创建一种特定于域的语言。但是,没有示例说明如何执行此操作,调试宏示例未显示如何处理字符串参数。

我想转换如下代码:

…变成我会手写的东西:

显然这个例子不是很有用,但我想看看一些简单的东西(多行/逗号分割,然后是转换),它可以帮助我实现更复杂的东西。

我的问题是宏如何获取输入字符串,解析它(在编译时!),以及在编译时可以运行什么样的代码(它只是语言的一个子集?我可以使用其他的宏/代码吗?导入的模块)?

编辑:根据答案,这里有一个可能的代码解决方案:

0 投票
3 回答
332 浏览

macros - 将复杂参数传递给 Nimrod 宏

我想将配置参数传递给宏。我已经有一个基于这些参数(序列元组)生成一串 Nimrod 代码的过程。我知道我可以传递一个字符串并用strVal转换它(如答案https://stackoverflow.com/a/19956317/334703所示)。我可以对更复杂的数据做同样的事情吗?

或者,我可以在编译时过程中使用此 Nimrod 代码字符串并调用诸如parseStmt 之类的过程吗?

编辑: Nimrod 代码的生成对于测试我的想法很有用,我同意我可能应该直接生成 AST。

这是我正在考虑的结构示例。

0 投票
1 回答
848 浏览

math - 你如何在 Nimrod 中使用矩阵?

我在 GitHub 上找到了这个项目;它是为“nimrod 矩阵”返回的唯一搜索词。我把它的基本部分改了一点,使它编译没有错误,然后我添加了最后两行来构建一个简单的矩阵,然后输出一个值,但是“getter”函数不起作用由于某些原因。我修改了此处找到的添加属性的说明,但有些地方不对劲。

到目前为止,这是我的代码。我想在 Nimrod 中使用 GNU 科学图书馆,我认为这是合乎逻辑的第一步。

这是我得到的错误:

谢谢你们!

0 投票
1 回答
267 浏览

ubuntu - 为 Nimrod 安装 Babel 时遇到问题

我在安装时遇到问题babel

首先我从github下载了所有东西,

然后我尝试使用安装,

但后来我得到了这个,

我正在运行 Ubuntu 12.04 LTS,并且 Nimrod 0.9.2 安装在/opt/nimrod/. 我的第一直觉是做sudo chmod a+rwx /opt/nimrod,但这并没有解决任何问题。你们有什么想法吗?

0 投票
1 回答
266 浏览

nimrod - Tuples without field names

I noticed I can declare tuples in nimrod without giving names for each filed. For example:

But this doesn't apply for the last filed

Why is that? Is this intended? Why should the last field always be named?

0 投票
1 回答
495 浏览

nimrod - Nimrod 初学者 - Fizzbuzz - 编译和运行

我尝试编写编译和运行我的第一个 nimrod 程序的 fizzbuzz。

Nimrod 是从 git 安装的,版本是。

所以这是一个嘶嘶声

我编译为 c (有更好的选择吗?),对我来说似乎没问题。

但是运行它不会产生任何输出。有什么我做错了吗?