Sei sulla pagina 1di 13

Clase 1

Aux. Fabelio Ajtun

1er. Proyecto
2do. Proyecto
2 practicas
Tareas
Final
Total

30 pts.
40 pts.
20 pts.
5 pts.
5 pts.
100 pts.

Es un lenguaje cuyos smbolos primitivos y


reglas para unir estos smbolos estn
formalmente especificados.
Un Lenguaje formal esta compuesto por:
1. alfabeto (vocabulario)
2. gramtica formal (conjunto de reglas)

Ejemplo:

Un conjunto de todas las palabras sobre {a,b}.


Alfabeto: a, b
Regla: SOLO palabras formadas
con las letras a y b
Aux. Fabelio Ajtun

Es un lenguaje formal diseado para expresar


procesos que pueden ser llevados a cabo por
mquinas.
Se utilizan para la creacin de programas que
controlan el comportamiento fsico y lgica
de una maquina.
Esta formado por un conjunto de smbolos,
reglas sintcticas y semnticas que definen el
significado de su estructura.
Ejemplo:
If ( temperatura > 40){
}

status = calido;
ventilador = true;

La sintaxis es el
conjunto de reglas que
definen las secuencias
correctas de los
elementos de un
lenguaje de
programacin.

Reglas

Ejemplo:

Sintaxis de un ciclo for en


el lenguaje java.
for(int i=0; i<10;i++)
{
INSTRUCCIONES
}

Sintaxis:
1. palabra for seguido de
parntesis.
2. Dentro de los parntesis
TIENE que venir una
declaracin seguido de una
condicin y finalizar con un
incremento/decremento
3. Se abren llaves y dentro
se colocan las instrucciones
a ejecutar

Aux. Fabelio Ajtun

Es un programa que traduce un programa


escrito en un lenguaje de programacin a
otro lenguaje de programacin, generando un
programa equivalente que la mquina ser
capaz de interpretar
Un compilador traduce todo el programa,
antes de ejecutarlo
En los programas compilados, los errores
sintcticos se detectan antes de ejecutar el
programa
Aux. Fabelio Ajtun

Un interprete es un procesador de lenguajes,


que se encarga de analizar y ejecutar
programas.
Los interpretes realizan la traduccin a
medida que se necesita, instruccin por
instruccin, y regularmente no guardan el
resultado de la traduccin.
A diferencia de un compilador, el interprete
realiza la traduccin paso a paso conforme se
va ejecutando el programa, instruccin a
instruccin

Aux. Fabelio Ajtun

Programa fuente

Entradas
Cdigo fuente

Compilador

Programa objeto

Resultado

Interprete

Aux. Fabelio Ajtun

Programa fuente

Anlisis lxico

Anlisis sintctico

Anlisis
semntico

Tabla de
smbolos

Manejador de
errores

Generacin de
cdigo intermedio

Optimizacin de
cdigo

Generacin de
cdigo

Programa objeto

Fases de un compilador
Aux. Fabelio Ajtun

Esta fase del compilador es la encargada de


leer el flujo de caracteres que componen el
programa fuente y los agrupa en secuencias
significativas, conocidas como lexemas.
El analizador lxico produce como salida
tokens (componente lxico), los cuales se
utilizar como entrada para el analizador
sintctico.

Aux. Fabelio Ajtun

Es la categora lxica asociada a un patrn.


Cada token se convierte en un nmero o
cdigo identificador nico.
Ejemplos:

If
Else
While
Identificador
Numero

Aux. Fabelio Ajtun

Es una expresin que describe un conjunto


de cadenas sin enumerar sus elementos.
Para expresar patrones se utilizan:
Alternacin |
Cuantificacin (+,*,?)
Agrupacin ()

Ejemplos:
(m|p)adre
(+|-)?(0..9)+
ho+la

Aux. Fabelio Ajtun

Es una secuencia de caracteres en el


programa fuente, que coinciden con el patrn
para un token y que el analizador lxico
identifica como una instancia de ese token.
Ejemplos:
Lexema de id: velocidad
Lexema de numero: 23.123
Lexema de if: if

Aux. Fabelio Ajtun

Potrebbero piacerti anche