Komponent Paskal - Component Pascal

Komponent Paskal
Paradigmamajburiy, tuzilgan, modulli, ob'ektga yo'naltirilgan
LoyihalashtirilganOberon mikrosistemalari
Birinchi paydo bo'ldi1997
Matnni yozishkuchli, statik
Veb-saythttps://blackboxframework.org
Ta'sirlangan
Oberon-2

Komponent Paskal a dasturlash tili ning an'anasida Niklaus Virt "s Paskal,[1] Modula-2,[2] Oberon[3][4] va Oberon-2.[5] Uning nomi bor Paskal dasturlash tili va u o'z merosini saqlaydi, ammo Paskal bilan mos kelmaydi. Buning o'rniga, bu Oberon-2-ning kichik varianti va takomillashtirilganligi yanada aniqroq tizimli tizim va o'rnatilgan mag'lubiyatga ega. Komponent Paskal dastlab ishlab chiqilgan va kichik tomonidan qo'llab-quvvatlangan ETH Tsyurix Oberon / L nomi ostida Oberon mikrosistemalari deb nomlangan ajraluvchi kompaniya. Ular IDE ishlab chiqdilar (Integratsiyalashgan rivojlanish muhiti ) chaqirdi BlackBox Component Builder. 2014 yildan boshlab rivojlanish va qo'llab-quvvatlashni kichik ko'ngillilar guruhi o'z zimmasiga oldi. O'sha paytda IDE ning birinchi versiyasi chiqarildi (1994 yilga qadar) Oberon / F) bu yangi yondashuvni taqdim etdi grafik foydalanuvchi interfeysi (GUI) maydonlari va buyruq tugmalari eksport qilinadigan o'zgaruvchilar va bajariladigan protseduralar bilan bog'langan tahrir qilinadigan shakllarga asoslangan qurilish. Ushbu yondashuv quyidagilarga o'xshashdir kod orqasida Microsoft-da ishlatiladigan usul .NET Kirish uchun 3.0 XAML, 2008 yilda chiqarilgan.

An ochiq manbali Komponent Paskal dasturini amalga oshirish uchun mavjud .NET va Java virtual mashinasi platformalar, Jon Gou atrofidagi Gardens Point jamoasidan Kvinslend texnologiya universiteti Avstraliyada.

2004 yil 23 iyunda Oberon mikrosistemalari BlackBox Component Builder-ni bepul yuklab olish imkoniyati mavjudligini va ochiq kodli versiyasini rejalashtirilganligini e'lon qildi. Beta ochiq manbali versiya dastlab 2004 yil dekabrda chiqarilgan va 2005 yil dekabrda yakuniy v1.5 versiyasiga yangilangan. IDE, kompilyator, disk raskadrovka, manba analizatori, profiler va interfeys kutubxonalarining to'liq manba kodini o'z ichiga oladi va shuningdek veb-saytidan yuklab olingan. 2009 yildan 2011 yilgacha v1.6 versiyasiga bir nechta nomzodlar paydo bo'ldi, so'nggisi (1.6rc6) Oberon mikrosistemalarining veb-sahifalarida 2011 yilda paydo bo'ldi. 2013 yil oxirida Oberon Microsystems 1.6 ning so'nggi versiyasini chiqardi. Ehtimol, bu Oberon Microsystems tomonidan to'plangan so'nggi chiqishdir va kichik bir jamoa doimiy rivojlanishni o'z zimmasiga oldi.

BlackBox Component Paskal .odc () kengaytmalaridan foydalanadi.= Oberon dovument) hujjat fayllari uchun, masalan, manba fayllari va .osf (= Oberon symbol fbilan) ramz fayllari uchun, Gardens Point Component Paskalda manba uchun .cp va belgi fayllari uchun .cps ishlatiladi. BlackBox Component Paskal o'zining bajariladigan va yuklanadigan ob'ekt formatiga ega .ocf (= Oberon vode fbilan); u ushbu format uchun ishlaydigan vaqtni bog'laydigan yuklagichni o'z ichiga oladi. Hujjat formati (.odc) boy matnli ikkilik format bo'lib, u yaxshi formatlashni ta'minlaydi, shartli katlamani qo'llab-quvvatlaydi va faol tarkibni manba matniga joylashtirish imkonini beradi. Shuningdek, u foydalanuvchi interfeysi elementlarini tahrirlanadigan shakllarda ishlaydi. Bu Oberon Text formatining an'analariga ko'ra.[6]

Sintaksis

Til bo'yicha hisobotda keltirilgan CP uchun to'liq sintaksis quyida keltirilgan. Ichida ekanligini unutmang kengaytirilgan Backus-Naur shakli faqat 34 grammatik ishlab chiqarish talab etiladi, bu faqat bitta uchun ko'proq Oberon-2, ammo bu ancha rivojlangan til.

