Anda di halaman 1dari 9

UNIVERSIDAD DEL TOLIMA

INSTITUTO DE EDUCACION A DISTANCIA


CONTROLADORES PROGRAMABLES EL LENGUAJE

Lenguaje de programacin
Conformado por un conjunto de smbolos junto a un conjunto de reglas para
combinar dichos smbolos que se usan para expresar programas; este consta de un
lxico, una sintaxis y una semntica.
Lxico: para de la gramtica que permite trabajar un conjunto de smbolos
permitidos o vocabulario. La cadena que contiene cero como componente lxico se
escribe con.
Sintaxis: Reglas que indican cmo realizar las construcciones del lenguaje.
Semntica: Reglas que permiten determinar el significado de cualquier construccin
del lenguajes.
NOTACIN INFIJO
Esta notacin es comn en las frmulas aritmticas y lgicas, donde se escriben los
operadores entre los operndose en que estn actuando. Ejemplo. 3 + 3.

NOTACIN POSTFIJA
Primero estn los operados y despus viene el operador que va a realizar los
clculos sobre ellos. Ejemplo. 33 +

NOTACIN PREFIJO
Es una forma de notacin para la lgica, la aritmtica, y e algebra, su caracterstica
distintiva es que coloca los operadores a la izquierda de sus operandos. Ejemplo.
+33
Ejemplos
Expresin que sera escrita en la notacin infijo convencional como: (5 - 6) * 7
Puede ser escrito en prefijo como; * (- 5 6) 7 o simplemente * - 5 6 7 ya que
los simples operadores aritmticos son todos binarios (por lo menos, en
contextos aritmticos), cualquier representacin prefijo de ellos es inequvoca, y
poner signos de agrupamiento a la expresin de prefijo es innecesario. En el
ejemplo anterior, los parntesis en la versin de infijo eran requeridos. Si los
movemos: 5 - (6 * 7) o simplemente los quitamos: 5 - 6 * 7 cambiara el
significado y el resultado de toda la expresin. Sin embargo, la versin
correspondiente de prefijo de este segundo clculo sera escrita como: - 5 * 6 7
UNIVERSIDAD DEL TOLIMA
INSTITUTO DE EDUCACION A DISTANCIA
CONTROLADORES PROGRAMABLES EL LENGUAJE


ESCRITURA DE UN COMPILADOR
COMPILADOR
Programa que lee un programa escrito en un lenguaje, el lenguaje fuente, y lo
traduce a un programa equivalente en otro lenguaje, el lenguaje objeto.




Lenguajes de
Programacin
Arquitectura de
Computador
Teora de
Lenguaje
Algoritmo
Ingenieria de
Software
UNIVERSIDAD DEL TOLIMA
INSTITUTO DE EDUCACION A DISTANCIA
CONTROLADORES PROGRAMABLES EL LENGUAJE

RBOL SINTCTICO DE LA COMPILACIN
Posicin:= inicial + velocidad * 60





SISTEMA PARA PROCESAR UN LENGUAJE

UNIVERSIDAD DEL TOLIMA
INSTITUTO DE EDUCACION A DISTANCIA
CONTROLADORES PROGRAMABLES EL LENGUAJE


ANLISIS LXICO
Son secuencias de caracteres que tienen un significado colectivo.
Ejemplo anlisis lxico: Posicin := inicial + velocidad * 50
Se agrupan los componentes lxicos siguiente;
1. Identificador Posicin
2. Smbolo de asignacin :=
3. Identificador Inicial
4. El signo suma
5. El identificador velocidad
6. El signo multiplicar
7. El numero 50

ANLISIS SINTCTICO
Tambin denominado anlisis jerrquico. Agrupa los componentes lxicos del
programa fuente en frases gramaticales que el compilador utiliza para sintetizar la
salida.

UNIVERSIDAD DEL TOLIMA
INSTITUTO DE EDUCACION A DISTANCIA
CONTROLADORES PROGRAMABLES EL LENGUAJE

ANLISIS SEMNTICO
Verifica si cada operador tiene operandos permitidos por la especificacin del
lenguaje fuente. Ejemplos el compilador indica error cada vez que se use un nmero
real o el compilador puede necesitar convertir el numero entero a real.

