2016-12-19 12 views
-1

私はWindowsに移植する必要があるOpenVMS DEC ADA ENVIRONMENTのAdaでバッチ・アプリケーションを作成しました。DEC Adaで書かれたアプリケーションをWindowsに移行するにはどうすればよいですか?

私はこれにどのようにアプローチすればよいですか?

+3

あなたはGNAT Adaコンパイラをインストールし、それを使ってアプリケーションをコンパイルしようとしましたか? –

答えて

3

私は、同じコードベースからDEC Adaのバージョンを維持し続ける必要はないと仮定します。少なくとも2つの可能な技術的障害があります。

まず、GNATが使用するfile naming conventions(あなたは言うことはありませんが、私はあなたがGNATを使用していると推測しています)。ファイルpkg.adbになりそう

package Pkg is 
    ... 
end Pkg; 

はファイルpkg.adsにあるであろう、と

package body Pkg is 
    ... 
end Pkg; 

:デフォルトでは、GNATは、各ファイルが1つのコンパイル単位(スペックや体)を含有することを期待します。 with Pkg; GNATはではありませんが、大文字と小文字を区別せずに大文字と小文字を区別しないファイルシステムを持っているWindowsやMacOSではなくなります。

これを行うには、gnatchopを使用することができます。

gnatchop *.ada chopped 

はGNATは、ディレクトリchopped/に期待していたファイルにすべての*.adaのソースファイルを分割します。

ここで間違っていることは、指定されたユニットが複数のソースファイルにある場合です。どちらを維持したいのか(あるいは異なる環境に対処するために両方のバージョンが必要な場合はどうするか)を決定する必要があります。

gnatchopがニーズを満たしていない場合は、gnatname(上記参照、またはthis answer)を試みることができます。

第2に、DEC Adaは多くのVMS固有の機能をサポートしていました。これがあなたに影響を与えるかどうかは、アプリケーションの元のプログラマーがどの程度広範囲に使用しているかによって決まります。あなたの最良の賭けは行くことです。

1

Adaをあるコンパイラ/プラットフォームから別のコンパイラ/プラットフォームに移植するたびに、常にプールの深いところにジャンプします。つまり、Just Do Itです。

gnatchopまたはgnatname(Simonの回答に従って)のファイル命名を処理し、プロジェクトファイルをセットアップして(私はgpsでこれを対話的に行います)、F4キーを押しますビルドメイン)。

必要に応じて修正してください。

関連する問題