Součást Pascal - Component Pascal
Paradigma | rozkazovací způsob, strukturovaný, modulární, objektově orientovaný |
---|---|
Navrhl | Oberonovy mikrosystémy |
Poprvé se objevil | 1997 |
Psací disciplína | silný, statický |
webová stránka | https://blackboxframework.org |
Ovlivněno | |
Oberon-2 |
Součást Pascal je programovací jazyk v tradici Niklaus Wirth je Pascal,[1] Modula-2,[2] Oberon[3][4] a Oberon-2.[5] To nese jméno Programovací jazyk Pascal a zachovává své dědictví, ale není kompatibilní s Pascalem. Místo toho se jedná o menší variantu a vylepšení Oberon-2 s expresivnějším typem systému a vestavěnou podporou řetězců. Component Pascal byl původně navržen a podporován malým ETH Curych spin-off společnost s názvem Oberon microsystems pod názvem Oberon / L. Vyvinuli IDE (Integrované vývojové prostředí ) volala BlackBox Component Builder. Od roku 2014 převzala vývoj a podporu malá skupina dobrovolníků. V době, kdy byla vydána první verze IDE (1994 as Oberon / F) představila nový přístup k grafické uživatelské prostředí (GUI) konstrukce založená na upravitelných formulářích, kde pole a příkazová tlačítka jsou propojena s exportovanými proměnnými a spustitelnými procedurami. Tento přístup má určitou podobnost s code-behind způsobem používaným v Microsoftu .SÍŤ 3.0 pro přístupový kód v XAML, která byla vydána v roce 2008.
An open-source implementace komponenty Pascal existuje pro .SÍŤ a Virtuální stroj Java platformy, od týmu Gardens Point kolem Johna Gougha v Queensland University of Technology v Austrálii.
Dne 23. června 2004 společnost Oberon microsystems oznámila, že nástroj BlackBox Component Builder byl zpřístupněn ke stažení zdarma a že je plánována verze s otevřeným zdrojovým kódem. Beta verze open-source byla původně vydána v prosinci 2004 a aktualizována na finální verzi v1.5 v prosinci 2005. Zahrnuje kompletní zdrojový kód IDE, kompilátor, debugger, zdrojový analyzátor, profiler a rozhraní knihoven a může být také staženy z jejich webových stránek. Několik kandidátů na vydání v1.6 se objevilo v letech 2009 - 2011, nejnovější (1.6rc6) se objevil na webových stránkách Oberon microsystems v roce 2011. Na konci roku 2013 vydala Oberon Microsystems finální verzi 1.6. Je to pravděpodobně poslední vydání dodávané společností Oberon Microsystems a probíhající vývoj převzala malá komunita.
BlackBox Component Pascal používá příponu .odc (= ÓBeron dÓCument) pro soubory dokumentů, například zdrojové soubory a .osf (= ÓBeron symbol File) pro soubory symbolů, zatímco Gardens Point Component Pascal používá .cp pro zdroj a .cps pro soubory symbolů. BlackBox Component Pascal má svůj vlastní spustitelný a načtitelný formát objektu .ocf (= ÓBeron Códa File); zahrnuje runtime linkovací zavaděč pro tento formát. Formát dokumentu (.odc) je binární formát RTF, který umožňuje pěkné formátování, podporuje podmíněné skládání a umožňuje vložení aktivního obsahu do zdrojového textu. Rovněž zpracovává prvky uživatelského rozhraní v upravitelných formách. To je v tradici formátu Oberon Text.[6]
Syntax
Úplná syntaxe pro CP, jak je uvedena v jazykové zprávě, je uvedena níže. Všimněte si, že v rozšířená forma Backus – Naur je vyžadováno pouze 34 gramatických produkcí, pouze o jednu více než u Oberon-2, i když se jedná o poměrně pokročilejší jazyk.
Modul = MODULE ident ";" [ImportList] DeclSeq [ZAČÍNAT StatementSeq] [CLOSE StatementSeq] KONEC ident ".".ImportList = IMPORT [ident ":="] ident {"," [ident ":="] ident} ";".DeclSeq = { CONST {ConstDecl ";" } | TYP {Typ Dekl ";"} | VAR {VarDecl ";"}} { ProcDecl ";" | Vpřed ";"}.ConstDecl = IdentDef "=" ConstExpr.Typ Dekl = IdentDef "=" Typ.VarDecl = IdentList ":" Typ.ProcDecl = POSTUP [Přijímač] IdentDef [FormalPars] MethAttributes [";" DeclSeq [ZAČÍNAT prohlášení] KONEC ident].MethAttributes = ["," NOVÝ] ["," (ABSTRAKTNÍ | PRÁZDNÝ | ROZŠÍŘITELNÝ)].Vpřed = POSTUP "^" [Přijímač] IdentDef [FormalPars] MethAttributes.FormalPars = "(" [FPSekce {";" FPSekce}] ")" [":" Typ].FPSekce = [VAR | V | VEN] ident {"," ident} ":" Typ.Přijímač = "(" [VAR | V] ident ":" ident ")".Typ = Kvalitní | POLE [ConstExpr {"," ConstExpr}] Typ OF | [ABSTRAKTNÍ | ROZŠÍŘITELNÉ | OMEZENÝ] ZÁZNAM ["("Kvalitní")"] FieldList {";" FieldList} KONEC | POINTER NA typ | POSTUP [FormalPars].FieldList = [IdentList ":" Typ].StatementSeq = Prohlášení {";" Prohlášení}.Prohlášení = [ Označovatel ":=" Expr | Označovatel ["(" [ExprList] ")"] | IF Expr THEN StatementSeq {ELSIF Expr THEN StatementSeq} [ELSE StatementSeq] KONEC | PŘÍPAD Expr Případ {"|" Případ} [ELSE StatementSeq] KONEC | WHILE Expr DO StatementSeq END | REPEAT StatementSeq UNTIL Expr | PRO ident ":=" Expr TO Expr [Autor: ConstExpr] DO StatementSeq END | LOOP StatementSeq END | S [ Prohlášení Guard DO Seq ] {"|" [ Prohlášení Guard DO Seq ] } [ELSE StatementSeq] KONEC | VÝSTUP | VRÁTIT SE [Expr] ].Případ = [Štítky Case {"," Štítky Case} ":" StatementSeq].Štítky Case = ConstExpr [".." ConstExpr].Hlídat = Kvalitní ":" Kvalitní.ConstExpr = Expr.Expr = SimpleExpr [Vztah SimpleExpr].SimpleExpr = ["+" | "-"] Období {Termín AddOp}.Období = Faktor {MulOp Factor}.Faktor = Označovatel | číslo | charakter | tětiva | NULA | Soubor | "(" Expr ")" | " ~ " Faktor.Soubor = "{" [Živel {"," Živel}] "}".Živel = Expr [".." Expr].Vztah = "=" | "#" | "<" | "<=" | ">" | ">=" | V | JE.AddOp = "+" | "-" | NEBO.MulOp = "*" | "/" | DIV | MOD | "&".Označovatel = Kvalitní {"." ident | "[" ExprList "]" | "^" | "(" Kvalitní ")" | "(" [ExprList] ")"} [ "$" ].ExprList = Expr {"," Expr}.IdentList = IdentDef {"," IdentDef}.Kvalitní = [ident "."] ident.IdentDef = ident ["*" | "-"].
Reference
- ^ Jensen, Kathleen & Wirth, Niklaus. Pascal: Uživatelská příručka a zpráva. Springer Verlag 1974, 1985, 1991. ISBN 978-0-387-97649-5 (1991)
- ^ Wirth, Niklausi. Programování v Modula-2. Springer Verlag 1982, 1983, 1985. ISBN 978-3-540-15078-7 ISBN 0-387-15078-1
- ^ Reiser, Martin & Wirth, Niklaus. Programování v Oberonu. Addison Wesley, 1992. ISBN 0-201-56543-9 PDF (334 KB) Archivováno 3. června 2012 v Wayback Machine
- ^ Wirth, Niklaus & Gutknecht, Jürg. Project Oberon: Návrh operačního systému a překladače. Addison Wesley, 1992 ISBN 0-201-54428-8 PDF (4'398 KB) Archivováno 10. července 2012 v Wayback Machine
- ^ Mössenböck, Hans-Peter & Wirth, Niklaus. "Programovací jazyk Oberon-2 ". Strukturované programování (1991) 12: 179-195.
- ^ Mössenböck, H. a Koskimies, K. (1996), Aktivní text pro strukturování a porozumění zdrojovému kódu. Softw: Pract. Exper., 26: 833–850. doi: 10,1002 / (SICI) 1097-024X (199607) 26: 7 <833 :: AID-SPE34> 3.0.CO; 2-Q.
Další čtení
- Od Modula po Oberon Wirth (1990)
- Programovací jazyk Oberon Wirth (1990)
- Rozdíly mezi Oberonem a Oberon-2 Mössenböck a Wirth (1993)
- Programovací jazyk Oberon-2 H. Mössenböck, N. Wirth, Institut für Computersysteme, ETH Zürich (ETHZ ), Leden 1992.
- Co je nového v komponentě Pascal (změny z Oberon-2 na CP), Pfister (2001)
- Součásti a objekty společně Clemens Szyperski, Dr.Dobbs, květen 1999