6
別のプログラミング言語への変換を容易にするために、コードにどのようなパターンを適用できますか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 5年前に閉鎖。 この質問を改善する 私は、あるプログラミング言語から別のプログラミング言語にコードを変換することを目標とするサイドプロジェクトを行うことを目指しています。私が使用している言語はPHPとPythonです(PythonからPHPを使用する方が簡単です)が、理想的には(比較的)簡単に他の言語を追加できます。計画は次のとおりです。 これはWeb開発を対象としています。元のコードとターゲットコードはフレームワークの上に配置されます(これも私が作成する必要があります)。これらのフレームワークはMVC設計パターンを採用し、厳密なコーディング規則に従います。これにより、翻訳が多少容易になります。 また、IOCと依存関係の注入についても検討しています。これにより、変換プロセスが容易になり、エラーが発生しにくくなる可能性があります。 抽象構文ツリーをいじるPythonのパーサーモジュールを利用します。どうやら私がPHPを使用して取得できる最も近いものはtoken_get_all()です。 それからは、AST、シンボルテーブル、制御フローを構築できます。 その後、コードの出力を開始できると思います。完全な翻訳は必要ありません。生成されたコードを確認して問題を修正する必要があります。理想的には、翻訳者は問題のある翻訳にフラグを付ける必要があります。 「これは一体何のことなんだ?」と尋ねる前に 答えは...興味深い学習体験になるでしょう。この困難さを軽減する方法について何か洞察があれば、私に知らせてください。 編集: 変換の方法よりもコードを変換しやすくするためにコードに適用できるパターンの種類(IoC、SOAなど)を理解することに、より関心があります。