Investigacion lenguaje qbasic y desarrollo de un autómata para compilar

Solo disponible en BuenasTareas
  • Páginas : 8 (1827 palabras )
  • Descarga(s) : 0
  • Publicado : 6 de noviembre de 2011
Leer documento completo
Vista previa del texto
Índice

2. Introducción
2. Características del Lenguaje
6. Autómata del Análisis Léxico
8. Matriz de Transición del Análisis Léxico
9. Tabla de Símbolos
10. Lista de Palabras Reservadas
11. Lista de Errores
12. Diagramas de Bloques de Sintaxis
15. Sistema de Tipos
17. Conclusión
17. Bibliografía




Introducción

Este documento tiene como fin describir el proceso dedesarrollo de un compilador sencillo, que traduce de un lenguaje de alto nivel a otro, es decir un Preprocesador de Código fuente.
Este trabajo está basado sobre un sublenguaje de QBasic, una de las muchas variantes del lenguaje Basic, que fue desarrollado por Microsoft para ser incluido en MSDOS 5.0 y en versiones posteriores de DOS.
Características del Lenguaje:

1.-Estructura de Inicio y fin:QBasic no tiene estructuras de inicio y fin.
2.-Estructura de Definición de variables:
variable$ = "Esto es un texto" Variable Tipo Cadena de Caracteres.
variable% =20 Variable tipo Entero.
Variable#=20.20 Variable tipo real.
Variable=10 Variable Sin tipo (Se utiliza en contadores, o como booleanos)
Si se observan los tipos de variables no existe un tipo boolean, el cual será de tipo sintipo.
Una variable no puede llamarse igual que una palabra reservada, ni puede empezar por números, ni lleva caracteres que no sean alfanuméricos.

Ejemplo
56hola No es válida.
If No es válida.
hol@ No es válida.
Hola Es válida.

Algo que debemos tomar en cuenta esque QBasic no toma en cuenta las mayúsculas al momento de definir una variable

Ej.:
Hola$=”Hola” Hola$ vale “Hola”.
HOLA$=”Que tal” Hola$ ahora vale “Que Tal”, ya que Hola$ y HOLA$ son la misma variable.Para terminar con este punto cabe añadir que podemos cambiar el tipo de dato de la variable cambiando el sufijo.

Hola$=”Hola” Bien Hola$ vale “Hola”.
Hola%=”Hola” Error de compilación, Hola ahora es Entero y no String.Hola%=10 Correcto Hola vale 10.

3.-Definición de constantes.
Se utiliza la palabra CONST para definir unaconstante, una vez creada la constante, no podemos cambiar su tipo de dato, ni cambiar su valor en el resto del código.
Ejemplo:
CONST Pi#=3.141516 Correcto Se creó la constante Pi de tipo Entero con valor de 3.141516.
4.-Salida de datos en pantalla.
Se utiliza la función PRINT, la sintaxis es:
PRINT texto.
Ejemplos:
PRINT “hola”
Hola$=”Hola”
PRINT Hola$ Se puede usar una variable oconstantes de cualquier tipo de dato.
PRINT Hola$; “ Enrique” Se puede concatenar texto en la impresión usando ‘;’.
PRINT Hola$, ”Enrique” Imprimirá los dos textos separándolos con una tabulación
5.-Lectura de datos desde el teclado.
Se utiliza el comando INPUT.
INPUT “pregunta al usuario”,variable aparecerá una pregunta y guardará el resultado en la variable definida
INPUT variable Mostrará un signode interrogación en la consola y lo que introduzca el usuario se guardará en la variable.
INPUT “”,variable No mostrará nada, lo que teclee el usuario será guardado en la variable
INPUT variable$, variable Mostrará lo que está guardado en la variable$ como pregunta y guardará la captura en la variable.
Algo en lo que hay que hacer énfasis es que podemos guardar lo capturado desde el teclado envariables de cualquier tipo, si el usuario captura un valor que no corresponde le volverá a pedir que lo introduzca.
Si es de tipo entero y se introduce un decimal, QBasic redondeará automáticamente sumándole 1 si el decimal es mayor o igual a 5 y truncará si el decimal es menor que 5.
6.-Operadores Matemáticos y operador de asignación
Operador | Descripción |
+ | Suma |
- | Resta |
*...
tracking img