O que é o formato de ficheiro PRG?
.prg é um arquivo de código-fonte associado principalmente à família xBase de linguagens de programação de banco de dados, incluindo dBASE, FoxPro, Visual FoxPro, Clipper e o moderno compilador de código aberto Harbour compiler. Um arquivo .prg também é uma extensão genérica usada por vários programas para armazenar macros ou instruções de programa; tais arquivos não são padronizados e servem a propósitos diferentes dependendo da aplicação.
Em seu papel dominante no xBase, um .prg armazena código-fonte em texto simples - não dados binários - tornando-o legível em qualquer editor de texto. Um programa típico começa com linhas de comentário (prefixadas com * ou &&), diretivas SET e blocos PROCEDURE/FUNCTION que operam em tabelas de banco de dados .dbf. Quando compilado, o FoxPro produz um arquivo de objeto binário .fxp, enquanto o Clipper e o Harbour geram um executável nativo; o código-fonte .prg em si é sempre legível por humanos. A linguagem xBase remonta ao dBASE II/III no início da década de 1980 e dominou a programação de bancos de dados desktop durante a década de 1990. O Visual FoxPro 9.0 SP2 (2007) foi o último grande lançamento comercial; a linguagem sobrevive através do projeto de código aberto Harbour.
Arquivos .prg são às vezes usados por programadores ou professores universitários para fins educacionais ou de teste. Tais arquivos podem armazenar pseudocódigo - uma descrição informal e de alto nível de um programa de computador ou algoritmo em texto simples. O pseudocódigo é uma abstração, não uma implementação, de um programa de computador; ele contém instruções de controle padrão, como loops ou expressões condicionais, em um formato legível por humanos, em vez de legível por máquina. O pseudocódigo é independente de linguagem e não pode ser executado em um computador. Arquivos .prg são às vezes escolhidos para pseudocódigo precisamente porque a extensão não se refere a nenhuma linguagem de programação real.
Segurança e proteção
RISCO: MEDIUMUm .prg é um código-fonte em texto simples, portanto o arquivo em si não pode ser executado ao ser aberto em um editor - a leitura é segura. O risco está no que ele faz quando executado/compilado: o código xBase pode executar comandos de shell (RUN/!), ler e gravar arquivos de banco de dados e excluir dados, portanto não execute (DO) ou compile cegamente um .prg não confiável. Leia a fonte primeiro, execute aplicativos legados em um ambiente isolado/VM e tenha cuidado com programas que tocam em dados .dbf importantes para você. (O .prg não relacionado do GEM/Atari é um executável binário real - trate qualquer .prg que seja binário, não texto, com cautela extra.)
Detalhes do formato
em resumo- Programa GEM / Atari ST - No Atari ST e GEM/DOS, .prg é um arquivo de PROGRAMA executável (um binário real), não código-fonte.
- Programa Lotus 1-2-3 / Symphony - Alguns aplicativos da era Lotus e outros do DOS usavam .prg para scripts de macro/programa.
- Arquivo MicroSim PCBoard / WAVmaker - Algumas ferramentas de engenharia e música reutilizaram .prg para seus próprios dados; raro e não relacionado ao xBase.
Programas que abrem arquivos PRG
Detalhes técnicos
especificação profunda| Tipo de arquivo | Código-fonte xBase (dBASE/FoxPro/Clipper) em texto simples |
| Tipo MIME | text/plain; também visto como text/x-prg |
| Codificação de caracteres | ASCII / Windows-1252 para localidades ocidentais; codepage OEM DOS legada em arquivos antigos da Europa Oriental |
| Assinatura do arquivo (magic bytes) | Nenhuma - texto simples sem cabeçalho binário; os programas normalmente abrem com linhas de comentário (* ou &&), diretivas SET ou uma declaração PROCEDURE/FUNCTION |
| Tamanho típico do arquivo | 1 KB a algumas centenas de KB de texto fonte |
| Saída da compilação | FoxPro/VFP compila .prg para um arquivo de objeto binário .fxp; Clipper e Harbour compilam para um executável nativo |
| Formato de dados complementar | .dbf - programas xBase são estreitamente acoplados a arquivos de tabela dBASE para armazenamento e recuperação de dados |
| Compressão | Nenhuma na forma de fonte |
| Criptografia / distribuição | A fonte .prg é texto simples não criptografado; o FoxPro pode criptografar a saída .app compilada para distribuição comercial |
| Variantes de dialeto da linguagem | dBASE III/IV, FoxPro 2.x, Visual FoxPro 6-9 (extensões OOP), Clipper 5.x, Harbour, xHarbour - mesma extensão .prg com sintaxe sutilmente diferente |
| Sintaxe de comentário | Comentários de linha começam com * (asterisco no início da linha) ou && (em linha); a palavra-chave NOTE também é válida |
| Suporte a orientação a objetos | O Visual FoxPro introduziu blocos DEFINE CLASS / ENDDEFINE dentro de arquivos .prg, permitindo OOP junto com código procedural |
| Palavras-chave de fluxo de controle | IF/ENDIF, DO WHILE/ENDDO, FOR/NEXT, DO CASE/ENDCASE, SCAN/ENDSCAN - sintaxe específica do xBase |
| Suporte de SO | Originalmente DOS e Windows (dBASE, FoxPro, VFP); o Harbour permite a compilação em Linux e macOS a partir da mesma fonte .prg |
| Ecossistema atual | Ferramentas comerciais descontinuadas (Visual FoxPro 9.0 SP2 foi a última, em 2007); mantido ativamente através dos projetos de código aberto Harbour e xHarbour |
| Lançado | early 1980s with dBASE II/III; adopted by FoxPro, Clipper and later Visual FoxPro |
| Versão mais recente | Visual FoxPro 9.0 SP2 (2007) was the last major host; the language lives on in open-source Harbour |
| Padrão aberto | Sim · livre de royalties |
| Especificação | learn.microsoft.com |
Conversões de PRG
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos PRG.