Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Integrantes
15 DE SEPTIEMBRE DE 2022
Actividad 1
1.Definir el lenguaje de programación en español sobre el que diseñaran el
compilador en sus etapas de
Análisis léxico
El Análisis Léxico es la primera fase de un compilador y consiste en un
programa que recibe como entrada el código fuente de otro programa
(secuencia de caracteres) y produce una salida compuesta de tokens
(componentes léxicos) o símbolos.
La especificación de un lenguaje de programación a menudo incluye un
conjunto de reglas que definen el léxico. Estas reglas consisten comúnmente
en expresiones regulares que indican el conjunto de posibles secuencias de
caracteres que definen un token o lexema.
// * Regla:
masTerminos2.operando1=masTerminos1.operando1+termino.valor
int masTerminos2Operando1=masTerminos(operando1+termino());
// * Regla: masTerminos1.valor = masTerminos2.valor
regreso masTerminos2Operando1;
case '-': lexico.parejo('-');
// * Regla: masTerminos2.operando1=masTerminos1.operando1-
termino.valor
masTerminos2Operando1=masTerminos(operando1-termino());
// * Regla: masTerminos1.valor = masTerminos2.valor
Regresar masTerminos2Operando1;
default: // * lambda
// * Regla: masTerminos1.valor = masTerminos1.operando1
Regresar operando1;
Nombre del lenguaje: Lenguaje J-Zap
2-Palabras reservadas
3.Simbolos especiales:
Operadores aritméticos
Suma
Resta
Multiplicación
División
Operadores relacionales
Mayor que
Menor que
Igual que
Diferente a que
Mayor o igual que
Menor o igual que
Operadores lógicos
! Negación
| Suma lógica
|| Suma lógica cortocircuito
^ Suma log exclusivo
& Producto lógico
4. Tipos de datos
• Indefinido: representa una variable que no ha sido declarada o a la
cual no se le ha asignado un valor.
• Booleano: representa un valor lógico y puede tener dos valores, ya
sean true o false.
• Numero: permite representar y manipular valores numéricos como
«37» o «-9.25».
• Cuerda: representa datos textuales (cadenas de caracteres).
• Empezando: representa valores numéricos que son demasiado
grandes para ser representados por el tipo de dato número.
• Símbolo: es un valor primitivo único e inmutable.
• Nulo: representa la ausencia intencional de cualquier valor, un valor
nulo o «vacío».
• Objeto: representa una colección de datos definidos y entidades más
complejas.
• Función: aunque cada constructor de funciones se deriva del
constructor Objeto. Son objetos con la capacidad de ser ejecutables.
• Entero: representa un valor definido en entero
5. -Carácter delimitador de sentencias:
Para ()
Cuando { }
si -entonces- más
Para (i en 1:10){
#Imprimimos la variable i
Imprimir(i)