www.wikidata.uk-ua.nina.az
Cya stattya pro movu programuvannya Pro bibliotechnu sistemu div Baltimore County Public Library BCPL Basic Combined Programming Language procedurna imperativna i strukturna komp yuterna mova programuvannya rozroblena Martinom Richardsonom en vchenim z Kembridzhskogo universitetu v 1966 BCPLParadigma Procedurne programuvannya Imperativne programuvannya Strukturne programuvannyaData poyavi 1966 57 rokiv tomu 1966 Tvorci Martin Richards en Sistema tipizaciyi typeless everything is a Mashinne slovo Pid vplivom vid CPL en Vplinula na B C Go 1 Mova priznachalasya dlya napisannya kompilyatoriv dlya inshih mov i zaraz ne vikoristovuyetsya Prote yiyi vpliv yak i ranishe vidchuvayetsya tomu sho usichena i sintaksichno zminena versiya BCPL nazvana B bula movoyu na yakij bazuvalasya mova programuvannya C Ce zmusilo bagatoh programistiv C dati BCPL gumoristichnij bekronim Before C Programming Language 2 BCPL bula pershoyu movoyu programuvannya z figurnimi duzhkami Na praktici v kodi chasto vikoristovuyut poslidovnosti ta zamist simvoliv i Odnoryadkovij simvol yakij vikoristovuyetsya dlya komentariv u BCPL ne prizhivsya v C prote znovu z yavsya v C a piznishe i v C99 Cya stattya mistit pravopisni leksichni gramatichni stilistichni abo inshi movni pomilki yaki treba vipraviti Vi mozhete dopomogti vdoskonaliti cyu stattyu pogodivshi yiyi z chinnimi movnimi standartami lyutij 2019 Zmist 1 Dizajn 2 Vikoristannya i realizaciya 3 Prikladi 4 Posilannya 5 Literatura 6 PosilannyaDizajn RedaguvatiBCPL bula vidpoviddyu na trudnoshi z poperednoyu Combined Programming Language en CPL yaka bula stvorena na pochatku 1960 h rokiv Richards stvoriv BCPL viklyuchivshi ti funkciyi movi yaki uskladnyuyut kompilyaciyu Persha realizaciya kompilyatora dlya IBM 7090 pid Compatible Time Sharing System CTSS bula napisana v toj chas yak Richards vidviduvav Project MAC Massachusetskogo tehnologichnogo institutu MIT navesni 1967 roku Mova bula vpershe opisana v dokumenti predstavlenomu na Vesnyanij Ob yednanij komp yuternij konferenciyi 1969 roku Mova bula rozroblena takim chinom sho dlya neyi mozhna bulo stvoriti mali i prosti kompilyatori vidomo sho deyaki kompilyatori mozhut buti zapusheni na 16 kilobajtah Krim togo kompilyator Richards sam napisanij na BCPL buv legko portovanim Takim chinom BCPL bula idealnim viborom dlya rozkrutki kompilyatora Odna z osnovnih prichin perenosimosti kompilyatoru polyagaye v jogo strukturi Vin buv rozdilenij na dvi chastini frontalna chastina analizuvala dzherelo i generuvala O kod dlya virtualnoyi mashina a vnutrishnya chastina prijmala O kod i perekladala jogo v kod dlya cilovoyi mashini Tilki odna p yata chastina kodu kompilyatora povinna bula buti perepisana dlya pidtrimki novoyi mashini ce zavdannya yake zazvichaj zajmaye vid 2 do 5 lyudino misyaciv Cej pidhid stav zagalnoprijnyatoyu praktikoyu piznishe napriklad dlya Pascal abo Java ale kompilyator Richards BCPL buv pershim sho viokremiv virtualnu mashinu dlya ciyeyi zadachi Mova nezvichajna tim sho u neyi ye tilki odin tip danih Mashinne slovo fiksovane chislo bit zazvichaj vibirayetsya dlya virivnyuvannya z mashinnim slovom arhitekturi ta dostatnoyi yemnosti dlya podannya bud yakoyi dijsnoyi adresi zberigannya Dlya bagatoh mashin togo chasu cej tip danih buv 16 bitovim Cej vibir piznishe viyavivsya serjoznoyu problemoyu koli BCPL vikoristovuvavsya na mashinah u yakih najmenshij adresovanij element buv ne slovom a bajtom abo na mashinah z velikimi rozmirami sliv z rozmirnistyu 32 bit abo 64 bit Interpretaciya bud yakogo znachennya viznachalasya operatorami vikoristovuvanimi dlya obrobki znachen Napriklad dodaye dva znachennya rozglyadayuchi yih yak cili chisla pobichno cherez znachennya efektivno rozglyadayuchi jogo yak pokazhchik Dlya togo shob ce pracyuvalo realizaciya ne nadala perevirki tipiv Ugorska notaciya bula rozroblena shob dopomogti programistam uniknuti vipadkovih pomilok tipu Nevidpovidnist mizh oriyentaciyeyu na slova i i obladnannyam oriyentovanim na bajti bulo rozglyanuto dekilkoma sposobami Deyaki nadavali standartni bibliotechni proceduri dlya upakovki i rozpakovuvannya sliv v bajtovi ryadka Piznishe buli dodani dvi movni funkciyi operator viboru bitovogo polya i operator nepryamogo privlasnennya infiksnogo bajta poznachayetsya simvolom BCPL obroblyaye priv yazki sho ohoplyuyut okremi odinici kompilyaciyi unikalnim sposobom Globalnih zminnih yaki deklaruyutsya koristuvachem nemaye Zamist cogo ye globalnij vektor yakij shozhij na porozhnyu zagalnu v Fortran Vsi dani sho rozdilyayutsya mizh riznimi odinicyami kompilyaciyi mistyat skalyari i pokazhchiki na vektori sho zberigayutsya v zazdalegid viznachenomu misci v globalnomu vektori Takim chinom fajli zagolovkiv fajli vklyucheni pid chas kompilyaciyi za dopomogoyu direktivi GET stayut osnovnim zasobom sinhronizaciyi globalnih danih mizh modulyami kompilyaciyi sho mistyat direktivi GLOBAL yaki predstavlyayut spiski simvolichnih imen kozhen z yakih z yednanij z nomerom yakij pov yazuye ce im ya z vidpovidnoyu chislovoyu adresoyu slova v globalnomu vektori Yak i zminni globalnij vektor takozh mistit priv yazki dlya zovnishnih procedur Ce robit dinamichne zavantazhennya blokiv kompilyaciyi duzhe prostoyu Zamist togo shob pokladatisya na zavantazhuvach posilan bazovoyi realizaciyi BCPL daye programistu kontrol nad procesom zv yazuvannya Globalnij vektor takozh sprostiv zaminu abo rozshirennya standartnih bibliotechnih procedur Programa mogla b zberegti pokazhchik vid globalnogo vektora do vihidnoyi pidprogrami i zaminiti jogo pokazhchikom na alternativnu versiyu Alternativa mogla b nazvati original yak chastinu jogo obrobki Ce mozhna vikoristovuvati yak shvidke specialne nalashtuvannya Kniga BCPL Mova i jogo kompilyator opisuye filosofiyu BCPL nastupnim chinom Filosofiya BCPL ne odin z tiraniv yakij dumaye sho vin znaye krashe za vse i vstanovlyuye zakon pro te sho dozvoleno i ne dozvoleno Shvidshe BCPL diye skorishe yak sluga sho proponuye svoyi poslugi v miru svoyih zdibnostej bez pretenzij navit koli stikayetsya z bezperechnoyu nisenitniceyu Programist zavzhdi peredbachaye sho vin znaye sho robit i ne obmezhenij dribnimi obmezhennyami I dizajn i filosofiya BCPL silno vplinuli na B yaka v svoyu chergu vplinula na C Programisti v toj chas obgovoryuvali chi bude mozhlivij nastupnik C nazivatisya D nastupna bukva v alfaviti abo P nastupna bukva v imeni batkivskoyi movi Yak viyavilosya faktichne im ya viyavilosya C operator inkrementu movi C Z chutok BCPL spochatku stoyav za nazvu Bootstrap Cambridge Programming Language ale CPL nikoli ne onovlyuvavsya z tih pir yak rozvitok zupinivsya v BCPL a akronim buv piznishe pereosmislenij dlya knigi BCPL Vikoristannya i realizaciya RedaguvatiBCPL ce mova na yakij bula napisana originalna programa hello world 3 Persha MUD bula takozh napisana na BCPL MUD1 en Kilka operacijnih sistem buli napisani chastkovo abo povnistyu na BCPL napriklad TRIPOS en i ranni versiyi AmigaDOS en BCPL bula takozh pershodzherelnoyu movoyu vikoristovuvanoyu v proekti PARC Alto pershogo suchasnogo personalnogo komp yutera Sered inshih proektiv sistema pidgotovki dokumentiv Bravo en bula napisana na BCPL Rannij kompilyator rozroblenij v 1969 roci pochinavsya z paperovoyi strichki O kodu kompilyatora Atlas 2 en Martina Richardsa planuyuchi ICT 1900 en seriyu Ci dvi mashini mali rizni dovzhini sliv 48 proti 24 bit rizni koduvannya simvoliv i rizni uyavlennya upakovanih ryadkiv a uspishne samonalashtuvannya pidvishilo vpevnenist v praktichnosti metodu Do kincya 1970 roku buli realizovani GE 600 series en IBM System 360 PDP 10 TX 2 en CDC 6400 en UNIVAC 1108 en PDP 9 en the KDF 9 en i Atlas 2 en U 1974 roci dialekt BCPL buv realizovanij v BBN en bez vikoristannya promizhnogo O kodu Pervisna realizaciya bula kros kompilyatorom rozmishenim na PDP 10 BBN TOPS 20 i bezposeredno nacilena na PDP 11 sho vikoristovuyutsya v realizaciyi BBN drugogo pokolinnya IMP en vikoristovuvanih v Arpanet Bula takozh versiya vipushena dlya BBC Micro en v seredini 1980 h kompaniyeyu Richards Computer Products stvorenoyu Dzhonom Richardsom bratom doktora Martina Richardsa Proekt BBC Domesday en vikoristovuvav cyu movu Versiyi BCPL dlya komp yuteriv Amstrad CPC i Amstrad PCW en buli takozh vipusheni v 1986 roci britanskim programnim budinkom Arnor Ltd MacBCPL buv vipushenij dlya Apple Macintosh v 1985 roci kompaniyeyu Top Express Ltd Kensington Angliya U 1979 roci isnuvalo shonajmenshe 25 arhitektur dlya realizaciyi BCPL Mova postupovo vijshla z modi tak yak C stav populyarnim v sistemah vidminnih vid Unix Prikladi RedaguvatiCi povni i vidkompilovani prikladi vzyati z distributivu BCPL Martina Richardsa Druk faktorialiv GET LIBHDR LET START VALOF FOR I 1 TO 5 DO WRITEF N I4 N I FACT I RESULTIS 0 AND FACT N N 0 gt 1 N FACT N 1 Rishennya zadachi pro N ferziv GET LIBHDR GLOBAL COUNT 200 ALL 201 LET TRY LD ROW RD BE TEST ROW ALL THEN COUNT COUNT 1 ELSE LET POSS ALL amp LD ROW RD UNTIL POSS 0 DO LET P POSS amp POSS POSS POSS P TRY LD P lt lt 1 ROW P RD P gt gt 1 LET START VALOF ALL 1 FOR I 1 TO 12 DO COUNT 0 TRY 0 0 0 WRITEF I2 QUEENS PROBLEM HAS I5 SOLUTIONS N I COUNT ALL 2 ALL 1 RESULTIS 0 Posilannya Redaguvati Pike Rob 24 kvitnya 2014 Hello Gophers Arhiv originalu za 10 zhovtnya 2016 Procitovano 11 bereznya 2016 Expert C Programming Deep C Secrets by Peter Van Der Linden Prentice Hall 1994 BCPL Arhivovano 3 kvitnya 2018 u Wayback Machine Jargon FileLiteratura RedaguvatiMartin Richards The BCPL Reference Manual Arhivovano 11 chervnya 2015 u Wayback Machine Memorandum M 352 Project MAC Cambridge MA USA July 1967 Martin Richards BCPL a tool for compiler writing and systems programming Proceedings of the Spring Joint Computer Conference Vol 34 pp 557 566 1969 Martin Richards Arthur Evans Robert F Mabee The BCPL Reference Manual Arhivovano 5 bereznya 2016 u Wayback Machine MAC TR 141 Project MAC Cambridge MA USA 1974 Martin Richards C Whitby Strevens BCPL the language and its compiler Cambridge University Press 1980 ISBN 0 521 28681 6Posilannya RedaguvatiMartin Richards BCPL distribution Arhivovano 21 chervnya 2006 u Wayback Machine Martin Richards BCPL Reference Manual Arhivovano 11 chervnya 2015 u Wayback Machine by Dennis M Ritchie including his commentary about BCPL s influence on C BCPL entry Arhivovano 9 chervnya 2016 u Wayback Machine in the Jargon File Nordier amp Associates x86 port Arhivovano 11 listopada 2016 u Wayback Machine ArnorBCPL manual Arhivovano 4 bereznya 2016 u Wayback Machine Ce nezavershena stattya pro movi programuvannya Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi Cya stattya potrebuye dodatkovih posilan na dzherela dlya polipshennya yiyi perevirnosti Bud laska dopomozhit udoskonaliti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Zvernitsya na storinku obgovorennya za poyasnennyami ta dopomozhit vipraviti nedoliki Material bez dzherel mozhe buti piddano sumnivu ta vilucheno traven 2017 Otrimano z https uk wikipedia org w index php title BCPL amp oldid 39766187