Você está na página 1de 2

TRABALHO DE LFA: AUTÔMATO VALIDADOR DE

ATRIBUIÇÕES
CURSO: CIÊNCIA DA COMPUTAÇÃO
PROF. MSC. AUGUSTO MENDES GOMES JÚNIOR
DATA DE ENTREGA: 16/05/2011

Deve ser modelado e implementado um autômato que faça a


validação de atribuições. Uma atribuição possui a seguinte
sintaxe:

identificador op_atrib (identificador | numero)(op_arit


(identificador | numero) )* pv

Sendo que:

• identificador: inicia por uma letra minúscula, seguido por


uma quantidade qualquer de letras minúsculas, dígitos ou
underline.
• op_atib: é representado pelo caractere ‘=’
• numero: inicia por um dígito, seguido por uma quantidade
qualquer de dígitos, podendo ter opcionalmente a parte
fracionária. Caso ele tenha a parte fracionária, ele
recebe o caractere ‘.’ , seguido de uma sequência de um ou
mais dígitos.
• op_arit: é representado por um dos operadores aritméticos
(‘+’ | ‘-‘ | ‘*’ | ‘/’ )
• pv: é representado pelo caractere ‘;’.

Os tokens são representados pelas seguintes expressões


regulares:

• identificador: [a-z] ( [a-z] | [0-9] | [_])*


• op_atrib: ‘=’
• numero: ( [0-9]([0-9])* ) | ( [0-9]([0-9])*’.’ [0-9]([0-
9])* )
• op_arit: (‘+’ | ‘-‘ | ‘*’ | ‘/’ )
• pv: ‘;’

Cada grupo deve modelar um autômato que reconheça uma


atribuição, respeitando a sintaxe descrita neste trabalho. O
autômato modelado pelo grupo deve ser implementado, sendo que a
sua implementação deve seguir o que foi modelado no autômato.

A entrada do autômato será uma atribuição e o autômato deverá


informar se esta atribuição está correta ou incorreta.

Os grupos deverão informar a estrutura de dados utilizada para


implementar o autômato e como foi realizada a sua
implementação.

Linguagens Aceitas: Java, C, C++ e C#.

Devem ser entregues:


• o código fonte em meio digital (CD)
• o autômato e a explicação da sua implementação impressos.

Colocar no CD um arquivo descrevendo os passos para a execução


do programa.

O trabalho é em grupo de até 5 alunos.

Você também pode gostar