問題タブ [ecma262]

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 に答える
191 参照

c# - ECMAScript 実装の再帰機能を改善するにはどうすればよいですか?

いくつかの再送テストの後、私の実装ではあまり多くの再帰を処理できないことがわかりました。Firefox でいくつかのテストを実行した後、これは当初考えていたよりも一般的である可能性があることがわかりました。基本的な問題は、私の実装では、関数呼び出しを行うために 3 つの呼び出しが必要であることだと思います。最初の呼び出しは、名前付きのメソッドに対してCall行われ、呼び出しが呼び出し可能なオブジェクトに対して行われていることを確認し、参照であるすべての引数の値を取得します。2 番目の呼び出しはCallICallableインターフェース。このメソッドは、新しい実行コンテキストを作成し、ラムダ式が作成されていない場合はビルドします。最後の呼び出しは、関数オブジェクトがカプセル化するラムダに対して行われます。関数呼び出しを行うのは明らかにかなり重いですが、この実装を使用する場合、少し調整するだけで再帰を実行可能なツールにできると確信しています。

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

javascript - JavascriptIN演算子の互換性

IN演算子が使用可能なECMAバージョンと、それをサポートしているブラウザ(バージョン)を教えてもらえますか?

説明:

IN演算子は、次のように使用できます。

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

c# - スクリプトエンジンを効果的にテストするにはどうすればよいですか?

私はECMAScriptの実装に取り​​組んでおり、現在プロジェクトの磨き上げに取り組んでいます。その一環として、私は次のようなテストを作成しています。

問題は、このテストおよび同様のテストには非常に多くの障害点があり、ほとんど価値がないように思われることです。モジュール間の結合を減らすために、私の努力を費やしたほうがよいようです。真の単体テストを作成するには、次のようなものを想定する必要があります。

これを行うには、何千ものテストを作成する必要がありますが、これも価値がないようです。

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

javascript - ECMAScript RegExp文法の代替記号が再帰的に残されているのはなぜですか?

オルタナティブが再帰的に残されている理由を私は一生理解できません。それは本当に私のパーサーにレンチを投げます。

これは、仕様のセマンティクス部分にある、正確には明確ではない注記です。たぶん、私がこれを理解すれば、その理由は明らかになるでしょうか?

注連続する用語は、入力文字列の連続する部分を同時に一致させようとします。左の代替、右の用語、および正規表現の続編にすべて選択ポイントがある場合、右の用語の次の選択肢に進む前に、続編のすべての選択肢が試され、右の用語のすべての選択肢が前に試されます左側の選択肢の次の選択肢に移動します。

左再帰文法を適切に処理できるのはどのようなパーサーですか?

0 投票する
4 に答える
573 参照

javascript - JavaScript / ECMA の多くの名前

JavaScript の新しい機能を調べていて、ECMAScript/ECMA 5 を見つけました。

聞いたことがなかったので、さらに調べてみると、次のようなさまざまな名前の形であることがわかりました。

私が読んだところによると、JavaScript の新しい実装が起草されている間、それは ECMA-262 エディション {edition_number} または {name} と呼ばれているようです。

それぞれが ECMAScript の実装であれば方言であることはわかっているので、わずかに異なる方法でなければ同じように機能します。

JavaScript と ECMAScript は何らかの形で異なりますか、それとも名前だけですか?

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

c# - 「toExponential」アルゴリズムの実装を最適化して精度を向上させるにはどうすればよいですか?

私の実装は少し素朴な気がします。精度が+/- 0.0001とかなり小さい変数minに注意してください。精度をさらに上げると、コードが遅すぎます。max

アルゴリズム

代替テキスト http://img35.imageshack.us/img35/2060/toexponential.jpg

コード

最終版

私が最初にこれを書いたとき、誰かが特に大きなハンマーで私を殴ったに違いないことを誓います...

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

c# - "dtoa.c" にこれほど多くのコードが含まれているのはなぜですか?

低レベルのプログラミングに関する私の全体的な知識が少しまばらであることを最初に認めます。コアとなる概念の多くは理解していますが、定期的に使用することはありません。そうは言っても、 dtoa.cに必要なコードの量には本当に驚きました。

過去 2 か月間、私は C# での ECMAScript の実装に取り​​組んできましたが、エンジンの穴を埋めるのに時間がかかりました。昨夜、ECMAScript 仕様(pdf)のセクション15.7.4.2で説明されているNumber.prototype.toStringの作業を開始しました。セクション9.8.1で、注 3 はdtoa.cへのリンクを提供していますが、私はチャレンジを探していたので、表示するのを待ちました。以下は私が思いついたものです。

低レベルのプログラミングの経験が豊富な人なら、dtoa.cのコードが約 40 倍になる理由を説明できますか? C# がそれほど生産的であるとは想像できません。

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

javascript - NullLiteralはツリー形式でどのように表されますか?

セクション7.8.1のECMAScript仕様によると、aは次のように定義されています。NullLiteral

私が理解しようとしているのは、セクション7.6.17.8NullLiteralにある次のプロダクションにaが含まれている場合に、これがツリー形式でどのように表されるかです。

それがどのように見えるかについての私の最もよい推測はこれです:

しかし、これは私には正しくないようです。

ノート

私の調査によると、言語文法から実際にCSTを生成するコンパイラはほとんどないようです。もちろん理由は理解できますが、これは私にとって学習演習であるため、パーサジェネレータを使用するなど、より専門的な構文解析手段に移行する前に、これを正しく理解したいと思います。

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

javascript - node.js/V8のIDE実行/デバッグを備えたECMAScript-262用IDE

私は現在、他の言語の IDE として Eclipse を使用しており、IDE を離れる必要がないことに慣れていますが、純粋な ECMAScript-262 に対して同じまたは類似の設定を見つけるのに本当に苦労しています。

明確にするために、私はDOMサポート、jquery、HTMLなどを探しているのではなく、できればECMAScript-262サポート(pref node.js)が組み込まれたIDE(デバッグは重要ではありません)を探しているので、コードを簡単に実行できますIDE。

何か案は?

ps: aptana を提案しないでください。

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

c# - このテクニックの名前は何ですか?

ECMAScript実装の日付パーサーを書き終えたところです。以前、私は正規表現コンパイラを作成していましたが、仕様がプロセスを記述している方法に本当に感銘を受けました。基本的に、入力は文字列の各部分をテストする一連の継続を通過します。私の日付パーサーは大まかにアイデアに基づいており、それが何と呼ばれているのかを本当に知りたいです。

注:ノイズを減らすために、パーサーのコアだけを残しました。