Che cos'è il formato di file PRG?
.prg è un file di codice sorgente associato principalmente alla famiglia xBase di linguaggi di programmazione per database, tra cui dBASE, FoxPro, Visual FoxPro, Clipper e il moderno compilatore open source Harbour. Un file .prg è anche un'estensione generica utilizzata da vari programmi per memorizzare macro o istruzioni di programma; tali file non sono standardizzati e servono a scopi diversi a seconda dell'applicazione.
Nel suo ruolo dominante in xBase, un .prg memorizza codice sorgente in testo semplice - non dati binari - rendendolo leggibile in qualsiasi editor di testo. Un programma tipico inizia con righe di commento (precedute da * o &&), direttive SET e blocchi PROCEDURE/FUNCTION che operano su tabelle di database .dbf. Una volta compilato, FoxPro produce un file oggetto binario .fxp, mentre Clipper e Harbour generano un eseguibile nativo; il sorgente .prg stesso è sempre leggibile dall'uomo. Il linguaggio xBase risale a dBASE II/III nei primi anni '80 e ha dominato la programmazione di database desktop per tutti gli anni '90. Visual FoxPro 9.0 SP2 (2007) è stata l'ultima release commerciale principale; il linguaggio sopravvive attraverso il progetto open source Harbour.
I file .prg sono talvolta utilizzati da programmatori o docenti universitari a scopo didattico o di test. Tali file possono memorizzare pseudocodice - una descrizione informale di alto livello di un programma informatico o di un algoritmo in testo semplice. Lo pseudocodice è un'astrazione, non un'implementazione, di un programma informatico; contiene istruzioni di controllo standard come cicli o espressioni condizionali in un formato leggibile dall'uomo piuttosto che dalla macchina. Lo pseudocodice è indipendente dal linguaggio e non può essere eseguito su un computer. I file .prg vengono talvolta scelti per lo pseudocodice proprio perché l'estensione non si riferisce a nessun linguaggio di programmazione attuale.
Sicurezza e incolumità
RISCHIO: MEDIUMUn .prg è codice sorgente in testo semplice, quindi il file in sé non può essere eseguito venendo aperto in un editor: la lettura è sicura. Il rischio risiede in ciò che fa quando viene eseguito/compilato: il codice xBase può eseguire comandi di shell (RUN/!), leggere e scrivere file di database e cancellare dati, quindi non eseguire (DO) o compilare ciecamente un .prg non attendibile. Leggi prima il sorgente, esegui le app legacy in un ambiente isolato/VM e diffida dei programmi che toccano dati .dbf a cui tieni. (Il .prg GEM/Atari non correlato è un vero eseguibile binario: tratta con estrema cautela qualsiasi .prg che sia binario e non testuale).
Dettagli del formato
in sintesi- Programma GEM / Atari ST - Su Atari ST e GEM/DOS, .prg è un file PROGRAMMA eseguibile (un vero binario), non codice sorgente.
- Programma Lotus 1-2-3 / Symphony - Alcune app Lotus e altre dell'era DOS utilizzavano .prg per macro o script di programma.
- File MicroSim PCBoard / WAVmaker - Alcuni strumenti di ingegneria e musica hanno riutilizzato .prg per i propri dati; raro e non correlato a xBase.
Programmi che aprono file PRG
Dettagli tecnici
specifiche approfondite| Tipo di file | Codice sorgente xBase (dBASE/FoxPro/Clipper) in testo semplice |
| Tipo MIME | text/plain; visto anche come text/x-prg |
| Codifica dei caratteri | ASCII / Windows-1252 per le localizzazioni occidentali; codepage legacy OEM DOS nei file più vecchi dell'Europa orientale |
| Firma del file (magic bytes) | Nessuna - testo semplice senza intestazione binaria; i programmi in genere iniziano con righe di commento (* o &&), direttive SET o una dichiarazione PROCEDURE/FUNCTION |
| Dimensione tipica del file | Da 1 KB a poche centinaia di KB di testo sorgente |
| Output della compilazione | FoxPro/VFP compila il .prg in un file oggetto binario .fxp; Clipper e Harbour compilano in un eseguibile nativo |
| Formato dati complementare | .dbf - i programmi xBase sono strettamente legati ai file di tabella dBASE per l'archiviazione e il recupero dei dati |
| Compressione | Nessuna nella forma sorgente |
| Crittografia / distribuzione | Il sorgente .prg è testo semplice non crittografato; FoxPro può crittografare l'output .app compilato per la distribuzione commerciale |
| Varianti del dialetto linguistico | dBASE III/IV, FoxPro 2.x, Visual FoxPro 6-9 (estensioni OOP), Clipper 5.x, Harbour, xHarbour - stessa estensione .prg con sintassi leggermente diversa |
| Sintassi dei commenti | I commenti di riga iniziano con * (asterisco a inizio riga) o && (in linea); è valida anche la parola chiave NOTE |
| Supporto orientato agli oggetti | Visual FoxPro ha introdotto i blocchi DEFINE CLASS / ENDDEFINE all'interno dei file .prg, consentendo l'OOP insieme al codice procedurale |
| Parole chiave del flusso di controllo | IF/ENDIF, DO WHILE/ENDDO, FOR/NEXT, DO CASE/ENDCASE, SCAN/ENDSCAN - sintassi specifica di xBase |
| Supporto OS | Originariamente DOS e Windows (dBASE, FoxPro, VFP); Harbour consente la compilazione su Linux e macOS dallo stesso sorgente .prg |
| Ecosistema attuale | Strumenti commerciali fuori produzione (Visual FoxPro 9.0 SP2 è stato l'ultimo, 2007); mantenuto attivamente tramite i progetti open source Harbour e xHarbour |
| Rilasciato | early 1980s with dBASE II/III; adopted by FoxPro, Clipper and later Visual FoxPro |
| Ultima versione | Visual FoxPro 9.0 SP2 (2007) was the last major host; the language lives on in open-source Harbour |
| Standard aperto | Sì · royalty-free |
| Specifica | learn.microsoft.com |
Conversioni PRG
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file PRG.