¿Qué es el formato de archivo PRG?
.prg es un archivo de código fuente asociado principalmente con la familia xBase de lenguajes de programación de bases de datos, incluidos dBASE, FoxPro, Visual FoxPro, Clipper y el moderno compilador de código abierto Harbour compiler. Un archivo .prg también es una extensión genérica utilizada por varios programas para almacenar macros o instrucciones de programa; dichos archivos no están estandarizados y sirven para diferentes propósitos dependiendo de la aplicación.
En su rol dominante de xBase, un .prg almacena código fuente en texto plano -no datos binarios- lo que lo hace legible en cualquier editor de texto. Un programa típico comienza con líneas de comentario (con el prefijo * o &&), directivas SET y bloques PROCEDURE/FUNCTION que operan sobre tablas de bases de datos .dbf. Cuando se compila, FoxPro produce un archivo de objeto binario .fxp, mientras que Clipper y Harbour generan un ejecutable nativo; el código fuente .prg en sí siempre es legible por humanos. El lenguaje xBase se remonta a dBASE II/III a principios de la década de 1980 y dominó la programación de bases de datos de escritorio durante la década de 1990. Visual FoxPro 9.0 SP2 (2007) fue el último lanzamiento comercial importante; el lenguaje perdura a través del proyecto de código abierto Harbour.
Los archivos .prg a veces son utilizados por programadores o profesores universitarios con fines educativos o de prueba. Dichos archivos pueden almacenar pseudocódigo: una descripción informal y de alto nivel de un programa informático o algoritmo en texto plano. El pseudocódigo es una abstracción, no una implementación, de un programa informático; contiene instrucciones de control estándar como bucles o expresiones condicionales en un formato legible por humanos en lugar de por máquinas. El pseudocódigo es independiente del lenguaje y no se puede ejecutar en una computadora. A veces se eligen los archivos .prg para el pseudocódigo precisamente porque la extensión no se refiere a ningún lenguaje de programación real.
Seguridad y protección
RIESGO: MEDIUMUn .prg es código fuente en texto plano, por lo que el archivo en sí no puede ejecutarse al abrirse en un editor; leer uno es seguro. El riesgo radica en lo que hace cuando se ejecuta/compila: el código xBase puede ejecutar comandos de shell (RUN/!), leer y escribir archivos de base de datos y eliminar datos, así que no ejecute (DO) ni compile a ciegas un .prg no confiable. Lea el código fuente primero, ejecute aplicaciones heredadas en un entorno aislado/VM y tenga cuidado con los programas que tocan datos .dbf que le interesen. (El .prg de GEM/Atari no relacionado es un ejecutable binario real; trate cualquier .prg que sea binario, no texto, con precaución adicional).
Detalles del formato
en pocas palabras- Programa GEM / Atari ST - En Atari ST y GEM/DOS, .prg es un archivo de PROGRAMA ejecutable (un binario real), no código fuente.
- Programa Lotus 1-2-3 / Symphony - Algunas aplicaciones de Lotus y otras de la era DOS usaban .prg para macros o scripts de programa.
- Archivo MicroSim PCBoard / WAVmaker - Algunas herramientas de ingeniería y música reutilizaron .prg para sus propios datos; raro y no relacionado con xBase.
Programas que abren archivos PRG
Detalles técnicos
especificación profunda| Tipo de archivo | Código fuente xBase (dBASE/FoxPro/Clipper) en texto plano |
| Tipo MIME | text/plain; también visto como text/x-prg |
| Codificación de caracteres | ASCII / Windows-1252 para configuraciones regionales occidentales; página de códigos OEM DOS heredada en archivos antiguos de Europa del Este |
| Firma de archivo (magic bytes) | Ninguna - texto plano sin encabezado binario; los programas suelen abrirse con líneas de comentario (* o &&), directivas SET o una declaración PROCEDURE/FUNCTION |
| Tamaño típico del archivo | De 1 KB a unos pocos cientos de KB de texto fuente |
| Salida de compilación | FoxPro/VFP compila .prg a un archivo de objeto binario .fxp; Clipper y Harbour compilan a un ejecutable nativo |
| Formato de datos complementario | .dbf - los programas xBase están estrechamente vinculados a los archivos de tabla dBASE para el almacenamiento y recuperación de datos |
| Compresión | Ninguna en forma de código fuente |
| Cifrado / distribución | El código fuente .prg es texto plano sin cifrar; FoxPro puede cifrar la salida compilada .app para distribución comercial |
| Variantes de dialectos del lenguaje | dBASE III/IV, FoxPro 2.x, Visual FoxPro 6-9 (extensiones OOP), Clipper 5.x, Harbour, xHarbour - misma extensión .prg con sintaxis sutilmente diferente |
| Sintaxis de comentarios | Los comentarios de línea comienzan con * (asterisco al inicio de la línea) o && (en línea); la palabra clave NOTE también es válida |
| Soporte orientado a objetos | Visual FoxPro introdujo bloques DEFINE CLASS / ENDDEFINE dentro de los archivos .prg, permitiendo OOP junto con código procedimental |
| Palabras clave de flujo de control | IF/ENDIF, DO WHILE/ENDDO, FOR/NEXT, DO CASE/ENDCASE, SCAN/ENDSCAN - sintaxis específica de xBase |
| Soporte de SO | Originalmente DOS y Windows (dBASE, FoxPro, VFP); Harbour permite la compilación en Linux y macOS desde el mismo código fuente .prg |
| Ecosistema actual | Herramientas comerciales descontinuadas (Visual FoxPro 9.0 SP2 fue la última, 2007); mantenido activamente a través de los proyectos de código abierto Harbour y xHarbour |
| Lanzado | early 1980s with dBASE II/III; adopted by FoxPro, Clipper and later Visual FoxPro |
| Última versión | Visual FoxPro 9.0 SP2 (2007) was the last major host; the language lives on in open-source Harbour |
| Estándar abierto | Sí · libre de regalías |
| Especificación | learn.microsoft.com |
Conversiones de PRG
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos PRG.