Hvad er P-filformatet?
En .p-fil er en Pascal-kildekodefil - almindelig læsbar tekst skrevet i programmeringssproget Pascal. Filendelsen blev brugt af tidlige Unix Pascal-compilere, især Berkeley Pascal (pc), og af klassiske Macintosh Pascal-miljøer, hvor .p var standardfilendelsen for programkilder.
Inde i filen finder du standard Pascal-konstruktioner: en program- eller unit-header, en uses-sætning, der viser biblioteksafhængigheder, const-, type- og var-erklæringsblokke samt en eller flere procedure- eller function-definitioner, der alle slutter med en begin...end. hovedblok. Kommentarer bruger krøllede parenteser { } eller parentes-stjerne (* *) som afgrænsere.
I dag compiles .p-filer primært med Free Pascal (fpc) eller dets Lazarus IDE, selvom ældre kode kan være rettet mod GNU Pascal (gpc). Ethvert tekstredigeringsprogram kan åbne .p-filer til læsning og redigering; Visual Studio Code med en Pascal-udvidelse giver syntaksfremhævning og grundlæggende sprogunderstøttelse.
.p er en af flere Pascal-kildeendelser. Det dominerende moderne valg er .pas; Free Pascal bruger også .pp; Delphi-projektfiler bruger .dpr. Compiled output producerer typisk en .o objektfil som et mellemtrin før linkning. Bemærk, at .p også bruges af Progress OpenEdge ABL til procedurefiler, så den omgivende værktøjskæde bør kontrolleres, når formatet er tvetydigt.
- Pascal-dialekter håndteret: Standard/ISO Pascal, Turbo/Borland Pascal, Object Pascal, Free Pascal
- Compiled med
fpcpå alle større platforme eller ældregpcpå Unix/Linux - Intet binært indhold - ren ASCII eller UTF-8 tekst hele vejen igennem
Sikkerhed og tryghed
RISIKO: LOWEn .p Pascal-kildefil er almindelig tekst og gør intet, før du COMPILE og kører den - så det er sikkert blot at åbne en for at læse den. Risikoen er den samme som ved enhver kildekode: den kan indeholde ondsindet logik, så gennemse kode fra upålidelige kilder, før du compiler/eksekverer det resulterende program. Sørg for, at du korrekt har identificeret filen som Pascal (frem for en Progress 4GL .p), før du forsøger at bygge den.
Formatdetaljer
kort fortalt- Progress OpenEdge ABL (4GL) procedure - Progress/OpenEdge forretningsapplikationskilde («.p» procedurefiler), redigeret/kørt i OpenEdge AppBuilder/PDS - ikke relateret til Pascal.
- GNU gettext / Perl-kilde (sjælden) - Ses lejlighedsvis til Perl-scripts eller anden kildekode; kontekstafhængig og ualmindelig.
Programmer der åbner P-filer
Tekniske detaljer
dyb specifikation| MIME-type | text/x-pascal |
| Kodning | ASCII eller UTF-8 almindelig tekst; ingen BOM påkrævet |
| Filstruktur | Pascal program/unit-header → uses-sætning → const/type/var-erklæringer → procedurer/funktioner → begin…end. hovedblok |
| Kommentarsyntaks | Krøllede parenteser { } eller parentes-stjerne (* *) afgrænsere; enkeltlinje // understøttes i Free Pascal og Delphi-tilstand |
| Filidentifikation | Ingen magic bytes - identificeres ved Pascal-nøgleord som program, unit, begin, end, var, procedure, function |
| Typisk filstørrelse | Fra få hundrede bytes til titusinder af KB pr. kildemodul |
| Understøttede Pascal-dialekter | Standard/ISO Pascal, Turbo/Borland Pascal, Object Pascal, Free Pascal 3.2.x |
| Primær compiler | Free Pascal (fpc); historisk Berkeley Pascal (pc) på Unix, GNU Pascal (gpc) på Linux |
| Compilering-output | Mellemliggende .o objektfil linket til en indfødt binær eksekverbar fil |
| Platformunderstøttelse | Platformuafhængig kildekode - Windows, macOS, Linux, Unix |
| Historisk oprindelse | Filendelse vedtaget af Berkeley Pascal på Unix og klassisk Macintosh Pascal; .pas blev senere den dominerende Pascal-filendelse |
| Relaterede kildeendelser | .pas (dominerende), .pp (Free Pascal), .dpr (Delphi-projekt), .lpr (Lazarus-projekt) |
| IDE-understøttelse | Lazarus IDE (Free Pascals grafiske brugerflade) genkender og compiler .p sammen med .pas-kilder |
| Syntaksparadigme | Algol-afledt struktureret programmering; begin…end-par afgrænser alle sammensatte sætninger og programkroppen |
| Bemærkning om tvetydighed | .p bruges også af Progress OpenEdge ABL til 4GL-procedurefiler - filens indledende nøgleord (program/unit vs. ABL-specifik syntaks) skelner mellem de to |
| Udgivet | 1970 (Pascal language; .p used by various Unix/Mac Pascal compilers) |
| Seneste version | N/A (source text; tracks the Pascal dialect/compiler, e.g. Free Pascal 3.2.x / Object Pascal) |
| Åben standard | Ja · royaltyfri |
| Specifikation | www.freepascal.org |
P-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om P-filer.