問題タブ [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 通訳

私は言語で Brainfuck インタープリターを作成することにより、 nim (執筆時点ではまだ nimrod と呼ばれています) をいじっています。ループを実装しないと、次のようになります。

正常にコンパイルされますが、次のような入力をスローすると:

「N」を返す文字「A」を出力する必要があります。何か案は?

0 投票する
2 に答える
902 参照

d - Nimrod の Ada のような型

今日、私は D メーリング リストで、たとえば Ada のwikiページの例と同様の方法でカスタム データ型を定義して使用できるかどうかを尋ねました。

そして返信は次のようなものを示しました:

これは可能であることを示していますが、おそらく Ada のエレガンスを見逃しています。

さて、最近 Nimrod について読んだ後、同じ Ada の型安全性を確保するために、Nimrod が同様のタスクをどのように処理できるのだろうか?

0 投票する
2 に答える
1365 参照

bitwise-operators - Nimrod では、ビット演算の構文は何ですか?

Nimrod を発見したばかりで、基本的な質問があります (ドキュメントで答えが見つかりませんでした)。

ビット演算をどのように使用しますか? x が int として定義されている次のコードがあります。

これはコンパイルされません:

そして、私が試してみると:

私は得る

トリックは何ですか?

0 投票する
1 に答える
308 参照

inheritance - Nimrod プログラムをコンパイルする継承された型の宣言されていないフィールド

次のコードをコンパイルしようとします。

しかし、次のエラーが表示されます。

エラー: 宣言されていないフィールド: 'id'

どのようにid宣言されていませんか?コード サンプルは、チュートリアルから直接引用したものです。チュートリアルに反映されていない言語の変更はありましたか?


また、次のコードを実行しようとすると:

次のエラーが表示されます。

SIGSEGV: 不正なストレージ アクセスです。(nil から読み取ろうとしていますか?)

なんで?

0 投票する
1 に答える
956 参照

parsing - Nimrod でコンパイル時に文字列を解析するにはどうすればよいですか?

Nimrodのチュートリアルの第 2 部を進めていくと、マクロについて説明する部分に到達しました。ドキュメントには、コンパイル時に実行されると書かれているので、文字列を解析してドメイン固有の言語を自分で作成できると考えました。ただし、これを行う方法の例はありません。デバッグ マクロの例には、文字列パラメーターの処理方法が表示されていません。

次のようなコードを変換したい:

…手書きで次のように記述します。

明らかに、この例はあまり役に立ちませんが、より複雑なものを実装するのに役立つ単純なもの (複数行/カンマ分割、変換) を見てみたいと思います。

ここでの私の問題は、マクロがどのように入力文字列を取得し、それを解析するか (コンパイル時!)、およびコンパイル時に実行できるコードの種類 (それは単なる言語のサブセットですか? 他のマクロ/コードを使用できますか?インポートされたモジュール)?

編集:答えに基づいて、質問に対する可能なコード解決策があります:

0 投票する
3 に答える
332 参照

macros - 複雑なパラメーターを Nimrod マクロに渡す

設定パラメータをマクロに渡したいです。これらのパラメーター (シーケンスのタプル) に基づいて Nimrod コードの文字列を生成する手順が既にあります。文字列を渡してstrValで変換できることはわかっています(回答https://stackoverflow.com/a/19956317/334703を参照)。より複雑なデータでも同じことができますか?

または、この Nimrod コードの文字列をコンパイル時のプロシージャで使用して、 parseStmtなどのプロシージャを呼び出すことはできますか?

編集: Nimrod コードの生成は、私のアイデアをテストするのに役立ちました。AST を直接生成する必要があることに同意します。

これが私が考えている構造の例です。

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 - フィールド名のないタプル

各フィールドに名前を付けなくても、nimrod でタプルを宣言できることに気付きました。例えば:

ただし、これは最後に提出されたものには適用されません

何故ですか?これは意図したものですか?最後のフィールドに常に名前を付ける必要があるのはなぜですか?

0 投票する
1 に答える
495 参照

nimrod - Nimrod 初心者 - Fizzbuzz - コンパイルと実行

最初の nimrod プログラムを fizzbuzz にコンパイルして実行してみました。

Nimrod は git からインストールされ、バージョンは .

だからここにフィズバズがあります

私はcにコンパイルしました(より良いオプションはありますか?)、それは私には問題ないように見えました。

しかし、それを実行しても何も出力されません。私が間違っていることはありますか?