问题标签 [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.
interpreter - Nimrod的Brainfuck翻译
我正在玩弄nim(在撰写本文时仍称为 nimrod),用该语言编写 Brainfuck 解释器。没有实现循环,我有:
它编译成功,但是当我向它输入一个输入时:
哪个应该打印字符'A'它返回'N'。有任何想法吗?
bitwise-operators - 在 Nimrod 中,按位运算的语法是什么?
我刚刚发现 Nimrod 并且有一个基本问题(在文档中找不到答案)。
你如何使用按位运算?我有以下代码,其中 x 定义为 int :
这不编译:
如果我尝试:
我明白了
有什么诀窍?
inheritance - 继承类型编译 Nimrod 程序中未声明的字段
我尝试编译以下代码:
但我收到以下错误:
错误:未声明的字段:'id'
怎么id
不申报?代码示例直接来自教程。语言中是否有一些未反映在教程中的更改?
另外,如果我尝试运行以下代码:
我收到以下错误:
SIGSEGV:非法存储访问。(尝试从 nil 读取?)
为什么?
parsing - 如何在 Nimrod 的编译时解析字符串?
通过Nimrod 教程的第二部分,我已经到达了解释宏的部分。文档说它们在编译时运行,所以我想我可以对字符串进行一些解析来为自己创建一种特定于域的语言。但是,没有示例说明如何执行此操作,调试宏示例未显示如何处理字符串参数。
我想转换如下代码:
…变成我会手写的东西:
显然这个例子不是很有用,但我想看看一些简单的东西(多行/逗号分割,然后是转换),它可以帮助我实现更复杂的东西。
我的问题是宏如何获取输入字符串,解析它(在编译时!),以及在编译时可以运行什么样的代码(它只是语言的一个子集?我可以使用其他的宏/代码吗?导入的模块)?
编辑:根据答案,这里有一个可能的代码解决方案:
macros - 将复杂参数传递给 Nimrod 宏
我想将配置参数传递给宏。我已经有一个基于这些参数(序列元组)生成一串 Nimrod 代码的过程。我知道我可以传递一个字符串并用strVal转换它(如答案https://stackoverflow.com/a/19956317/334703所示)。我可以对更复杂的数据做同样的事情吗?
或者,我可以在编译时过程中使用此 Nimrod 代码字符串并调用诸如parseStmt 之类的过程吗?
编辑: Nimrod 代码的生成对于测试我的想法很有用,我同意我可能应该直接生成 AST。
这是我正在考虑的结构示例。
ubuntu - 为 Nimrod 安装 Babel 时遇到问题
我在安装时遇到问题babel
。
首先我从github下载了所有东西,
然后我尝试使用安装,
但后来我得到了这个,
我正在运行 Ubuntu 12.04 LTS,并且 Nimrod 0.9.2 安装在/opt/nimrod/
. 我的第一直觉是做sudo chmod a+rwx /opt/nimrod
,但这并没有解决任何问题。你们有什么想法吗?
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?
nimrod - Nimrod 初学者 - Fizzbuzz - 编译和运行
我尝试编写编译和运行我的第一个 nimrod 程序的 fizzbuzz。
Nimrod 是从 git 安装的,版本是。
所以这是一个嘶嘶声
我编译为 c (有更好的选择吗?),对我来说似乎没问题。
但是运行它不会产生任何输出。有什么我做错了吗?