Ejemplos
Expresiones formadas por dgitos y signos ms y menos:
9-5+2 dicha expresin se dice es lista de dgitos separados por signos ms o
menos.
La siguiente expresin gramtica describe la sintaxis de esas expresiones.
Lista lista + digito
Lista lista - digito
Lista digito
Digito 0 1 2 3 4 5 6 7 8 9
Las tres anteriores producciones con terminal lista del lado izquierdo se
pueden agrupar as: Lista lista + digito lista - digito digito
Aqu los componentes lxicos de la gramtica son los smbolos.
UNIVERSIDAD DEL TOLIMA
INSTITUTO DE EDUCACION A DISTANCIA
CONTROLADORES PROGRAMABLES EL LENGUAJE

Combinando la nocin digito y lista en cadena se podra haber escrito la
gramtica:
cadena cadena + cadena cadena cadena 0 1 2 3 4 5 6 7
8 9
Deducir que 9-5+2 es una lista como sigue:
9 es una lista de produccin, dado que 9 es un digito.
9-5 es una lista de produccin dado que 9 es una lista y 5 es un digito.
9-5+2 es una lista de produccin, dado que 9-5 es una lista y 2 es un
digito.
Se obtiene el siguiente rbol sintctico segn la gramtica.

La convencin 9+5+2 es equivalente a 9+(5+2); cuando un operador como 5
tiene operadores a su izquierda y derecha, se necesita convenciones para
decidir que operador considerar. Se dice que el operador + asocia a la
izquierda, porque un operando que tenga un signo ms a ambos lados es
tomado por el operador que este a su izquierda. En la mayora de los
lenguajes de programacin los cuatro operadores aritmticos son asociativos
a la izquierda.
9 es una cadena de produccin, dado que 9 es una cadena.
9+5 es una cadena de produccin dado que 9 es una cadena y 5 es un
cadena.
9+5+2 es una cadena de produccin, dado que 9-5 es una cadena y 2
es una cadena.
UNIVERSIDAD DEL TOLIMA
INSTITUTO DE EDUCACION A DISTANCIA
CONTROLADORES PROGRAMABLES EL LENGUAJE


9 es una cadena de produccin, dado que 9 es una cadena.
5+2 es una cadena de produccin dado que 5 es una cadena y 2 es un
cadena.
9+(5+2) es una cadena de produccin, dado que 9 es una cadena y
5+2 es un cadena.

En la siguiente figura se visualiza la sintaxis para traducir expresiones
formadas por dgitos separados por los signos ms o menos, a notacin
postfija.

El rbol del anlisis sintctico con anotaciones correspondientes, donde el valor del
atributo t en cada nodo se calcul por regla semntica.
UNIVERSIDAD DEL TOLIMA
INSTITUTO DE EDUCACION A DISTANCIA
CONTROLADORES PROGRAMABLES EL LENGUAJE



Seguimiento de una posicin de un androide.

rbol de anlisis sintctico con anotaciones para comenzar oeste a sur.

UNIVERSIDAD DEL TOLIMA
INSTITUTO DE EDUCACION A DISTANCIA
CONTROLADORES PROGRAMABLES EL LENGUAJE


Sintaxis de la posicin del androide.

Tarea
Convertir las siguientes expresiones en infijo, postfijo y prefijo:
12 34+ (=46)
5 1 2 + 4 * + 3
((9 + 9) * (8 - 6) ) + 7
1 3 4 * +
+- (89)9
Describa las expresiones gramaticales de las siguientes expresiones; y elabore el rbol de
anlisis para cada caso.
S S S + SS* a
S 0 S 1 0 1
S + S S -SS a
S S ( S ) S
S a S b S b S a S
S a S + S S S S * ( S )
Realice una ruta (debe dibujarla teniendo en cuenta X y Y) para poder llegar a la Universidad,
asignando un valor inicial e indicando el anlisis sintctico de comenzar, la ubicacin geogrfica.
Con base en lo anterior debe realizar el rbol de anlisis sintctico.
Realizar una tabla dirigida por la sintaxis de la posicin.