問題タブ [generative-programming]

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

php - Javascript または PHP 用の Parsing Expression Grammar (PEG) ライブラリはありますか?

ドメイン固有の言語を記述するための構文解析式文法形式に惹かれていますが、これまでのところ、実装コードは Java や Haskell などの言語で書かれており、私の組織の共有ホスティング環境では Web サーバーに適していません。一緒に暮らす必要があります。

JavascriptまたはPHP用のPEGライブラリまたはPackRatパーサージェネレーターを知っている人はいますか? もちろん、Javascript や PHP のソース コードを生成できる任意の言語のコード ジェネレーターを使用すれば、うまくいきます。

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

perl - 後で使用するために、Perlで匿名のサブをファイルに書き込みます

入力ファイルから解析ルールをサブとして生成するPerlプログラムがあります。潜水艦は匿名で定義され、ハッシュに入れられます。ここで、すべてのサブを含むそのハッシュをエクスポートし、後で別のプログラムで使用するためにそれらを再度ロードしたいと思います。

どうすればこれを行うことができますか?各サブのコードを抽出する方法はありますか、またはハッシュが存在するメモリのブロックをコピーして、後で再度ロードするときにハッシュとしてキャストできますか?

前もって感謝します。

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

c# - Visual Studio T4 と CodeSmith の比較

過去 2 年間 CodeSmith を使用しており、その機能が気に入っています。ただし、Visual Studio に組み込まれており、非常に優れた機能を実行できる T4 についても知っています。VS2010 の友人 T4 との会話に基づいて、T4 はさらに良くなるでしょう。

問題は、CodeSmith バスに乗り続けるか、それともすべてのテンプレートを T4 に変換し始める時期かということです。

更新 おそらく、質問の仕方が明確ではありませんでした。明らかに、新しいテンプレートが機能するまで、cs テンプレートを削除して使用を停止するつもりはありません。しかし、この時点で努力する価値はありますか? 現時点で、T4 は CodeSmith よりも優れた利点を提供していますか? 代わりに T4 用のテンプレートを作成することで、効率が 100 倍向上する機能または機能セットはありますか?

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

regex - 生成正規表現

通常、私たちの作業では、キャプチャまたは一致操作で正規表現を使用します。

ただし、正規表現は、正規表現に一致する正当な文を生成するために (少なくとも手動で) 使用できます。もちろん、一部の正規表現は無限に長い文に一致する場合があります (例: 式 ) .+

正規表現文生成アルゴリズムを使えば解決できる問題があります。

擬似コードでは、次のように動作します。

私のためにこれを実行するアルゴリズムは何ですか?

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

python - サブクラスのメソッドを自動生成する

私は数十のクラスを持っています。そのうちの2つは次のとおりです。

そしてここにABCがあります:

私が抱えている問題はto_*、サブクラス内のすべてのメソッドがまったく同じパターンに従うことであり、それらを実装するのは面倒になります。できれば自動で生成したいのClassABCですが、今のところ失敗しています。サブクラスのクラスデコレータも作成してみましたが、うまくいきませんでした。ただし、exec()を使用して各サブクラスのメソッドを自動生成することができましたが、ABCにメソッドを生成させるか、クラスデコレーターを使用させています。これを行う方法はありますか?

注:すべてのクラスは独自の個別のモジュールにあります

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

machine-learning - 機械学習で生成アルゴリズムを使用するのはいつですか?

(x, y) サンプルで作成されたトレーニング セットがあるとします。

生成アルゴリズムを適用するには、ガウス弁別法としましょう。

p(x|y) ~ Normal(mu, sigma)すべての可能なシグマ

x ~ Normal(mu, sigma)または、 yが与えられたかどうかを知る必要がありますか?

p(x|y) が生成アルゴリズムを使用するのに十分 (しきい値まで) 多変量正規分布に従うかどうかを評価するにはどうすればよいですか?

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

c++ - 可変長型特性の実装

はじめに

C++ の型特性を対応する可変個引数に変換するパターンを探しています。問題にアプローチするための方法論は高く評価され、タスクを自動化するためのジェネレーティブプログラミングパターンが理想的です。

次のようにします。

私は次のように機能する特性を書きたい:


現在のアプローチ

;を実装するのは非常に簡単です。一般的な解決策を求めて、普遍的な量化を実装する可変個の特性のツールを考え出すことができます:are_same

たとえば、次のように書くare_sameことができます

are_classesこれは、are_scalarsなどの特性を作成するときに適用できます

一般化

マイナーな調整により、前のスニペットから存在の定量化&&が可能になり ( に置き換えられます) 、次の||ような特性を作成できます。exist_same

質問

に関連する型特性に関する以前のカバーの一般化

  • プライマリ タイプ カテゴリ
  • 複合型カテゴリー
  • タイプ プロパティ
  • サポートされている操作

次のような型特性を一般化するにはどうすればよいですか。

上記のexist_same例は単純化しすぎています。正しい実装のアイデアはありますか?

変更された型を「返す」type_traits があります。それらを任意の数のタイプの実装にスケーリングするための提案はありますか?

任意の数の型引数にスケーリングしないように作成されたtype_traits はありますか?