Está en la página 1de 4

Tiny BASIC - Wikipedia, la enciclopedia libre

http://es.wikipedia.org/wiki/Tiny_BASIC

Tiny BASIC
De Wikipedia, la enciclopedia libre El Tiny BASIC es una versin muy sencilla y simplificada de un intrprete del lenguaje de programacin BASIC que originalmente fue programado en assembler y caba en tan solo 2 a 3 KB de memoria. Este pequeo tamao resultaba muy til en los comienzos de los primeros microcomputadores, a mediados de los aos 1970, cuando el tamao tpico de la memoria RAM era de 4 a 8 KB.

ndice
1 Historia 2 Gramtica del Tiny BASIC 3 Implementacin en lenguaje interpretado 4 Vase tambin 5 Enlaces externos

Historia
El primer lenguaje consisti nicamente en un documento de estndares, escrito principalmente por Dennis Allison, un miembro de la facultad de Ciencias de la Computacin en la Universidad de Stanford. Bob Albrecht, del Homebrew Computer Club, lo inst a crear el estndar. l haba visto el lenguaje BASIC en minicomputadores y crey que encajara perfectamente con las nuevas mquinas como el Altair 8800 de MITS, que haba sido lanzada en enero de 1975. Bob y Dennis publicaron el documento de diseo en el boletn de noticias de People's Computer Company. En diciembre de 1975, Dick Whipple y John Arnold crearon un interprete del lenguaje que requiri solamente 3K de RAM. Bob y Dennis decidieron publicar esta versin y las correcciones a los documentos de diseo originales en un boletn de noticias dedicado al Tiny BASIC, que llamaron "Dr. Dobb's Journal of Tiny BASIC Calisthenics and Orthodontia". En las ediciones de 1976 fueron publicadas varias versiones del Tiny BASIC, incluyendo descripciones de diseo y el cdigo fuente completo.

Gramtica del Tiny BASIC


La gramtica es listada abajo en la notacin de Backus-Naur. En el listado, un asterisco ("*") denota cero o ms del objeto a su izquierda - excepto para el primer asterisco en la definicin de "term", que es el operador de la multiplicacin; objetos del grupo de parntesis; y un psilon ("") significa el conjunto vaco. Como es comn en la notacin de la gramtica de lenguaje de programacin, la barra vertical ("|") distingue alternativas, al igual
1 of 4

2/7/2014 2:49 AM

Tiny BASIC - Wikipedia, la enciclopedia libre

http://es.wikipedia.org/wiki/Tiny_BASIC

que ser listado en lneas separadas. El smbolo "CR" denota un retorno del carro (usualmente generado por la tecla "ENTER" de un teclado).

line ::= number statement CR | statement CR statement ::= PRINT expr-list IF expression relop expression THEN statement GOTO expression INPUT var-list LET var = expression GOSUB expression RETURN CLEAR LIST RUN END expr-list ::= (string|expression) (, (string|expression)* ) var-list ::= var (, var)* expression ::= (+|-|) term ((+|-) term)* term ::= factor ((*|/) factor)* factor ::= var | number | (expression) var ::= A | B | C .... | Y | Z number ::= digit digit* digit ::= 0 | 1 | 2 | 3 | ... | 8 | 9 relop ::= < (>|=|) | > (<|=|) | = A BREAK from the console will interrupt execution of the program

Fuente: Dr. Dobb's Journal of Computer Calisthenics & Orthodontia, Volume 1, Number 1, 1976, p.9.

Implementacin en lenguaje interpretado


Para la implementacin, es usado un lenguaje interpretado (IL). Un interpretador escrito en IL interpreta una lnea de cdigo de Tiny BASIC y la ejecuta. El IL corre en una mquina abstracta, que interpreta el cdigo IL. La idea de usar un lenguaje interpretado viene desde Val Schorre (con el META II, 1964) y Glennie (Syntax Machine). Ver tambin la mquina virtual, CLI. La tabla siguiente da una lista parcial de los comandos del lenguaje interpretado en la cual el interpretador Tiny BASIC est escrito. La longitud del programa interpretador completo es de solamente 120 operaciones del IL. As la opcin de un acercamiento interpretativo economiz en espacio de

2 of 4

2/7/2014 2:49 AM

