変換言語(へんかんげんご、英: transformation language)とは、入力中にあらわれるパターンを検出して置き換えを行ったり、内容の意味を保存しながら別のフォーマットに変換したりする操作を記述する、ドメイン固有言語である。もっぱらルールベースのものが多い。
例
マクロ(マクロ言語)などと呼ばれることもある[1]。C言語のプリプロセッサ(CPP、en:C preprocessor)のように特定のプログラミング言語の具象構文を基本的に前提としたものもあれば、m4のように汎用のものもあれば、Lispのマクロのように言語組込みで構文木を対象にしたものもある。
モデル駆動工学においてはモデル変換言語があり、あるメタモデルに従ったモデルを入力として、別のメタモデルに従ったモデルを出力する。MTLの例として、VIATRA、ATL、QVTに属するドメイン固有言語などがある。
XML変換言語もいくつか存在する。例えば、XSLT、STX などがある。
注
- ^ マクロ (コンピュータ用語) の記事、及び マクロ言語 の記事は、主に変換言語以外の「マクロ」と呼ばれるものについて書かれている(ので、本文中からはリンクしていない)。