問題タブ [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.
c# - ECMAScript 実装の再帰機能を改善するにはどうすればよいですか?
いくつかの再送テストの後、私の実装ではあまり多くの再帰を処理できないことがわかりました。Firefox でいくつかのテストを実行した後、これは当初考えていたよりも一般的である可能性があることがわかりました。基本的な問題は、私の実装では、関数呼び出しを行うために 3 つの呼び出しが必要であることだと思います。最初の呼び出しは、名前付きのメソッドに対してCall
行われ、呼び出しが呼び出し可能なオブジェクトに対して行われていることを確認し、参照であるすべての引数の値を取得します。2 番目の呼び出しはCall
、ICallable
インターフェース。このメソッドは、新しい実行コンテキストを作成し、ラムダ式が作成されていない場合はビルドします。最後の呼び出しは、関数オブジェクトがカプセル化するラムダに対して行われます。関数呼び出しを行うのは明らかにかなり重いですが、この実装を使用する場合、少し調整するだけで再帰を実行可能なツールにできると確信しています。
javascript - JavascriptIN演算子の互換性
IN演算子が使用可能なECMAバージョンと、それをサポートしているブラウザ(バージョン)を教えてもらえますか?
説明:
IN演算子は、次のように使用できます。
c# - スクリプトエンジンを効果的にテストするにはどうすればよいですか?
私はECMAScriptの実装に取り組んでおり、現在プロジェクトの磨き上げに取り組んでいます。その一環として、私は次のようなテストを作成しています。
問題は、このテストおよび同様のテストには非常に多くの障害点があり、ほとんど価値がないように思われることです。モジュール間の結合を減らすために、私の努力を費やしたほうがよいようです。真の単体テストを作成するには、次のようなものを想定する必要があります。
これを行うには、何千ものテストを作成する必要がありますが、これも価値がないようです。
javascript - ECMAScript RegExp文法の代替記号が再帰的に残されているのはなぜですか?
オルタナティブが再帰的に残されている理由を私は一生理解できません。それは本当に私のパーサーにレンチを投げます。
これは、仕様のセマンティクス部分にある、正確には明確ではない注記です。たぶん、私がこれを理解すれば、その理由は明らかになるでしょうか?
注連続する用語は、入力文字列の連続する部分を同時に一致させようとします。左の代替、右の用語、および正規表現の続編にすべて選択ポイントがある場合、右の用語の次の選択肢に進む前に、続編のすべての選択肢が試され、右の用語のすべての選択肢が前に試されます左側の選択肢の次の選択肢に移動します。
左再帰文法を適切に処理できるのはどのようなパーサーですか?
javascript - JavaScript / ECMA の多くの名前
JavaScript の新しい機能を調べていて、ECMAScript/ECMA 5 を見つけました。
聞いたことがなかったので、さらに調べてみると、次のようなさまざまな名前の形であることがわかりました。
私が読んだところによると、JavaScript の新しい実装が起草されている間、それは ECMA-262 エディション {edition_number} または {name} と呼ばれているようです。
それぞれが ECMAScript の実装であれば方言であることはわかっているので、わずかに異なる方法でなければ同じように機能します。
JavaScript と ECMAScript は何らかの形で異なりますか、それとも名前だけですか?
c# - 「toExponential」アルゴリズムの実装を最適化して精度を向上させるにはどうすればよいですか?
私の実装は少し素朴な気がします。精度が+/- 0.0001とかなり小さい変数min
に注意してください。精度をさらに上げると、コードが遅すぎます。max
アルゴリズム
代替テキスト http://img35.imageshack.us/img35/2060/toexponential.jpg
コード
最終版
私が最初にこれを書いたとき、誰かが特に大きなハンマーで私を殴ったに違いないことを誓います...
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# がそれほど生産的であるとは想像できません。
javascript - NullLiteralはツリー形式でどのように表されますか?
セクション7.8.1のECMAScript仕様によると、aは次のように定義されています。NullLiteral
私が理解しようとしているのは、セクション7.6.1と7.8NullLiteral
にある次のプロダクションにaが含まれている場合に、これがツリー形式でどのように表されるかです。
それがどのように見えるかについての私の最もよい推測はこれです:
しかし、これは私には正しくないようです。
ノート
私の調査によると、言語文法から実際にCSTを生成するコンパイラはほとんどないようです。もちろん理由は理解できますが、これは私にとって学習演習であるため、パーサジェネレータを使用するなど、より専門的な構文解析手段に移行する前に、これを正しく理解したいと思います。
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 を提案しないでください。
c# - このテクニックの名前は何ですか?
ECMAScript実装の日付パーサーを書き終えたところです。以前、私は正規表現コンパイラを作成していましたが、仕様がプロセスを記述している方法に本当に感銘を受けました。基本的に、入力は文字列の各部分をテストする一連の継続を通過します。私の日付パーサーは大まかにアイデアに基づいており、それが何と呼ばれているのかを本当に知りたいです。
注:ノイズを減らすために、パーサーのコアだけを残しました。