Tiny BASIC - Wikipedia, la enciclopedia libre

http://es.wikipedia.org/wiki/Tiny_BASIC

memoria y esfuerzo de implementacin, aunque los programas BASIC eran ejecutados algo lentamente. El CRLF en la ltima lnea simboliza un retorno del carro (CR) seguido por una nueva lnea (LF). TST lbl, Si string coincide con la lnea BASIC, avanza el cursor sobre el string y ejecuta la siguiente instruccin IL; si la prueba falla, ejecuta string la instruccin IL en la etiqueta lbl CALL lbl Ejecuta la subrutina IL comenzando en lbl; guarda la direccin IL que sigue la llamada (CALL) en el stack de control RTN Retorna a la posicin del IL especificada en el tope del stack de control Reporta un error de sintaxis si despus de borrar los blancos a la izquierda, el cursor no est posicionado para alcanzar un retorno del DONE carro JUMP lbl Contina la especificacin del IL en la etiqueta especificada PRS Imprime caracteres del texto BASIC hasta pero no incluyendo el signo de interrogacin cerrado PRN Imprime el nmero obtenido al hacer un POP en el stack de expresiones SPC Inserta espacios para mover el cabezal de impresin a la prxima zona NLINE Enva un CRLF a la impresora Fuente: Dr. Dobb's Journal, Volume 1, Number 1, 1976, p.12.

Vase tambin
Palo Alto Tiny BASIC, por Li-Chen Wang BASIC Dr. Dobb's Journal Copyleft

Enlaces externos
Tiny Basic User Manual (http://www.IttyBittyComputers.com/IttyBitty/TinyBasic/TBuserMan.htm) and Experimenter's Kit (http://www.IttyBittyComputers.com/IttyBitty/TinyBasic/TBEK.txt) by Tom Pittman (http://ittybittycomputers.com) Robert Uiterwyk's MICRO BASIC (http://www.swtpc.com/mholley/BASIC_2/Uiterwyk.htm) A MC6800 tiny BASIC later sold with the SWTPC 6800 computer MINOL (http://web.archive.org/web/19980702115208/http://www.signiform.com/erik/pubs/minol.htm) Erik Mueller's MINOL Tiny BASIC with strings for Intel 8080 TBL (http://www.multicians.org/raf-tbl-definition.html) A similar IL to Tiny BASIC's, used in the first successful compilers for PL/I, Fortran, etc, on limited memory minicomputers M68000 Tiny BASIC (http://members.shaw.ca/gbrandly/68ktinyb.html) Based on Li-Chen Wang's Palo Alto Tiny BASIC, and published in

3 of 4

2/7/2014 2:49 AM

Tiny BASIC - Wikipedia, la enciclopedia libre

http://es.wikipedia.org/wiki/Tiny_BASIC

the 100th edition of Dr. Dobb's Tiny BASIC (http://smallbasic.sourceforge.net/sb/tiny.txt) An implementation written in SmallBASIC tinyBasic (http://www.aldweb.com/articles.php?lng=en&pg=7407) An implementation written in iziBasic (http://www.aldweb.com /articles.php?lng=en&pg=5350) Tiny BASIC (http://www.runbasic.com/?_page=tinybasic.bas) A live web version, ported to Run BASIC from iziBasic TinyBasic (http://www.thisiscool.com/tinybasic.htm) A port of Tom Pittman's TinyBasic C interpreter (http://www.ittybittycomputers.com /IttyBitty/TinyBasic/TinyBasic.c) to Java, C# and Adobe Flex. Includes live web versions. TinyBasic (http://www.tinybasic.de) A modern implementation on a 16bit Microcontroller. Obtenido de http://es.wikipedia.org/w/index.php?title=Tiny_BASIC&oldid=64595852 Categoras: Lenguaje de programacin BASIC Historia del software Esta pgina fue modificada por ltima vez el 9 mar 2013, a las 13:43. El texto est disponible bajo la Licencia Creative Commons Atribucin Compartir Igual 3.0; podran ser aplicables clusulas adicionales. Lanse los trminos de uso para ms informacin. Wikipedia es una marca registrada de la Fundacin Wikimedia, Inc., una organizacin sin nimo de lucro.

4 of 4

2/7/2014 2:49 AM