11.07.2015 Views

Compiladores: PASCALjr - WWW2 - Udesc

Compiladores: PASCALjr - WWW2 - Udesc

Compiladores: PASCALjr - WWW2 - Udesc

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

P: S → 0S | AA → A1 | BB → 0 | 1 | ε3.4 Especificação e Reconhecimento de TokensA especificação de tokens é feita através de expressões regulares e reconhecida através dosreconhecedores de gramáticas regulares chamados de autômatos finitos.Exemplo:< Numero > → < Digitos >< Frac Opc >< Exp Opc >< Frac Opc > → . < Digitos >| ε< Exp Opc > → (E | e)(+ | − | ε) < Digitos >| ε< Digitos > → < Digito >< Digitos >|< Digito >< Digito > → 0 | 1 | 2 | . . . | 9esta gramática é capaz de reconhecer números inteiros como 1, 100, 1234, etc. e tambémnúmeros reais expressos ou não por notação exponencial como: 1.5, 10.34, 1.3e15, 1E+2;porém, é incapaz de reconhecer números como 1., sem a parte fracionária. A figura 3.3reconhece esta gramática, enquanto que a figura 3.4 reconhece identificadores simples 1 .OUTROINICIODÍGITODÍGITODÍGITO0 1DIGITO .2 DIGITO 3E | e + | -4 5DIGITO6OUTRO7 * Retornar(Num_Real,Obter_Token())OUTROE | eDIGITO8* Retornar(Num_Inteiro, Obter_Token())Figura 3.3: Autômato finito de reconhecimento de números inteiros e reaisO reconhecimento de strings é apresentado na figura 3.5, onde “caracteres válidos”representa o alfabeto válido para strings, geralmente letras, números, espaços e sinaisortográficos.Exercício: Criar um AFD capaz de reconhecer os tokens da linguagem P ASCAL jr :símbolos (Dois Pontos, Ponto e Vírgula, Vírgula, Abre e Fecha Parênteses, Atribuição),Operadores Relacionais e Aritméticos, Constante Caracter e identificadores de sub-rotinas1 Exceto identificadores de sub-rotinas17

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!