Articulo de referencia

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 para computadoras desarrollado por el Dr. Peter Grogono a finales de la dé...

El lenguaje de programación Mouse (a veces escrito como MOUSE ) es un pequeño lenguaje de programación para computadoras desarrollado por el Dr. Peter Grogono a finales 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 utilizaba para controlar dispositivos digitales y analógicos en un estudio de música electrónica.

Mouse fue concebido originalmente como un lenguaje pequeño y eficiente para microcomputadoras con memoria limitada. Es un lenguaje interpretado, basado en pila y utiliza la notación polaca inversa . Para facilitar al máximo la implementación de un intérprete, Mouse está diseñado para que un programa se procese como una secuencia de caracteres, interpretándose uno a uno.

El lenguaje Mouse se compone de símbolos (en su mayoría de un solo carácter), cada uno de los cuales realiza una función específica (véase la tabla a continuación). Dado que los nombres de las variables están limitados a un carácter, Mouse solo admite 26 variables posibles (denominadas AZ). Los únicos tipos de datos disponibles son enteros y caracteres.

A pesar de estas limitaciones, Mouse incluye una serie de características relativamente avanzadas, entre las que se incluyen:

  • Ramificación condicional
  • Bucles
  • Consejos
  • Macros (subrutinas (que pueden ser recursivas))
  • Matrices
  • Rastreo de código

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 que se describe 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 X X. ~ variable de recuperación X X. Y: ~ copia X en Y N. 1 + N: ~ incrementa N en 1 PQ P: Q: ~ intercambiar valores de P y Q ? A: ~ ingrese un número y guárdelo en A P. ! ~ 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: ~ introduce un número y guárdalo en X ?' X: ~ introduce un carácter y almacena su código ASCII en X 

Producción

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

X. ~ recuerda el número X e imprímelo. X. !' ~ recuerda el código ASCII X e imprime el carácter "Hola" ~ imprimir 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 se evalúa como 1 (verdadero) o 0 (falso), y S es una secuencia de enunciados.

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 afirmaciones.

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 recibe del 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 (añadir parámetros p1 y p2) 

Aquí, p1 y p2 son parámetros que se pasan a la macro.

Programas de ejemplo

Este breve programa imprime "Hola mundo".

"Hola Mundo." $

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

1 N: ~ inicializar N a 1 ( NN * ! " " ~ inicio del bucle; imprimir cuadrados de números N. 10 - 0 < ^ ~ salir del bucle si N >= 10 N. 1 + N: ) $ ~ incrementar N y repetir el bucle

Notas

  1. 1 2 Grogono, Peter (julio de 1979). mii/n197/mode/2up "Mouse / Un lenguaje para microcomputadoras" . BYTE . págs. 198–220 . Recuperado el 18 de octubre de 2013 . {{cite news}}: Comprobar |url=valor ( ayuda )
  2. Lane, Tom; Grogono, Peter (junio de 1980). "Comentario y corrección para Mouse" . BYTE . Consultado el 18 de octubre de 2013 .
  3. 1 2 3 4 Grogono, Peter. Mouse: A Language for Microcomputers . 151 páginas. Petrocelli Books, Inc.: 1983. ISBN 0-89433-201-5.
  • El lenguaje de programación del ratón
  • El gran renacimiento del lenguaje de programación MOUSE
  • Amigos del ratón
  • El ratón, el lenguaje
  • Mouse: Lenguaje de programación informática (incluye el código fuente de los intérpretes de Mouse)
  • Información en sourceforge.net