PRG ファイル形式とは?
.prgは、主にdBASE、FoxPro、Visual FoxPro、Clipper、および最新のオープンソースHarbour compilerを含むxBaseファミリーのデータベースプログラミング言語に関連付けられたソースコードファイルです。.prgファイルは、さまざまなプログラムがマクロやプログラム命令を保存するために使用する汎用的な拡張子でもあります。このようなファイルは標準化されておらず、アプリケーションによって目的が異なります。
主要なxBaseとしての役割において、.prgはバイナリデータではなくプレーンテキストのソースコードを保存するため、任意のテキストエディタで読み取ることができます。典型的なプログラムは、コメント行(接頭辞 * または &&)、SETディレクティブ、および.dbfデータベーステーブルを操作するPROCEDURE/FUNCTIONブロックで始まります。コンパイルされると、FoxProはバイナリの.fxpオブジェクトファイルを生成し、ClipperやHarbourはネイティブの実行ファイルを生成しますが、.prgソース自体は常に人間が読める形式です。xBase言語は1980年代初頭のdBASE II/IIIにまで遡り、1990年代を通じてデスクトップデータベースプログラミングを支配しました。Visual FoxPro 9.0 SP2(2007年)が最後の主要な商用リリースでしたが、この言語はオープンソースのHarbourプロジェクトを通じて生き続けています。
.prgファイルは、教育やテストの目的でプログラマーや大学の講師によって使用されることもあります。そのようなファイルには、コンピュータプログラムやアルゴリズムをプレーンテキストで非公式かつ高レベルに記述した擬似コード(pseudocode)が保存されている場合があります。擬似コードはコンピュータプログラムの抽象化であり、実装ではありません。ループや条件式などの標準的な制御命令を、マシン可読形式ではなく人間が読める形式で含んでいます。擬似コードは言語に依存せず、コンピュータ上で実行することはできません。.prgファイルが擬似コードに選ばれることがあるのは、まさにこの拡張子が特定の実際のプログラミング言語を指さない場合があるためです。
セキュリティと安全性
リスク: MEDIUM.prgはプレーンテキストのソースコードであるため、エディタで開くだけでファイル自体が実行されることはなく、閲覧は安全です。リスクは実行/コンパイル時の動作にあります。xBaseコードはシェルコマンド(RUN/!)の実行、データベースファイルの読み書き、データの削除が可能なため、信頼できない.prgを盲目的に実行(DO)したりコンパイルしたりしないでください。まずソースを読み、レガシーアプリは隔離された環境や仮想マシンで実行し、重要な.dbfデータに触れるプログラムには注意してください。(無関係なGEM/Atariの.prgは真のバイナリ実行ファイルです。テキストではなくバイナリである.prgには細心の注意を払ってください。)
形式の詳細
概要- GEM / Atari ST プログラム - Atari STおよびGEM/DOSでは、.prgはソースコードではなく実行可能なプログラムファイル(真のバイナリ)です。
- Lotus 1-2-3 / Symphony プログラム - 一部のLotusやその他のDOS時代のアプリは、マクロ/プログラムスクリプトに.prgを使用していました。
- MicroSim PCBoard / WAVmaker ファイル - いくつかのエンジニアリングツールや音楽ツールが独自のデータに.prgを再利用していましたが、これらは稀でありxBaseとは無関係です。
PRG ファイルを開くプログラム
DO program.prg / .app/.exeへのビルド)。2007年に終了したため、レガシー利用のみとなります。 技術的詳細
詳細仕様| ファイルタイプ | プレーンテキスト xBase (dBASE/FoxPro/Clipper) ソースコード |
| MIMEタイプ | text/plain; text/x-prg としても見られます |
| 文字エンコーディング | 西欧ロケールでは ASCII / Windows-1252。古い東欧のファイルではレガシーなOEM DOSコードページ |
| ファイルシグネチャ (マジックバイト) | なし - バイナリヘッダーのないプレーンテキスト。通常、プログラムはコメント行(* または &&)、SETディレクティブ、または PROCEDURE/FUNCTION 宣言で始まります |
| 一般的なファイルサイズ | 1 KB から数百 KB のソーステキスト |
| コンパイル出力 | FoxPro/VFPは.prgをバイナリの.fxpオブジェクトファイルにコンパイルします。ClipperとHarbourはネイティブ実行ファイルにコンパイルします |
| 関連データ形式 | .dbf - xBaseプログラムは、データの保存と取得のためにdBASEテーブルファイルと密接に連携します |
| 圧縮 | ソース形式ではなし |
| 暗号化 / 配布 | ソースの.prgは暗号化されていないプレーンテキストです。FoxProは商用配布用にコンパイル済みの.app出力を暗号化できます |
| 言語ダイアレクトのバリエーション | dBASE III/IV, FoxPro 2.x, Visual FoxPro 6-9 (OOP拡張), Clipper 5.x, Harbour, xHarbour - 同じ.prg拡張子で微妙に異なる構文 |
| コメント構文 | 行コメントは *(行頭のアスタリスク)または &&(インライン)で始まります。NOTEキーワードも有効です |
| オブジェクト指向のサポート | Visual FoxProは.prgファイル内に DEFINE CLASS / ENDDEFINE ブロックを導入し、手続き型コードと並行してOOPを可能にしました |
| 制御フローキーワード | IF/ENDIF, DO WHILE/ENDDO, FOR/NEXT, DO CASE/ENDCASE, SCAN/ENDSCAN - xBase固有の構文 |
| OSサポート | 元々はDOSおよびWindows (dBASE, FoxPro, VFP)。Harbourにより、同じ.prgソースからLinuxおよびmacOSでのコンパイルが可能です |
| 現在のエコシステム | 商用ツールは終了(2007年のVisual FoxPro 9.0 SP2が最後)。オープンソースのHarbourおよびxHarbourプロジェクトを通じて活発に維持されています |
| リリース日 | early 1980s with dBASE II/III; adopted by FoxPro, Clipper and later Visual FoxPro |
| 最新バージョン | Visual FoxPro 9.0 SP2 (2007) was the last major host; the language lives on in open-source Harbour |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | learn.microsoft.com |
PRG の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。PRG ファイルについて最初の質問をしてみましょう。
よくある質問
.prgファイルとは何ですか?
.prgファイルを開くにはどうすればよいですか?
.prgファイルを実行またはコンパイルするにはどうすればよいですか?
DO program.prgで実行し、COMPILE/ビルドで.fxp/.app/.exeを生成します。ClipperやHarbourでは、コンパイルとリンクを行ってネイティブ実行ファイル(例:hbmk2 program.prg)を作成します。一致する開発ツールが必要です。