PL/M: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m apostrofo tipografico |
m →Collegamenti esterni: clean up, replaced: IDE → IDE |
||
(9 versioni intermedie di 8 utenti non mostrate) | |||
Riga 1:
{{
|immagine =
|didascalia =
|versione =
|utilizzo =
|tipizzazione =
|specifiche =
|estensione =
|ha_influenzato =
|implementazione_riferimento =
|sistema_operativo =
|lingua =
|licenza =
|sito_web =
}}
Il '''PL/M''' (sigla di '''''P'''rogramming '''L'''anguage for '''M'''icrocomputers'') è un [[linguaggio di programmazione ad alto livello]] creato da [[Gary Kildall]] nel [[1972]] per i [[microprocessore|microprocessori]] [[Intel]]<ref name="swaine">{{cita pubblicazione|nome=Michael|cognome=Swaine|data=22/06/2001|titolo=Gary Kildall and Collegial Entrepreneurship|rivista=Dr. Dobb's Journal|url=http://www.drdobbs.com/184410428;jsessionid=TMPFOC1SMKZGPQE1GHRSKHWATMY32JVN|accesso=19/09/2010}}</ref>. Il PL/M non è più supportato da Intel ma esistono comunque in circolazione dei traduttori da PL/M a [[C (linguaggio)|C]].
==Caratteristiche==
Il PL/M incorporava concetti ripresi da preesistenti linguaggi quali il [[PL/I]], l'[[ALGOL]] e l'[[XPL (linguaggio di programmazione)|XPL]], ed integrava un [[Macro (informatica)|esecutore di macro]]. A differenza di altri linguaggi contemporanei come il [[Pascal (linguaggio di programmazione)|Pascal]], il [[C (linguaggio)|C]] o il [[BASIC]], il PL/M non aveva [[funzione (informatica)|funzioni standard]] per la gestione dell'[[input/output]]. Includeva delle funzionalità scritte per accedere a basso livello all'[[hardware]] dei processori a cui si rivolgeva e, per tale motivo, supportava
Il PL/M è stato il linguaggio con il quale Kildall ha scritto il [[sistema operativo]] [[CP/M]]; è stato usato anche per scrivere il [[firmware]] dell'[[IBM System i|AS/400 (CISC)]]. I [[compilatore|compilatori]] PL/M sono stati resi disponibili per diverse piattaforme: [[Intel 4004]], [[Intel 8008|8008]], [[Intel 8080|8080]], [[Intel 8085|8085]], [[Intel 8051|8051, 8052]], 8096, 80196, [[Intel 8086|8086/8088]], [[Intel 80186|80186/80188]], [[Intel 80286|286]] e [[Intel 80386|386]]. Mentre alcuni di essi erano "nativi", vale a dire che giravano su sistemi che usavano lo stesso microprocessore (ad esempio per il sistema operativo Intel ''ISIS''), c'erano anche dei "cross compiler", che giravano cioè su altri ambienti come il [[MS-DOS|DOS]] di [[Microsoft]] o il [[OpenVMS|VAX/VMS]] di ''Equipment Corporation''.
==Esempio di codice==
FIND: PROCEDURE(PA,PB) BYTE;
DECLARE (PA,PB) BYTE;
Line 30 ⟶ 43:
RETURN MATCH;
END FIND;
==Note==
Line 36 ⟶ 48:
==Bibliografia==
* Intel Corporation: ''PL/M-80 Programming Manual'' ([[1976]]) Doc. n
* Daniel D. McCracken: ''A Guide to PL/M Programming for Microcomputer Applications'' ([[1978]]) - Pearson Addison-Wesley
==Collegamenti esterni==
* [http://www.slac.stanford.edu/grp/cd/soft/rmx/manuals/PLM_386.PDF ''PL/M 386 Programmer's Guide''] {{pdf}} – RadiSys Corporation, dicembre 1999. Include la sintassi completa del PL/M in notazione [[Backus-Naur Form|BNF]]. Disponibile anche su [http://web.archive.org/web/20060814050742/http://www.slac.stanford.edu/grp/cd/soft/rmx/manuals/PLM_386.PDF ''Archive.org''].▼
* {{Collegamenti esterni}}
* [http://www.ristancase.com/da-plm/index.php Development Assistant for PL/M (DA-PL/M)] – [[integrated development environment|IDE]] commerciale per PL/M sviluppapta da RistanCASE GmbH▼
▲* [http://www.slac.stanford.edu/grp/cd/soft/rmx/manuals/PLM_386.PDF ''PL/M 386 Programmer's Guide''] {{pdf}} – RadiSys Corporation, dicembre 1999. Include la sintassi completa del PL/M in notazione [[Backus-Naur Form|BNF]]. Disponibile anche su
▲* [https://web.archive.org/web/20110516200821/http://www.ristancase.com/da-plm/index.php Development Assistant for PL/M (DA-PL/M)] – [[
* [http://www.plm2c.com/ PLM2C - PL/M to C Translator] – Traduttore commerciale PL/M->C di Alternative Solutions
* [https://web.archive.org/web/20100914184007/http://www.pennington.com/plmcee.htm XTRAN Demonstration: Translating PL/M to C] – Traduttore commerciale PL/M->C di Pennington Systems, Inc.
{{Controllo di autorità}}
[[Categoria:Linguaggi di programmazione procedurali]]
[[Categoria:Linguaggi di programmazione strutturati]]
|