stringtranslate.com

Ratón (lenguaje de programación)

El lenguaje de programación Mouse (a veces escrito como MOUSE ) es un pequeño lenguaje de programación informática desarrollado por el Dr. Peter Grogono a fines de la década de 1970 y principios de la de 1980. [1] [2] [3] Fue desarrollado como una extensión de un lenguaje anterior llamado MUSYS, que se usaba para controlar dispositivos digitales y analógicos en un estudio de música electrónica.

Mouse fue pensado originalmente como un lenguaje pequeño y eficiente para microcomputadoras con memoria limitada. Es un lenguaje interpretado, basado en pila y utiliza notación polaca inversa . Para hacer que un intérprete sea lo más fácil posible de implementar, Mouse está diseñado de modo que un programa se procese como un flujo de caracteres, interpretados un carácter a la vez.

Los elementos del lenguaje Mouse consisten en un conjunto de símbolos (en su mayoría) de un solo carácter, cada uno de los cuales realiza una función específica (ver la tabla a continuación). Como los nombres de las variables están limitados a un carácter, solo hay 26 variables posibles en Mouse (denominadas de la A a la Z). Los números enteros y los caracteres son los únicos tipos de datos disponibles.

A pesar de estos límites, Mouse incluye una serie de funciones relativamente avanzadas, entre las que se incluyen:

El diseño del lenguaje Mouse lo hace ideal para enseñar el diseño de un intérprete simple. Gran parte del libro que describe Mouse [3] está dedicado a describir la implementación de dos intérpretes, uno en lenguaje ensamblador Z80 y el otro en Pascal .

Detalles

El lenguaje descrito aquí es la versión posterior de Mouse, tal como se describe en el libro de Mouse. [3] Esta versión es una extensión del lenguaje descrito en el artículo original de la revista. [1]

Símbolos

La siguiente tabla describe cada uno de los símbolos utilizados por Mouse. [3] Aquí X se refiere al número en la parte superior de la pila, e Y es el siguiente número en la pila.

Expresiones

Modismos comunes

Estas expresiones aparecen con frecuencia en los programas de Mouse.

X: ~ almacenar en la variable XX. ~ recordar variable XX. Y: ~ copia X en YN. 1 + N: ~ incrementa N en 1PQ P: Q: ~ intercambia valores de P y Q? A: ~ ingresa un número y lo almacena en AP. ! ~ imprimir variable P

Aporte

El ratón puede introducir números enteros o caracteres. Cuando se introduce un carácter, se convierte automáticamente a su código ASCII.

? X: ~ ingresa un número y lo almacena en X?' X: ~ ingresa un carácter y almacena su código ASCII en X

Producción

El mouse puede imprimir números enteros, caracteres o constantes de cadena, como se muestra en estos ejemplos. Si aparece un signo de exclamación en una constante de cadena, se imprime una nueva línea.

X. ! ~ recuerda el número X e imprímeloX. !' ~ recuerda el código ASCII X e imprime el carácter"Hola" ~ imprime la cadena "Hola""Línea 1!Línea 2" ~ imprime las cadenas "Línea 1" y "Línea 2" en dos líneas

Condicionales

Una declaración condicional tiene la forma general:

B [ S ] ~ equivalente a: si B entonces S

Aquí B es una expresión que evalúa como 1 (verdadero) o 0 (falso), y S es una secuencia de declaraciones.

Bucles

Los bucles pueden tener varias formas. Las más comunes son las siguientes:

(B ^ S) ~ equivalente a: mientras B haga S(SB ^) ~ equivalente a: repetir S hasta (no B)

Aquí nuevamente B es un valor booleano (0 o 1) y S es una secuencia de declaraciones.

Llamadas macro

El formato de una llamada a una macro (subrutina) se puede ilustrar con el siguiente ejemplo. La macro A de este ejemplo suma los dos parámetros que se le pasan desde el programa principal y devuelve la suma en la parte superior de la pila.

#A,p1,p2; ~ llamada en el programa principal a la macro A...$A 1% 2% + @ ~ macro A (agrega los parámetros p1 y p2)

Aquí p1 y p2 son parámetros pasados ​​a la macro.

Programas de ejemplo

Este programa corto imprime 'Hola mundo'.

"Hola Mundo."$

Este programa muestra los cuadrados de los números enteros del 1 al 10.

1 N: ~ inicializa N a 1( NN * ! " " ~ comienza el bucle; imprime cuadrados de números N. 10 - 0 < ^ ~ salir del bucle si N >= 10 N. 1 + N: ) $ ~ incrementa N y repite el bucle

Notas

  1. ^ ab Grogono, Peter (julio de 1979). mii/n197/mode/2up "Mouse / A Language for Microcomputers". BYTE . págs. 198–220 . Consultado el 18 de octubre de 2013 . {{cite news}}: Verificar |url=valor ( ayuda )
  2. ^ Lane, Tom; Grogono, Peter (junio de 1980). "Comentario y corrección para el ratón". BYTE . Consultado el 18 de octubre de 2013 .
  3. ^ abcd Grogono, Peter. Mouse: un lenguaje para microcomputadoras . 151 páginas. Petrocelli Books, Inc.: 1983. ISBN 0-89433-201-5

Enlaces externos