問題タブ [interpreted-language]
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.
programming-languages - インタープリターを構築するには何を学ぶ必要がありますか?
私の AQA A2 レベル コンピューティング プロジェクトでは、コンソールに出力する基本的なインタープリター型プログラミング言語を作成することにしました。インタープリターの作成方法がわかりません。user166390 がこの質問への回答で、コンパイラーを構築するための最初のステップはインタープリターを構築するのと同じであると述べたように、コンパイラーの設計に関するすべての紫色のドラゴンブックのコピーを持っています。私の質問は: これは本当ですか?
ドラゴンブックで説明されているテクニックを使ってインタープリターを書くことはできますか? もしそうなら、どの手順を使用し、使用方法を学ぶ必要がありますか?
たとえば、字句解析器、構文解析器、セマンティック アナライザー、中間コード ジェネレーターなどを作成する必要がありますか?
ソース コードの各行を読み取り、それを解析し、すぐに命令を実行する基本的なパーサーを作成することはできますか?
python - インタープリター言語でのリンクとロード
コンパイルされた言語では、ソース コードはコンパイラによってオブジェクト コードに変換され、さまざまなオブジェクト ファイル (複数のファイルがある場合) がリンカーによってリンクされ、実行のためにローダーによってメモリに読み込まれます。
インタープリター言語 (Ruby や Python など) を使用してアプリケーションを作成し、ソース コードが複数のファイルに分割されている場合、ファイルがまとめられるのはいつですか。言い換えれば、リンクはいつ行われるのでしょうか? インタープリター言語には、そもそもリンカーとローダーがありますか、それともインタープリターがすべてを行いますか?
私はこれについて本当に混乱していて、頭を悩ませることができません!! 誰でもこれに光を当てることができますか?!
computer-architecture - インタープリター言語は遅延スロットを使用できますか?
命令を実行するためにパイプライン化されたアーキテクチャを扱う場合、ハザードを回避する方法の 1 つは、遅延スロットを使用するか、特定の命令がその上の行で計算された値にアクセスできないようにするルールを使用することです。私の理解では、依存命令が待機している間に非依存命令を実行できるように、アセンブラは相互に依存しない命令を移動しようとします。この機能は可能ですか、それとも実際のコンパイル時間がないインタープリター言語の場合に発生しますか?
(上記で述べたことが私の理解のギャップを反映している場合は、修正してください。これらの概念は私にとって新しいものであるため)。
java - JITがバイトコードもコンパイルするのに、Javaがコンパイル言語とインタープリター言語の両方であるのはなぜですか?
私は、Javaソースコードが「バイトコード」にコンパイルされ、JITによって「マシンコード」に再度「コンパイル」されることを読みました。つまり、ソースコードは最初にプラットフォームに依存しないバイトコードにコンパイルされ、次にマシン固有のコードに再度コンパイルされます。では、なぜインタープリター言語とコンパイル言語の両方と呼ばれるのでしょうか。解釈はどこで行われますか?
.net - リフレクションを可能にするC#言語の性質とは?
リフレクションを可能にするC#言語の性質とは? それはすべてのオブジェクト指向言語でできることですか、それともすべてのインタープリター言語でできることですか? または、他の何か...
python - C++ アプリケーション内で解析されたスクリプト/スニペットを実行する
私たちは、c++ といくつかの .NET で大規模なコードベースを持っています。ビジュアルスタジオ 2010.
アプリケーションの主要部分は、アクター モデルに基づくノード グラフです。ノードはステート マシンであり、ブール値と数値の入力をブール値と数値の出力に変換し、別のノードの入力などに接続できます。
システムは、さまざまな構成オプションを持つ多くのタイプのノードで構成されています。
顧客は、かなり複雑で柔軟なノード タイプのセットを要求してきました。その一部は、システムが本番稼働するまで完全に明確化されていない可能性があります。Python (または同様の) テキストを構成として受け入れる新しいノード タイプを作成することで、この全体を実装したいと考えています。
Python は利害関係者によって提案されましたが、必ずしも唯一のオプションではありません。VBA のような方法で C++ コード ベース内の別の高級言語を解析して実行するためのオプションは何ですか?
haskell - パターン マッチングを使用したインタープリター言語を推奨してください
私は、 PythonやRubyのように簡単にスクリプトを記述できるインタープリター言語を探していますが、Haskell の雰囲気がより強いもの (関数型言語) を探しています。
具体的には、haskel のようなパターン マッチング機能が必要です。そのようなものは存在しますか?
編集: 私は新しい言語を学ぶのが好きで、私が学んできた言語に空白があることに気づいたので、主に質問します.
一方で、Python や Ruby などの機能的な要素を持つ言語を解釈して動的に型付けしたことはありましたが、その概念をあまり取り入れていませんでした。
一方、Haskell は、私が楽しんでいる多くの機能を備えていますが、非常に厳密です (単純なプログラムでさえ動作させるのにかなりの時間がかかります)。
これらの違いを分ける何かがあるのだろうかと思っていました。