PL/M: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
m →Collegamenti esterni: clean up, replaced: IDE → IDE |
||
(18 versioni intermedie di 14 utenti non mostrate) | |||
Riga 1:
{{Linguaggio di programmazione
|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 [[
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)]].
==Esempio di codice==
FIND: PROCEDURE(PA,PB) BYTE;
DECLARE (PA,PB) BYTE;
/* FIND THE STRING IN SCRATCH STARTING AT PA AND ENDING AT PB */
DECLARE J ADDRESS,
(K, MATCH) BYTE;
J = BACK ;
MATCH = FALSE;
DO WHILE NOT MATCH AND (MAXM > J);
LAST,J = J + 1; /* START SCAN AT J */
K = PA ; /* ATTEMPT STRING MATCH AT K */
DO WHILE SCRATCH(K) = MEMORY(LAST) AND
NOT (MATCH := K = PB);
/* MATCHED ONE MORE CHARACTER */
K = K + 1; LAST = LAST + 1;
END;
END;
IF MATCH THEN /* MOVE STORAGE */
DO; LAST = LAST - 1; CALL MOVER;
END;
RETURN MATCH;
END FIND;
==Note==
<references/>
==Bibliografia==
* Intel Corporation: ''PL/M-80 Programming Manual'' ([[1976]]) Doc. nº 98-268B
* Daniel D. McCracken: ''A Guide to PL/M Programming for Microcomputer Applications'' ([[1978]]) - Pearson Addison-Wesley
==Collegamenti esterni==
* {{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 [https://web.archive.org/web/20060814050742/http://www.slac.stanford.edu/grp/cd/soft/rmx/manuals/PLM_386.PDF ''Archive.org''].
* [https://web.archive.org/web/20110516200821/http://www.ristancase.com/da-plm/index.php Development Assistant for PL/M (DA-PL/M)] – [[Ambiente di sviluppo integrato|IDE]] commerciale per PL/M sviluppapta da RistanCASE GmbH
* [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]]
|