PROYECTO FINAL LENGUAJES Y AUTOMATAS
Enviado por Jorge Ramirez Penagos • 12 de Diciembre de 2021 • Informe • 1.309 Palabras (6 Páginas) • 113 Visitas
…[pic 1][pic 2][pic 3]
Índice
Introducción
Diseño del Lenguaje
Lang Finch Robot
Este lenguaje permite controlar a un robot, que tiene como misión el siguiente conjunto de instrucciones para que pueda realizar las misiones que por las cuales se ha creado este robot de tecnología moderna:
- Alimentar (Pedegree);
- Brincar (3);
- Empujar (50000);
- Deletrear (aeiou);
- Detener (0);
El conjunto de instrucciones está compuesto por 12 lexemas.
A continuación, se presenta el AFD para validar cada uno de los lexemas del conjunto de instrucciones del lenguaje Lang Finch Robot
A Z A Z OTRO[pic 4][pic 5]
🡪 0 🡪 1 ----------------------------------------🡪 500
( OTRO[pic 6]
-------🡪 2---------------------------------------🡪 501
) OTRO[pic 7]
------🡪 3--------------------------------------🡪 502
;[pic 8]
-----🡪 4--------------------------------------🡪 503[pic 9]
0 .9 [pic 10]
----🡪 5----------------------------------------🡪 504
OTRO [pic 11]
-/+ OTRO 505 [pic 12]
----🡪 6--------------------------------------🡪 [pic 13]
0.9 0.9 OTRO[pic 14]
. -----🡪 7 -------------🡪 8----------------------🡪 506
OTRO---🡪 507 error [pic 15]
DESCRIPCION DE INSTRUCCIONES
Alimentar: Esta instrucción permite que el robot alimente un perro, consiste en decir el tipo de alimento en un tazón de comida. Los argumentos son de tipo char.
Alimentar (Pedegree);
En este ejemplo el robot Si tiene que decir que alimento debe comer el perro.
Brincar: Esta instrucción permite que el robot realice un brinco a cierta distancia. La escala de brinco es de 3 a 1 julios por lo tanto 3 es la cantidad máxima para brincar del robot y su unidad es julios.
Brincar (3);
Empujar: Esta instrucción permite que el robot empuje un objeto con su cuerpo. La unidad del primer argumento es un entero entonces debe generar una fuerza de 5,0000 newton para mover cualquier objeto. La unidad del segundo argumento es la distancia en metros hasta donde debe empujar el robot.
Empujar (50000);
Deletrear: Esta instrucción permite que el robot deletree el alfabeto
Deletrear(AEIOU);
Detener: Esta instrucción permite impedir que el robot avance, que se detenga por completo de algún desplazamiento que esté realizando, que se quede en el lugar donde se encuentra. Su unidad de medida es en metros que sería definido como 0 para que el robot no realice un desplazamiento.
Detener (0);
TABLA DE TRANSICIÓN CORRESPONDIENTE AL LENGUAJE LANG FINCH ROBOT
Estados | A.Z | ( | ) | ; | 0.9 | - | + | . | Otro |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 507 | 507 | 507 |
1 | 1 | 500 | 500 | 500 | 500 | 500 | 500 | 500 | 500 |
2 | 501 | 501 | 501 | 501 | 501 | 501 | 501 | 501 | 501 |
3 | 502 | 502 | 502 | 502 | 502 | 502 | 502 | 502 | 502 |
4 | 503 | 503 | 503 | 503 | 503 | 503 | 503 | 503 | 503 |
5 | 504 | 504 | 504 | 504 | 504 | 504 | 504 | 504 | 504 |
6 | 505 | 505 | 505 | 505 | 505 | 6 | 505 | 507 | 507 |
7 | 506 | 506 | 506 | 506 | 506 | 6 | 506 | 506 | 506 |
8 | 507 | 507 | 507 | 507 | 507 | 8 | 507 | 507 | 507 |
Ejemplos.
Alimenta(Pedegree); = (500 501 500 502 507);
Brincar (3) = (500 501 504 502);
Empujar (50000) = (500 5001 504 502);
Deletrear(AEIOU)= (500 501 500 502);
Detener (0) = (500 501 504 502);
...