Qu'est-ce que le format de fichier PRG ?
.prg est un fichier de code source associé principalement à la famille de langages de programmation de bases de données xBase, incluant dBASE, FoxPro, Visual FoxPro, Clipper et le compilateur moderne open-source Harbour compiler. Un fichier .prg est également une extension générique utilisée par divers programmes pour stocker des macros ou des instructions de programme ; ces fichiers ne sont pas standardisés et servent à des fins différentes selon l'application.
Dans son rôle dominant xBase, un .prg stocke du code source en texte brut - et non des données binaires - ce qui le rend lisible dans n'importe quel éditeur de texte. Un programme typique commence par des lignes de commentaires (préfixées par * ou &&), des directives SET et des blocs PROCEDURE/FUNCTION qui opèrent sur des tables de bases de données .dbf. Une fois compilé, FoxPro produit un fichier objet binaire .fxp, tandis que Clipper et Harbour génèrent un exécutable natif ; la source .prg elle-même est toujours lisible par l'homme. Le langage xBase remonte à dBASE II/III au début des années 1980 et a dominé la programmation de bases de données de bureau tout au long des années 1990. Visual FoxPro 9.0 SP2 (2007) a été la dernière version commerciale majeure ; le langage perdure via le projet open-source Harbour.
Les fichiers .prg sont parfois utilisés par des programmeurs ou des professeurs d'université à des fins éducatives ou de test. Ces fichiers peuvent stocker du pseudocode - une description informelle de haut niveau d'un programme informatique ou d'un algorithme en texte brut. Le pseudocode est une abstraction, pas une implémentation, d'un programme informatique ; il contient des instructions de contrôle standard telles que des boucles ou des expressions conditionnelles dans un format lisible par l'homme plutôt que par la machine. Le pseudocode est indépendant du langage et ne peut pas être exécuté sur un ordinateur. Les fichiers .prg sont parfois choisis pour le pseudocode précisément parce que l'extension ne se réfère à aucun langage de programmation réel.
Sécurité et sûreté
RISQUE : MEDIUMUn .prg est un code source en texte brut, donc le fichier lui-même ne peut pas s'exécuter en étant ouvert dans un éditeur - sa lecture est sûre. Le risque réside dans ce qu'il fait lorsqu'il est exécuté/compilé : le code xBase peut exécuter des commandes shell (RUN/!), lire et écrire des fichiers de base de données et supprimer des données, donc ne faites pas aveuglément DO ou ne compilez pas un .prg non fiable. Lisez d'abord la source, exécutez les applications héritées dans un environnement isolé/VM et méfiez-vous des programmes qui touchent aux données .dbf auxquelles vous tenez. (Le .prg GEM/Atari non lié est un véritable exécutable binaire - traitez tout .prg binaire, et non textuel, avec une prudence accrue.)
Détails du format
en bref- Programme GEM / Atari ST - Sur Atari ST et GEM/DOS, .prg est un fichier PROGRAMME exécutable (un vrai binaire), pas du code source.
- Programme Lotus 1-2-3 / Symphony - Certaines applications Lotus et d'autres de l'ère DOS utilisaient .prg pour les scripts de macros/programmes.
- Fichier MicroSim PCBoard / WAVmaker - Quelques outils d'ingénierie et de musique ont réutilisé .prg pour leurs propres données ; rare et sans rapport avec xBase.
Programmes qui ouvrent les fichiers PRG
Détails techniques
spécifications approfondies| Type de fichier | Code source xBase (dBASE/FoxPro/Clipper) en texte brut |
| Type MIME | text/plain ; également vu comme text/x-prg |
| Encodage des caractères | ASCII / Windows-1252 pour les régions occidentales ; page de code OEM DOS héritée dans les anciens fichiers d'Europe de l'Est |
| Signature de fichier (octets magiques) | Aucune - texte brut sans en-tête binaire ; les programmes s'ouvrent généralement par des lignes de commentaires (* ou &&), des directives SET ou une déclaration PROCEDURE/FUNCTION |
| Taille typique du fichier | 1 Ko à quelques centaines de Ko de texte source |
| Sortie de compilation | FoxPro/VFP compile le .prg en un fichier objet binaire .fxp ; Clipper et Harbour compilent en un exécutable natif |
| Format de données compagnon | .dbf - les programmes xBase sont étroitement couplés aux fichiers de table dBASE pour le stockage et l'extraction de données |
| Compression | Aucune sous forme source |
| Chiffrement / distribution | La source .prg est du texte brut non chiffré ; FoxPro peut chiffrer la sortie .app compilée pour la distribution commerciale |
| Variantes de dialectes du langage | dBASE III/IV, FoxPro 2.x, Visual FoxPro 6-9 (extensions OOP), Clipper 5.x, Harbour, xHarbour - même extension .prg avec une syntaxe subtilement différente |
| Syntaxe des commentaires | Les commentaires de ligne commencent par * (astérisque en début de ligne) ou && (en ligne) ; le mot-clé NOTE est également valide |
| Support orienté objet | Visual FoxPro a introduit les blocs DEFINE CLASS / ENDDEFINE à l'intérieur des fichiers .prg, permettant l'OOP aux côtés du code procédural |
| Mots-clés de flux de contrôle | IF/ENDIF, DO WHILE/ENDDO, FOR/NEXT, DO CASE/ENDCASE, SCAN/ENDSCAN - syntaxe spécifique à xBase |
| Support OS | À l'origine DOS et Windows (dBASE, FoxPro, VFP) ; Harbour permet la compilation Linux et macOS à partir de la même source .prg |
| Écosystème actuel | Outils commerciaux abandonnés (Visual FoxPro 9.0 SP2 était le dernier, 2007) ; activement maintenu via les projets open-source Harbour et xHarbour |
| Publié | early 1980s with dBASE II/III; adopted by FoxPro, Clipper and later Visual FoxPro |
| Dernière version | Visual FoxPro 9.0 SP2 (2007) was the last major host; the language lives on in open-source Harbour |
| Standard ouvert | Oui · libre de droits |
| Spécification | learn.microsoft.com |
Conversions PRG
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers PRG.