Vad är filformatet P?
En .p-fil är en Pascal-källkodsfil - mänskligt läsbar klartext skriven i programmeringsspråket Pascal. Filtillägget användes av tidiga Unix Pascal-kompilatorer, främst Berkeley Pascal (pc), och av klassiska Macintosh Pascal-miljöer, där .p var standardtillägget för programkällkod.
Inuti filen hittar du vanliga Pascal-konstruktioner: ett program- eller unit-huvud, en uses-sats som listar biblioteksberoenden, deklarationsblock för const, type och var, samt en eller flera definitioner av procedure eller function, som alla slutar med ett begin...end.-huvudblock. Kommentarer använder klammerparenteser { } eller parentes-stjärna (* *) som avgränsare.
Idag kompileras .p-filer främst med Free Pascal (fpc) eller dess Lazarus IDE, även om äldre kod kan vara avsedd för GNU Pascal (gpc). Valfri textredigerare kan öppna .p-filer för läsning och redigering; Visual Studio Code med ett Pascal-tillägg ger syntaxmarkering och grundläggande språkstöd.
.p är ett av flera filtillägg för Pascal-källkod. Det dominerande moderna valet är .pas; Free Pascal använder även .pp; Delphi-projektfiler använder .dpr. Kompilerad utdata skapar vanligtvis en .o-objektfil som ett mellansteg före länkning. Notera att .p även används av Progress OpenEdge ABL för procedurfiler, så den omgivande verktygskedjan bör kontrolleras när formatet är tvetydigt.
- Pascal-dialekter som hanteras: Standard/ISO Pascal, Turbo/Borland Pascal, Object Pascal, Free Pascal
- Kompileras med
fpcpå alla större plattformar eller äldregpcpå Unix/Linux - Inget binärt innehåll - ren ASCII eller UTF-8 klartext rakt igenom
Säkerhet & trygghet
RISK: LOWEn .p Pascal-källkodsfil är klartext och gör ingenting förrän du KOMPILERAR och kör den - så det är säkert att bara öppna en för att läsa. Risken är densamma som med all källkod: den kan innehålla skadlig logik, så granska kod från okända källor innan du kompilerar/kör det resulterande programmet. Se till att du har identifierat filen korrekt som Pascal (kontra en Progress 4GL .p) innan du försöker bygga den.
Formatdetaljer
i ett nötskal- Progress OpenEdge ABL (4GL) procedur - Källkod för Progress/OpenEdge-affärsapplikationer («.p»-procedurfiler), redigeras/körs i OpenEdge AppBuilder/PDS - orelaterat till Pascal.
- GNU gettext / Perl-källkod (sällsynt) - Förekommer ibland för Perl-skript eller annan källkod; sammanhangsberoende och ovanligt.
Program som öppnar P-filer
Tekniska detaljer
djup specifikation| MIME-typ | text/x-pascal |
| Kodning | ASCII eller UTF-8 klartext; ingen BOM krävs |
| Filstruktur | Pascal program/unit-huvud → uses-sats → const/type/var-deklarationer → procedurer/funktioner → begin…end. huvudblock |
| Kommentarsyntax | Klammerparenteser { } eller parentes-stjärna (* *) som avgränsare; enkelradiga // stöds i Free Pascal och Delphi-läge |
| Filidentifiering | Inga magic bytes - identifieras genom Pascal-nyckelord som program, unit, begin, end, var, procedure, function |
| Typisk filstorlek | Några hundra bytes till tiotals KB per källkodsmodul |
| Pascal-dialekter som stöds | Standard/ISO Pascal, Turbo/Borland Pascal, Object Pascal, Free Pascal 3.2.x |
| Huvudsaklig kompilator | Free Pascal (fpc); historiskt Berkeley Pascal (pc) på Unix, GNU Pascal (gpc) på Linux |
| Kompileringsutdata | Mellanliggande .o-objektfil länkad till en inbyggd binär körbar fil |
| Plattformsstöd | Plattformsoberoende källkod - Windows, macOS, Linux, Unix |
| Historiskt ursprung | Filtillägg som antogs av Berkeley Pascal på Unix och klassiska Macintosh Pascal; .pas blev senare det dominerande Pascal-tillägget |
| Relaterade källkodstillägg | .pas (dominant), .pp (Free Pascal), .dpr (Delphi-projekt), .lpr (Lazarus-projekt) |
| IDE-stöd | Lazarus IDE (Free Pascals grafiska gränssnitt) känner igen och kompilerar .p tillsammans med .pas-källkod |
| Syntaxparadigm | Algol-baserad strukturerad programmering; begin…end-par avgränsar alla sammansatta satser och programkroppen |
| Notering om tvetydighet | .p används också av Progress OpenEdge ABL för 4GL-procedurfiler - filens inledande nyckelord (program/unit kontra ABL-specifik syntax) skiljer de två åt |
| Släppt | 1970 (Pascal language; .p used by various Unix/Mac Pascal compilers) |
| Senaste version | N/A (source text; tracks the Pascal dialect/compiler, e.g. Free Pascal 3.2.x / Object Pascal) |
| Öppen standard | Ja · royaltyfri |
| Specifikation | www.freepascal.org |
P-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om P-filer.