ソフトウェア製品ラインのアプローチに従ってドメイン固有言語(DSL)の開発に焦点を当てることは理にかなっていますか?
誰かが同時にいくつかの関連するドメイン固有の言語を作成して維持するための他のアプローチを知っていますか?カスタム言語をサポートするには、パーサー、コンパイラー、インタープリターから現在の最先端のIDEなど、複数のツールをサポートする必要があることに注意してください。
ソフトウェア製品ラインのアプローチに従ってドメイン固有言語(DSL)の開発に焦点を当てることは理にかなっていますか?
誰かが同時にいくつかの関連するドメイン固有の言語を作成して維持するための他のアプローチを知っていますか?カスタム言語をサポートするには、パーサー、コンパイラー、インタープリターから現在の最先端のIDEなど、複数のツールをサポートする必要があることに注意してください。
ソフトウェア製品ラインのアプローチに従ってDSLに焦点を当てることは理にかなっていると思います。DSLを正しく定義すると、基本的に、ドメイン内にアプリケーションを作成するためのフレームワークと、それらが実行されるオペレーティング環境が定義されます。オペレーティング環境とは、OS、ハードウェア、データベース、およびそのコードを意味します。 DSLのセマンティクスまたはランタイム環境を実装します。フレームワークと動作環境は、製品ライン全体で再利用されるアーティファクトになります。複数の製品ラインをサポートするには、複数のDSLのランタイム環境で構成されるオペレーティング環境を作成する必要がある場合があります。
私たちのDMSソフトウェアリエンジニアリングツールキットはまさにこのアイデアです。DMSは、一般的な構文解析、ツリー構築、分析(名前解決、制御フロー分析、データフロー分析、コールグラフとポイントツー分析、カスタムアナライザー、任意の変換)を提供します。さまざまなレガシー言語のフロントエンドと、いくつかのDSL(HTML、XML、時相論理方程式、産業用コントローラー言語など)が用意されていますが、他のDSLの定義を非常によくサポートしています。
DMSを使用して、カスタムアナライザーと変換ツールを構築するだけでなく、製品ラインジェネレーターとしても使用します。たとえば、DMSがこれを可能にするため、さまざまな言語のテストカバレッジ、プロファイラー、スマートディファレンサー、およびクローン検出を提供します。はい。これらのツールタイプはそれぞれDMSを基盤として直接使用するため、これにより開発コストとメンテナンスコストが削減されます。基本的に、特定の言語だけでなく、それらの言語の方言、さらには異なる言語間で、言語パーサー、アナライザー、およびトランスフォーマーの償却が可能になります。