問題タブ [interpreter]

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 投票する
3 に答える
1491 参照

lisp - let ステートメントの Lisp 評価

私は Scheme インタプリタを書いていますが、次のような有効な let ステートメントに直面しています:

私のインタープリターは、Scheme の純粋に機能的なサブセットのみを実装しているため、set! などの副作用はありません。純粋に関数型の言語で、上記のように let ステートメント内で複数の式を許可するのはなぜですか?

インタプリタを書く際に、let の最後の式以外を評価する必要がある理由はありますか? 評価された最後のステートメントの結果に影響を与えることはできなかったようです。

0 投票する
7 に答える
9615 参照

python - OS X ターミナルの Python インタープリターでのタブ補完

数か月前、私は標準の Python インタラクティブ インタープリターでタブ補完を実現する方法を詳述したブログ記事を書きました。IPython Unicode の問題が原因で標準インタープリターに切り替える必要がある場合があることを考えると、非常に便利であることがわかりました。

最近、私は OS X でいくつかの作業を行いました。不満なことに、このスクリプトは OS X のターミナル アプリケーションでは機能しないようです。OS X の経験のある方が、ターミナルでも動作するようにトラブルシューティングを手伝ってくれることを願っています。

以下のコードを再現しています

IrlCompleterが真のタブで初期化されるように、ブログ投稿のバージョンから少し編集したことに注意してください。これは、ターミナルの Tab キーによって出力されるようです。

0 投票する
6 に答える
937 参照

testing - インタープリターやコンパイラーをテストするにはどうすればよいでしょうか?

私は Brainfuck 用のインタープリターの作成を実験してきました。作成と実行は非常に簡単ですが、それに対してテストを実行できるようにしたいと考えています。実装が適切であることを確認するために、考えられるすべての命令の組み合わせをテストするために、どれだけ多くのテストを作成する必要があるか、私にはわかりません。

明らかに、Brainfuck の命令セットは小さいですが、命令が追加されると、テスト コードが指数関数的に大きくなると思わずにはいられません。とにかく、典型的なテストよりもそうです。

さて、私はコンパイラーとインタープリターを書くという点であなたが得ることができるのと同じくらい初心者なので、私の仮定はかなり間違っている可能性があります.

基本的に、このようなもののテストはどこから始めますか?

0 投票する
5 に答える
5359 参照

performance - スクリプト作成に適した、すぐに開始できる Haskell インタープリターはありますか?

シェルスクリプトの作成に適した、すぐに起動できる Haskell インタープリターを知っている人はいますか? Hugs を使用して「hello world」を実行すると、古いラップトップでは 400 ミリ秒かかり、現在の Thinkpad X300 では 300 ミリ秒かかりました。瞬時に応答するには遅すぎます。GHCi の使用時間も同様です。

関数型言語は遅い必要はありません。Objective Caml と Moscow ML はどちらも、hello world を 1 ミリ秒以下で実行します。

明確化: 私はGHCのヘビーユーザーであり、GHCiの使い方を知っています。物事を高速化するためのコンパイルについてはすべて知っています。解析コストはまったく関係ないはずです: ML と OCaml が GHCi よりも 300 倍速く起動できるなら、改善の余地があります。

を探しています

  • スクリプト作成の利便性: 1 つのソース ファイル、バイナリ コードなし、すべてのプラットフォームで同じコードが実行される
  • 次のような単純なプログラムの高速起動と実行など、他のインタープリターに匹敵するパフォーマンス

    /li>

より深刻なプログラムのコンパイルされたパフォーマンスを探しているわけではありません。要点は、Haskell がスクリプト作成に役立つかどうかを確認することです。

0 投票する
7 に答える
12815 参照

ruby - すべての実装がバイトコードにコンパイルされている場合、Ruby は本当にインタープリター言語なのでしょうか?

Blue Ruby に関するこの質問に対する選択された回答で、Chuck は次のように述べています。

現在の Ruby 実装はすべてバイトコードにコンパイルされます。SAP の主張に反して、Ruby 1.9 の時点で、MRI 自体にバイトコード コンパイラが含まれていますが、コンパイルされたバイトコードをディスクに保存する機能は、YARV 仮想マシンをマージするプロセスのどこかで消えてしまいました。JRuby は Java .class ファイルにコンパイルされます。私は MagLev についてあまり詳細を知りませんが、それもその道をたどると言っても過言ではありません。

Ruby に関するこのコンパイル/解釈の問題について混乱しています。

Ruby はインタープリター型言語であることを知りました。そのため、Ruby ファイルに変更を保存するときに、プロジェクトを再構築する必要はありません。

しかし、Ruby の実装がすべてコンパイルされたとしても、Ruby はインタープリター型言語であると言えるのでしょうか? それとも私は何かを誤解していますか?

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

scala - scalaのインタプリタでクラスパスに外部ライブラリを追加するには?

Eclipse を使用して作成およびコンパイルされた Scala Interpreter のいくつかのクラスを参照しようとしています。Eclipse は、コンパイル済みの Java バイト コードをフォルダー {workspace}/myProject/bin に保存します。このフォルダーを Scala インタープリターが使用するクラスパスに追加するコマンドはありますか?

scala.bat を編集するか、何らかの引数でパラメータ化する必要があるのではないでしょうか?

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

xml - Flex 3 XML 実装のエラー? xml:lang の書き換え

そのため、TMX ファイルを簡単に編集できるようにするためのクイック ユーティリティに取り組んでいます。TMX は基本的に、多言語翻訳を格納するための XML ベースの標準です。とにかく、ファイル参照を介してTMXをAdobe AIRアプリにインポートしてから、ファイルストリームを取得し、UTF-8文字を文字列に平手打ちし、その文字列をXMLオブジェクトに変換しています。したがって:

しかし、ここが興味深い部分です。fileData次のようにロードされる場合:

Flex の XML は、次のように解釈します。

おお、面白い!属性は にxml:langなりaaa:lang="en" xmlns:aaa="http://www.w3.org/XML/1998/namespace"ます。私の簡単な調査によると、これが起こる前例がいくつかありますが、それはやや厄介な仮定です。過度の文字列置換規則を作成せずに、これを回避する方法はありますか?

0 投票する
8 に答える
1071 参照

java - 解釈されていない言語にガベージ コレクターを含めることはできますか?

非インタープリタード言語にガベージコレクターを持たせることは可能ですか? 解釈された言語では、インタープリターがプログラムを 1 行ずつ実行するため、インタープリターはランタイムに GC を提供することもできます。しかし、コード自体にGCを構築せずに、他の言語用のガベージコレクターを持つことは可能ですか?

0 投票する
7 に答える
1416 参照

c++ - ある言語で書かれたコードはどのようにして別の言語から呼び出されますか

これは私がいつも答えを知りたいと思っていた質問ですが、実際には尋ねられませんでした。

ある言語、特にインタプリタ言語で記述されたコードは、コンパイルされた言語で記述されたコードによってどのように呼び出されますか。

たとえば、C ++でゲームを作成していて、Schemeで作成するAIの動作の一部を外部委託しているとします。Schemeで書かれたコードは、コンパイルされたC ++コードで使用できるようになるにはどうすればよいですか?C ++ソースコードでどのように使用され、C ++コンパイル済みコードでどのように使用されますか?使い方に違いはありますか?

関連している

1つのプロジェクトで複数の言語がどのように相互作用しますか?