Tiny BASIC: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
mNessun oggetto della modifica |
|||
(14 versioni intermedie di 13 utenti non mostrate) | |||
Riga 19:
|sito_web =
}}
Il '''Tiny BASIC''' è un [[dialetto (informatica)|dialetto]] del [[linguaggio di programmazione]] [[BASIC]] che è stato sviluppato tra il [[1975]]
==Sviluppo==
La struttura del linguaggio fu inizialmente teorizzata da
Allison e Albretch pubblicarono la struttura del linguaggio sulla [[newsletter]] di ''[[People's Computer Company]]'', un'organizzazione dedita alla diffusione della cultura del computer come strumento per aiutare le persone.<ref>{{cita web|url=http://www.digibarn.com/collections/newsletters/peoples-computer/index.html|titolo=Informazioni sul People's Computer Company|accesso=
La spinta a terminare
Bill Gates, nella sua lettera, sosteneva che la [[pirateria informatica]] non solo non ripagava gli autori del software delle loro fatiche in termini di rientro economico ma scoraggiava anche i programmatori dal continuare a produrre software di qualità. Warren rispose a Gates dalle colonne di
{{
Warren annunciava la disponibilità del Tiny BASIC, i cui sorgenti erano copiabili dalla rivista
== Sintassi ==
La [[sintassi (informatica)|sintassi]] del Tiny BASIC è elencata qui sotto, in [[Backus-Naur Form|formato Backus-Naur]]. Nell'elenco un asterisco ("<
linea ::= numero istruzione CR | istruzione CR
Riga 71:
Un BREAK dal terminale interrompe l'esecuzione del programma
''Fonte: "Dr. Dobb's Journal of Computer Calisthenics & Orthodontia", Volume 1, Numero 1, 1976, pag. 9.''
==Implementazione==
Il Tiny BASIC fu implementato come [[linguaggio interpretato]] usando un [[interprete (informatica)|interprete]] che girava su una [[macchina virtuale]]: l'interprete traduceva le istruzioni scritte dall'utente in appositi comandi che poi eseguiva. L'interprete era scritto con gli stessi comandi che eseguiva. Quelli che seguono sono un esempio dei comandi eseguibili dall'interprete:
* <code>TST etichetta, stringa</code>: se "stringa" combacia con la linea BASIC, avanza il cursore oltre "stringa" ed esegue la prossima istruzione interpretata alla linea indicata da "etichetta", altrimenti esegue l'istruzione presente a "etichetta"
* <code>CALL etichetta</code>: esegue il codice presente a "etichetta"; salva l'indirizzo dell'istruzione dopo <code>CALL</code> nello [[pila (informatica)|stack]]
* <code>RTN</code>: riprende l'esecuzione dal punto specificato nel valore contenuto in cima allo stack;
* <code>JUMP etichetta</code>: continua l'esecuzione del programma dal punto indicato da "etichetta";
<small>(fonte: "Dr. Dobb's Journal", Volume 1, Numero 1, 1976, pag.12.)</small>
==Palo Alto Tiny BASIC==
<!-- ATTENZIONE: a questo capitolo punta un redirect dalla voce "Palo Alto Tiny BASIC" - Si prega di non modificarne il titolo-->
[[File:Copyleft All Wrongs Reserved.png|thumb
Il '''Palo Alto Tiny BASIC''' fu la quarta versione del Tiny BASIC che fu pubblicata su ''Dr. Dobb's Journal'', esattamente sul n
Il Palo Alto Tiny BASIC è anche da segnalare come uno dei primi software per cui fu utilizzato il concetto di [[copyleft]], con esplicito riferimento ai diritti dei produttori software difesi da [[Bill Gates]] nella sua [[lettera aperta agli hobbisti]] pubblicata alcuni mesi prima, lettera in cui Gates accusava di violazione di [[copyright]] chi copiava il suo [[Altair BASIC]].
Riga 98:
==Collegamenti esterni==
*
*
* [https://web.archive.org/web/20110107204656/http://www.swtpc.com/mholley/BASIC_2/Uiterwyk.htm Micro BASIC], una versione per [[Motorola 6800|MC6800]] venduta da Robert Uiterwyk con i computer [[SWTPC]] 6800
* [http://www.multicians.org/raf-tbl-definition.html Linguaggio TBL], un linguaggio che usa un interprete su macchina virtuale come il Tiny BASIC
* [http://members.shaw.ca/gbrandly/68ktinyb.html Il 68000 Tiny BASIC], versione per il [[Motorola 68000]] del Tiny BASIC, pubblicato sul 100° numero della rivista "Dr. Dobb's Journal"
* [http://www.aldweb.com/articles.php?lng=en&pg=7407 Tiny BASIC per Palm], implementazione del linguaggio scritta in [http://www.aldweb.com/articles.php?lng=en&pg=5350 iziBasic]
* [https://web.archive.org/web/20110715213426/http://www.runbasic.com/?_page=tinybasic.bas Tiny BASIC per web], una implementazione del Tiny BASIC scritto per girare su web in {{Collegamento interrotto|1=[http://www.runbasic.com/seaside/go/runbasic?_s=CPdbnQcuHfQqPOdy&_k=ufhcDZto Run BASIC] |data=marzo 2020 |bot=InternetArchiveBot }}
* [http://www.tinybasic.de Tiny BASIC per microcontrollori], una implementazione per i moderni [[microcontrollore|microcontrollori]] ad 8/16 bit
* [http://rosettacode.org/wiki/Category:Tiny_BASIC Category:Tiny BASIC] Attività implementate in Tiny BASIC in [http://rosettacode.org rosettacode.org]
* [http://rosettacode.org/wiki/Category:Palo_Alto_Tiny_BASIC Category:Palo Alto Tiny BASIC] Attività implementate in Palo Alto Tiny BASIC in [http://rosettacode.org rosettacode.org]
{{portale|informatica}}
[[Categoria:BASIC]]
|