問題タブ [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.
functional-programming - 関数型プログラミングと方程式ソルバー
個人的な実験として、プログラミングや形式言語理論などについてよりよく学ぼうとするために、基本的に一連の方程式を取り込んで未知数を多かれ少なかれ自動的にまたはヒューリスティックに解く言語を書こうとしています。私はCでインタプリタを書くことでこれをやろうとしています.
それほど重要ではありませんが...もっと重要なことに、私はここ数日で関数型プログラミングを発見しました (つまり、ウィキペディアのエントリと簡単な Haskell チュートリアルを読んだことを意味します)。やりたいことに。
私が疑問に思っているのは、私が調べるべき他の言語、または同様のことをしようとするライブラリまたはプログラムを持つ非機能的な言語があるので、私が何であるかをよりよく理解できるようになるということです。するつもりですか?
また、インタープリターなどを書くための良い参考文献はありますか?
ありがとう。
PS ああ、私は Google を使用できるし、使用する必要があることを認識しています。私は側にいます。何よりも、何が良いのか、人々が以前に使用したものについて、「セカンドオピニオン」の集合体を探しています. また、私はここに来たばかりなので、コミュニティをもう少しよく知ろうとしています. お待ち頂きまして、ありがとうございます :-)
perl - Perlは「静的に」解析できますか?
「Perlは解析できません。正式な証明」という記事がラウンドを行っています。では、Perlは解析されたコードの意味を「実行時」または「コンパイル時」で決定しますか?
私が読んだいくつかの議論では、議論は不正確な用語に由来しているという印象を受けるので、あなたの答えの中であなたの専門用語を定義するようにしてください。私は意図的に「ランタイム」、「静的」、「解析」を定義していないので、おそらくこれらの用語を私とは異なる方法で定義している人々からの視点を得ることができます。
編集:
これは静的分析に関するものではありません。Perlの振る舞いについての理論的な質問です。
java - Java; 実行時の解釈; プラグインを追加するための戦略
初めての大規模なプロジェクトに着手しています。ロゼッタストーンによく似たプログラムになります。JavaでSwingを使って書かれた外国語学習用のプログラムになります。私のプログラムでは、ユーザーがダウンロードしたコースを選択して学習できるようにする予定です。私は英語のネイティブ スピーカーなので、英語のコースを作成できます。ただし、他の言語を話す人にも、ユーザーが使用するコースを作成できるようにしてほしい (これは、私のプログラムが機能するために不可欠な部分です)。
ユーザーが必要な言語のコースをダウンロードできるようにしたいので、プログラムにハードコーディングすることは問題外です。コースは実行時に解釈する必要がありました。また、他の人に私の作品に協力してもらいたいので (コースを作成するなど)、彼らが簡単にできるようにする必要があります。
これを行うための最良の方法は何ですか?
私が思いついたアイデアは、使用するテキストとサウンドを詳述する単純な xml ファイルを使用して、厳密に空のコース アウトライン (ハードコード) を作成することです。これの欠点は、作成者を非常に制限することです。異なる言語は、異なる部分を学ぶことから始める必要があるかもしれません。
当面の問題とプロジェクト全体に関するアドバイスをいただければ幸いです。関連するリソースや情報へのリンクも大歓迎です。
あなたの時間と労力を考えて、
ジョセフポンド
python - Pythonでインタプリタを書く。インスタンスは有害であると見なされますか?
ScalaからPythonに作成したドメイン固有言語のインタープリターを移植しています。その過程で、私が広く使用したScalaのケースクラス機能をエミュレートする方法をpythonicで見つけようとしました。結局、isinstanceを使うことにしましたが、何かが足りないのではないかと感じました。
isinstanceの使用を攻撃するこのような記事は、根本的な書き直しを伴わない私の問題を解決するためのより良い方法があるかどうか疑問に思いました。
For、While、Break、Return、Statementなど、それぞれが異なるタイプの抽象構文ツリーノードを表すPythonクラスをいくつか構築しました。
Scalaでは、次のような演算子評価の処理が可能です。
これまでのところ、Pythonへの移植では、elifブロックとisinstance呼び出しを多用して、同じ効果を実現しました。これは、はるかに冗長で非Pythonです。もっと良い方法はありますか?
java - Javaバイトコードをネイティブに実行するハードウェアにJavaインタープリターを実装できますか?
Javaインタープリターをハードウェアに実装する場合、Javaバイトコードのアーキテクチャーの中立性をどのように実現できますか... JavaはJIT(ジャストインタイムインタープリター)を使用しますか?そして、これらすべてがオペレーティングシステムとJava仮想マシン(JVM)の仮想マシンの概念にどのように関連しているか
linux - /usr/bin/perl: インタープリターが正しくありません: テキスト ファイルがビジーです
これは私にとって新しいエラーです: このエラーは何を示していますか?
当時、ディスクを集中的に使用するプロセスがいくつか実行されていましたが、そのメッセージを見たことはありませんでした。実際、Perl スクリプトを実行しようとしたときにエラーが発生したことを覚えているのはこれが初めてです。数秒待った後、私はそれを実行することができました.
Ubuntu 9.04 を実行しており、ファイル システムは ext3 です。
java - JavaのForthインタープリター
ここで、Javaに実装されたSimpleForthInterpreterを見つけました。
でも使いたいのなら意味がわからないの?
Forth通訳者の利点は何でしょうか。
- JVMによって実行される最終的なコンパイル済みコードがまだ「バイトコード」である場合、Forthインタープリターは何をしますか?
- 効率的でタイトなプログラムを書くのに役立ちますか?
- Forthでコードを記述し、インタプリタがそれをJavaに変換しますか?
あなたの考え...
tcl - Tcl の (interp) bgerror の使用方法
スレーブ インタープリターで tclhttpd を実行しようとしていますが、tclkit 内で実行するように少し変更しています。以下のコードは「実行」されます ( http://localhost:8015をヒットできます) が、「サーバーが返されず、[vwait forever] に入る」ため、下部の puts 行には到達しません。しかし、「$httpd eval $cmd」の行に「after 0」を追加するなど、「after 0 トリック」を試すと、サーバーはまったく実行されないため、「エラーは bgerror で処理する必要がある」と推測します。
ただし、bgerror の使用方法の良い例を見つけることができません。さらに、私の調査によると、現在は "interp bgerror" を使用するのが慣習になっています。http://www2.tcl.tk/_/gsearch?S=bgerrorによって返される最初の 2 つの例を参照してください。最初のリンクには「bgerror を使用するための便利なトリックと例を記入してください」という言い回しが含まれていますが、適用方法を識別できるサンプルはなく、2 番目のリンクは「これがどのように使用されることになっているかの例に興味があります」と結論付けています。
javascript - 実行時の dotNet コードの解釈および/または受信
Html には、Javascript を少しだけ埋め込むことができます (たとえば、onclickイベント ハンドラで定義)。
C# などの dotNet 言語を使用して Html ブラウザーを作成している場合、そのような Javascript フラグメントを実行するために使用できるテクノロジまたは API は何ですか?コード)?
実行するコードが Javascript ではなく C# スニペットである場合、それは簡単ですか、それとも難しいですか?
私のコードに異常な権限を持たせる必要のないテクニックはありますか? たとえば、require のようなメソッド(これ
CodeCompiler.FromSourceはSecurityPermissionFlag.UnmanagedCode過剰に思えます。コードをコンパイルするのがなぜそれほど危険なのかわかりません)。クライアント側のコードだけでなくサーバー側のコードも制御する場合は、そのようなスクリプト フラグメントをクライアントではなくサーバー上でコンパイルし、それをプリコンパイル済みコードとしてクライアント側に送信して実行することも検討できます。そのようなコード (おそらく dotNet アセンブリ) をネットワーク経由でクライアントに送信し、クライアント側のコードにネットワークからクライアント側の RAM にそれを受信させ、それをクライアント側で呼び出す方法はありますか?クライアント側のディスク ドライブ上のファイル?
編集
最初の 3 つの質問に対する答えがあります。理由がわかりません。おそらく (これはあまり説得力のある理由ではないと思いますが) コンパイラがアンマネージ コードを使用して実装されているためです。おそらく「C#バージョン5」の時間枠で、マネージコードを使用してコンパイラを再実装すると、これが変更される可能性があります。いずれにせよ、理由が何であれ、それが現状のようであり、回避策はありません (他の同様の API ですが、必要な権限が少なくて済みます)。
私の残りの質問は、Assembly インスタンスをあるマシンから別のマシンに取得する方法です。Assembly.Load(byte[] rawAssembly)時間があれば、信頼できないコードがメソッドを実行できるかどうかを調べます。
javascript - どのゲーム内スクリプト言語をサポートする必要がありますか?
ゲーム内スクリプトはNPC/AIロジックを制御します。
ゲーム内スクリプト機能を実装する場合、どの言語をサポートする必要がありますか?
私の実装は、.net、flash、javascript、javaなどの複数のプラットフォームで実行されることに注意してください。
リストされた可能性の賛否両論は何ですか?インタープリターの実装にはどのくらい時間がかかりますか?
ゲーム内スクリプト作成者が探している機能は何ですか?他のゲームは何を実装していますか?
誰もが読み書きできるので、JavaScriptに投票しようと思っています。
あなたの考えは何ですか?