問題タブ [dsl]
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.
java - JavaBeans と DSL
2009 年になりましたが、JavaBeans にはさまざまな欠陥がありますが、私たちはまだ JavaBeans を使い続けています。
しかし今では、メソッドチェーンと内部 DSLがあり、JavaBeans を DSL クラスに置き換えたり拡張したりするプレッシャーがあります。DSL の PropertyDescriptor (ゲッターとセッターがプロパティとまったく同じ名前を使用する) を実装する実装と、それを Java RT にフックする方法を持っている人はいますか?
.net - スクリプト言語を DLR に切り替える主な利点は何ですか?
Antlr を使用して DSL を作成し、文法ファイルからレクサーとパーサーを生成しました。パーサーは、計算可能なさまざまなノード (関数ノードなど) を含む抽象構文ツリーを生成します。関数ノードのコードでは、バインドを処理します。つまり、関数のライブラリから一致する関数名とパラメーターの型をチェックします。関数のルックアップを最適化するために、ここにいくつかの単純なキャッシュがあります (2 つの int で A+B を呼び出すと、次に plus 演算子を使用するときに 2 つの int になる可能性が高くなります)。
最近、DLR について読んでいますが、このタイプのスクリプト言語の実装に対応するように設計されているようです。一見したところ、パーサーまたはレクサーを生成するようには見えませんが、実装の他の部分を支援しているようです。DLR の使用に切り替えることの主な利点は何だろうと考えていました。
parsing - 構文解析についてさらに学ぶ
私は1999年から仕事と楽しみのためにプログラミングをしています。私は新しいことを学びたいと思っています。私の仕事の大部分はデータの読み取り、統合、分析であるため、最近は構文解析に重点を置いています。また、オーバーヘッドが十分に低ければ、非常に単純なドメイン固有言語で表現できると思う反復的なタスクが多数あります。この件についていくつか質問があります。
- 私の現在の構文解析コードのほとんどは、形式文法を定義していません。私は通常、選択した言語で何かを一緒にハックします。それは簡単で、その方法を知っていて、そのコードを非常に高速に記述できるからです。一緒に仕事をしている他の人にとっても、メンテナンスは簡単です。ほとんどのプログラマーがパーサーを作成するために使用したハックと比較して、文法を定義し、実際のパーサーを生成して( ANTLRまたはYACCで行うように)物事を解析することの長所と短所は何ですか?
- C ++、Perl、Rubyで文法ベースのパーサーを作成するための最良のパーサー生成ツールは何ですか?私はANTLRを調べましたが、C ++ターゲットでANTLRv3を使用することについてはあまりわかりませんでしたが、それ以外の点では面白そうです。私が読むべきANTLRに似ている他のツールは何ですか?
- 誰かが構文解析についてもっと学びたいと思っている標準的な本や記事は何ですか?残念ながら、コンパイラのコースは私の教育の一部ではなかったので、基本的な資料は大歓迎です。ドラゴンブックについて素晴らしいことを聞いたことがありますが、他に何がありますか?
.net - 与えられた条件の解析と評価
私がこれをやろうとしているのは、.NET で次のケースの単純なパーサーを作成することです
[PART]
は評価場所を示します (これが巨大なテキスト ファイルであると仮定すると、PART はテキスト ファイルを大きなチャンクに分割します)。function()
s は、このクエリを介して呼び出すことができる文書化された関数です。返品true
またはfalse
- this
True/False
とその他の演算子に基づいて、結果を結合し、入力全体から最終的な True または False を返したいと思います。
.NET でそのようなことを実装する最良の方法は何ですか?これを統合できる簡単なライブラリはありますか?それとも単純なパーサーを作成して自分で実行する必要がありますか?
PS 質問の適切なタイトルが見つかりませんでした。
visual-studio - 「DomainClass XXX は抽象的ではなく、モデルのルートでも埋め込まれていません。」の解決方法。警告
VisualStudio で次の警告が表示されます。
「DomainClass ManagedField は抽象的ではなく、モデルのルートでも埋め込まれていません。」
警告は正しいです。私のクラスは抽象的ではなく (抽象的であってはなりません)、モデルのルートであってはなりません。したがって、「その中に埋め込まれていない」という最後の部分に行き着きます。私のクラスManagedFieldは、埋め込み関係にある別のクラスから継承します。
では、この警告がまだ表示されるのはなぜですか? また、どうすればそれを取り除くことができますか?
language-agnostic - どのような問題のために DSL を作成しますか?
ドメイン固有言語に興味があります。記事で何度か見たことがありますが、保証外や銀行のデータ定義の問題で使用できるようです。
だから私は具体的なインプットを得るためにSOに来ました。
DSL を使用したことがありますか? 1つ書いてください。はいの場合、どんな感じですか?
あなたのプロジェクトの 1 つが、DSL を使用することで改善 (生産性、保守性など) できると思いますか?
編集:これを後にして申し訳ありませんが、私はあなたが自分で書いた特定のDSLを意味していました。Tex、HTML、Make、SQL は除外されます。実際、質問はもっとありました:「DSLを書く」
parsing - 複雑な時間のマルチインターバルを表現する言語?
絶対的な日時のマルチインターバルを表現する宣言型言語を誰かが知っているかどうか疑問に思っています。時間間隔の結合/交差/補数であるセットを意味します。
私が表現したい間隔は次のようなものです:
私はライブラリを探しているのではなく、言語仕様を探しています。
私が探しているものの例は、ここで見つけることができる cron 式です。
java - grailsのlog4j:ファイルにログインするには?
私はgrails config.groovyにこのlog4j構成を持っています
infoLog、warnLog、およびerrorLogは前の質問からのものでした...それらはうまく機能していました。
ここで、「custom」という名前の新しい RollingFile を追加します ...
log.info("something .... ${obj}"); を使用してコントローラーとサービスからログを記録しようとしました。しかし、メッセージが custom.log に挿入されていないようです。構成に何か追加する必要がありますか?
ありがとうございました !!
visual-studio - Visual Studio DSL ツールとサーバー エクスプローラー
ユーザーが Visual Studio サーバー エクスプローラーから自分の DSL ダイアグラムにテーブルをドラッグ アンド ドロップできるようにすることはできますか?
作成したカスタム ドメイン クラスを削除できますが、ビルドの機能を利用したいと考えています。
Visual Studio 2010 で作業しています。
visual-studio-2008 - 「DSL Tools」と「Oslo」の違いは何ですか?
ドメイン固有のツール開発を始めたばかりで、Visual Studio SDK DSL ツールで遊んでいます。しかし、Microsoft は "Oslo" と呼ばれるドメイン固有の開発に別のイニシアチブを持っていると聞きました。
私の印象では、DSL Tools はグラフィカルなドメイン固有言語に重点を置いているのに対し、Oslo はテキスト言語に重点を置いていますが、それについてはよくわかりません。
「DSL Tools」と「Oslo」の違いを指摘してくれる人はいますか?