Movatterモバイル変換


[0]ホーム

URL:


Ir al contenido
WikipediaLa enciclopedia libre
Buscar

Tiny BASIC

De Wikipedia, la enciclopedia libre

ElTiny BASIC es una versión muy sencilla y simplificada de unintérprete dellenguaje de programaciónBASIC que originalmente fue programado enassembler y cabía en tan solo 2 a 3KB dememoria. Este pequeño tamaño resultaba muy útil en los comienzos de los primerosmicrocomputadores, a mediados de los años 1970, cuando el tamaño típico de la memoriaRAM era de 4 a 8 KB.

Historia

[editar]

El primer lenguaje consistió únicamente en un documento de estándares, escrito principalmente porDennis Allison, un miembro de la facultad de Ciencias de la Computación en laUniversidad de Stanford.Bob Albrecht, delHomebrew Computer Club, lo instó a crear el estándar. Él había visto el lenguaje BASIC enminicomputadores y creyó que encajaría perfectamente con las nuevas máquinas como elAltair 8800 deMITS, que había sido lanzada en enero de 1975.

Bob y Dennis publicaron el documento de diseño en el boletín de noticias dePeople's Computer Company. En diciembre de 1975, Dick Whipple y John Arnold crearon unintérprete del lenguaje que requirió solamente 3K deRAM. Bob y Dennis decidieron publicar esta versión y las correcciones a los documentos de diseño originales en un boletín 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 diseño y elcódigo fuente completo.

Gramática del Tiny BASIC

[editar]

La gramática es listada abajo en lanotación de Backus-Naur. En el listado, un asterisco ("*") denota cero o más del objeto a su izquierda - excepto para el primer asterisco en la definición de "term", que es el operador de la multiplicación; objetos del grupo de paréntesis; y un épsilon ("ε") significa el conjunto vacío. Como es común en la notación de la gramática de lenguaje de programación, la barra vertical ("|") distingue alternativas, al igual que ser listado en líneas separadas. El símbolo "CR" denota unretorno 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.

Implementación en lenguaje interpretado

[editar]

Para la implementación, es usado unlenguaje interpretado (IL). Un interpretador escrito en IL interpreta una línea de código de Tiny BASIC y la ejecuta. El IL corre en unamáquina abstracta, que interpreta el código IL. La idea de usar un lenguaje interpretado viene desde Val Schorre (con elMETA II, 1964) y Glennie (Syntax Machine). Ver también lamáquina 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 opción de un acercamiento interpretativo economizó en espacio de memoria y esfuerzo de implementación, aunque los programas BASIC eran ejecutados algo lentamente. El CRLF en la última línea simboliza unretorno del carro (CR) seguido por unanueva línea (LF).

TSTlbl,stringSistring coincide con la línea BASIC, avanza el cursor sobre elstring y ejecuta la siguiente instrucción IL; si la prueba falla, ejecuta la instrucción IL en la etiquetalbl
CALLlblEjecuta la subrutina IL comenzando enlbl; guarda la dirección IL que sigue la llamada (CALL) en el stack de control
RTNRetorna a la posición del IL especificada en el tope del stack de control
DONEReporta un error de sintaxis si después de borrar los blancos a la izquierda, el cursor no está posicionado para alcanzar un retorno del carro
JUMPlblContinúa la especificación del IL en la etiqueta especificada
PRSImprime caracteres del texto BASIC hasta pero no incluyendo el signo de interrogación cerrado
PRNImprime el número obtenido al hacer un POP en el stack de expresiones
SPCInserta espacios para mover el cabezal de impresión a la próxima zona
NLINEEnvía un CRLF a la impresora

Fuente:Dr. Dobb's Journal, Volume 1, Number 1, 1976, p.12.

Véase también

[editar]

Enlaces externos

[editar]
Control de autoridades
Obtenido de «https://es.wikipedia.org/w/index.php?title=Tiny_BASIC&oldid=147779006»
Categorías:

[8]ページ先頭

©2009-2025 Movatter.jp