Modul = MODULE identifikatori ";"            [ImportList] DeclSeq            [BEGIN bayonoti]            [YAQIN bayonot]          END identifikatori ".".ImportList = IMPORT [identifikator ":="] identifikator {"," [identifikator ":="] identifikator} ";".DeclSeq = { CONST {ConstDecl ";" }           | TURI {TypeDecl ";"}           | VAR {VarDecl ";"}}           { ProcDecl ";" | ForwardDecl ";"}.ConstDecl = IdentDef "=" ConstExpr.TypeDecl = IdentDef "=" Turi.VarDecl = IdentList ":" Turi.ProcDecl = TARTIBI [Qabul qiluvchi] IdentDef [FormalPars] MethAttributes            [";" DeclSeq [BEGIN bayonoti]            END identifikatori].MethAttributes = ["," YANGI] ["," (REFERAT | Bo'sh | Kengaytirilishi mumkin)].ForwardDecl = TARTIBI "^" [Qabul qiluvchi] IdentDef [FormalPars] MethAttributes.FormalPars = "(" [FPS bo'limi {";" FPS bo'limi}] ")" [":" Turi].FPS bo'limi = [VAR | IN | Chiqdi] identifikator {"," identifikator} ":" Turi.Qabul qiluvchi = "(" [VAR | IN] identifikator ":" identifikator ")".Turi = Qobiliyatsiz    | ARRAY [ConstExpr {"," ConstExpr}] OF turi    | [REFERAT | Kengaytirilishi mumkin | Cheklangan] YOZISH ["("Qobiliyatsiz")"] FieldList {";" FieldList} OXIRI    | Yozish uchun ko'rsatma    | TARTIBI [FormalPars].FieldList = [IdentList ":" Turi].Bayonot = Bayonot {";" Bayonot}.Bayonot = [ Dizayner ":=" Expr    | Dizayner ["(" [ExprList] ")"]    | IF Expr UNDA BayonotSeq        {ELSIF Expr UNDAN BayonotSeq}        [BOShQA bayonoti]       OXIRI    | HOLAT EXPR         Ish {"|" Ish}        [BOShQA bayonoti]       OXIRI    | Expr DO StatementSeq END ni bajaring    | Takroriy bayonot Sek    | Identifikator uchun ":=" Exprdan Exprgacha [ConstExpr tomonidan] Do StatementSeq END tugatish    | LOOP StatementSeq END    | Bilan [ Qo'riqchi DO bayonoti ]        {"|" [ Qo'riqchi DO bayonoti ] }        [BOShQA bayonoti]       OXIRI    | CHIQISH    | QAYTISH [Expr]    ].Ish = [CaseLabels {"," CaseLabels} ":" Bayonot].CaseLabels = ConstExpr [".." ConstExpr].Qo'riqchi = Qobiliyatsiz ":" Qobiliyatsiz.ConstExpr = Expr.Expr = SimpleExpr [Aloqa SimpleExpr].SimpleExpr = ["+" | "-"] Muddat {AddOp muddati}.Muddat = Faktor {MulOp omili}.Faktor = Dizayner | raqam | belgi | mag'lubiyat | NIL | O'rnatish | "(" Expr ")" | " ~ " Faktor.O'rnatish = "{" [Element {"," Element}] "}".Element = Expr [".." Expr].Aloqalar = "=" | "#" | "<" | "<=" | ">" | ">=" | IN | IS.AddOp = "+" | "-" | Yoki.MulOp = "*" | "/" | DIV | MOD | "&".Dizayner = Qobiliyatsiz {"." identifikator              | "[" ExprList "]"              | "^"              | "(" Qobiliyatsiz ")"              | "(" [ExprList] ")"} [ "$" ].ExprList = Expr {"," Expr}.IdentList = IdentDef {"," IdentDef}.Qobiliyatsiz = [identifikator "."] identifikator.IdentDef = identifikator ["*" | "-"].

Adabiyotlar

  1. ^ Jensen, Ketlin va Virt, Niklaus. Paskal: Foydalanuvchi uchun qo'llanma va hisobot. Springer Verlag 1974, 1985, 1991. ISBN  978-0-387-97649-5 (1991)
  2. ^ Virt, Niklaus. Modula-2 dasturlash. Springer Verlag 1982, 1983, 1985. ISBN  978-3-540-15078-7 ISBN  0-387-15078-1
  3. ^ Rayser, Martin va Virt, Niklaus. Oberonda dasturlash. Addison Uesli, 1992 yil. ISBN  0-201-56543-9 PDF (334 KB) Arxivlandi 2012 yil 3-iyun kuni Orqaga qaytish mashinasi
  4. ^ Wirth, Niklaus & Gutknecht, Yurg. Oberon loyihasi: Operatsion tizim va kompilyatorning dizayni. Addison Uesli, 1992 yil ISBN  0-201-54428-8 PDF (4'398 KB) Arxivlandi 2012 yil 10-iyul kuni Orqaga qaytish mashinasi
  5. ^ Mossenbok, Xans-Piter va Virt, Niklaus. "Oberon-2 dasturlash tili ". Strukturaviy dasturlash (1991) 12: 179-195.
  6. ^ Mossenbok, H. va Koskimies, K. (1996), Strukturizatsiya va manbalar kodini tushunish uchun faol matn. Dastur: Amaliyot. Tajriba, 26: 833-850. doi: 10.1002 / (SICI) 1097-024X (199607) 26: 7 <833 :: AID-SPE34> 3.0.CO; 2-Q.

Qo'shimcha o'qish

Tashqi havolalar