プログラミング言語の翻訳

ある言語を他の言語に移植するのを機械化するには,という話.

だいたい2通りある.

  • XX言語からYY言語に変換するプログラムを書く
  • XX言語を「共通言語」に変えて,そこからYY言語に戻す.

前者の方法だと,言語の種類^2 の変換プログラムが要るし,後者の方法だと「共通言語」をばかでかくしないと翻訳できない,という問題がある,

ということで第3の方法がある!と主張している論文が

Automatic program translation - a third way
Clark, D.P.; Chen, M.; Tucker, J.V.
Multimedia Software Engineering, 2004. Proceedings. IEEE Sixth International Symposium on
Date: 13-15 Dec. 2004, Pages: 265 - 272
Digital Object Identifier 10.1109/MMSE.2004.31

まだ完全によめていない.何をやるかというと"Deductive Mapping" - 推論対応づけ,だそうだ.


...

...

上の定義を訳すと
「あのー,ほら"球" ってあんじゃんか."ボール"とかいう人もいるけど.なんか"半径"とかいう数値があるアレだよ」
というのはくだけすぎだが,ようするにそういう性質を書いておいて,他の言語では少し言い回しが違うもの(たとえば半径じゃなくて直径で定義しているやつろか)にも対応づけよう,という話,らしい.

「共通言語がいりません」と謳っているわりにXMLXSLTべったりな気がする.あとこの論文自体はMultimedia Software Engineeringだから,3Dグラフィックスのモデリングかなんかに特化されているかもしれない.