Está en la página 1de 11

UNIVERSIDAD NACIONAL

SAN LUIS GONZAGA


DE ICA
26 de septiembre de 2012

Compiladores
Mg. Ing. Rolando Chvez Guilln

COMPILADORES

-Acevedo Tornero Aldo a) Componentes lxicos: - Altamirano Daz, Milagros - Navarro Gutierrez, Sandra -Neira Lovera, Kathia

Operadores numricos: + , - , * , / Operadores relacionales: < , > , = , <= , >= , != Identificador:

1
maysculas letras

$
minsculas

letras

Palabras reservadas:
1. Start :inicio 2. Go: funcin de arrancar 3. Stop: funcin de parar 4. Automatico: cambios automticos 5. Manual: cambios manuales 6. Partida: starting 7. Llegada: arrival 8. Final: tiempo agotado 9. Lap: nmero de vueltas 10. Pause: pausar el juego

11. Continue: continuar el juego 12. Replay: volver a jugar 13. Color: rojo | amarillo | azul | negro | blanco 14. Exit: salir 15. Turn: girar 16. Left: izquierda 17. Righ: derecha 18. Brake: frenar 19. Turbo: turbo 20. Back: retroceder 21. Position: posicin 22. Level: nivel 23. Winner: ganador 24. Loser: perdedor 25. Race over: sin combustible 26. End: fin 27. Si : sentencia condicional simple

28. Sino: 29. Hacer 30. Fin-si 31. Exp 32. Riz 33. = : operador de asignacin 34. Digito: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 35. Ment: dato de tipo entero 36. Mbool: dato de tipo booleano 37. Mdou: dato de tipo doble 38. Mstri: dato de tipo String 39. Mchar: dato de tipo carcter 40. : indica inicio y fin de una carcter o cadena 41. Siendo: sentencia de en caso. 42. Sea: orden en la sentencia siendo 43. Suceso: declaracin de los casos en la sentencia en caso. 44. Fin-siendo

45. Salto 46. Press : presionado 47. Tecla 48. True : verdadero 49. False : falso 50. Asignacin : sentencia de asignacin 51. Capturar : sentencia para capturar 52. Para: sentencia repetitiva for 53. Hasta : indica el parmetro mximo de la sentencia repetitiva for 54. Continuar: indicador de aumento en la sentencia repetitiva for 55. . : signo para invocar una funcion 56. () : inicio y fin de parmetros

b)

Reglas sintcticas
<Programa> Start {<Sentencias>} End

<operador-relacional> < | > | = | >= | <= | = <Sentencias> <Sentencia-si> | <Sentencia-asignacin> | <Sentencia-siendo> | <Sentencia-declarar> | <Sentencia-para> | <Sentencia-comparacin> | <Sentencia-funcin> | <Sentencia-suceso> <sentencia-si> Si <Sentencia-comparacin> hacer Start {<Sentencias>} End sino Start {<Sentencias>} End Fin-si <sentencia-comparacin> identificador <operador-relacional> <caso> <sentencia-siendo> siendo identificador sea {<sentencia-suceso> hacer {<sentencia>}} [sino {<sentencia>} ] fin-siendo

<sentencia-suceso> suceso <caso> <caso> <digito>| <letra> | digitoletra | letradigito | identificador <sentencia-funcin> <funcin>.(identificador) | <funcin> () <funcin> go | stop | turn_left | turn_right | brake | back | turb | accelerate | capturar | pintar | modo <Operador asignacin> = <Sentencia-declarar> <modelo-dato> <sentencia-identificador> <sentencia-identificador> identificador [<operador asignacin> caso] <sentencia-asignacin> identificador <operador-asignacin> <caso> [<operadores numricos> <caso>] <operadores numricos> + | - | * | / | Exp | Riz <modelo-dato> Ment | Mbool | Mdou | Mstri | Mchar <sentencia-para> Para <sentencia-comparacion> hasta <digito> Start {<sentencia>} end Continuar

c)

Arboles sintcticos
Ment

$Ax

<Programa> Start <Sentencias> <sentencia-asignacin> <modelo-dato> Ment identificador $Ax <operador-asignacin> digito = 5 End

Si $Or = 1 hacer start go () end sino start stop () end fin-si

<Programa>

Start

<Sentencia>

End

<Sentencia-si>

Si <Sentencia-comparacion> hacer start <Sentencia> End sino start <Sentencia> End find-si

Identificador <operador relacional> <caso> v

<Sentencia-

Para $Ai = 1 hasta 10 Start

$Hv = $Hv + $Ai Start continuar <Programa>

Start

<Sentencia> <Sentencia-Para>

End

Para

<sentencia-comparacion> end

hasta <digito> continuar

Start

<sentencia> 10

Identificador <operador-relacional> <caso> <Sentencia-asignacin> $Ai <caso> =

<digito> identificador <operador-asignacin> <caso> <operadores numricos>

1 + identificador

$Hv

identificador

$Hv

$Ai

También podría gustarte