Você está na página 1de 2

Universidade Federal da Paraba

Centro de Cincias Exatas e da Natureza


Departamento de Informtica
Curso: Construo de Compiladores I, 2010.1

Atividade Prtica I
Especificao do Analisador Lxico
1) O analisador lxico responsvel por criar a tabela de smbolos, onde cada entrada
formado pelos seguintes elementos:
a. Token;
b. Tipo do token;
c. Linha correspondente a posio do token.
2) Os seguintes elementos no devem ser considerados pelo analisador:
a. Espaos em branco;
b. Caracteres formatadores (tabulao, nova linha, novo pargrafo). Lembrar
que alguns dos caracteres especiais servem para fazer a contagem da linha
3) O analisador lxico tambm no deve considerar o que estiver comentado. Os
delimitadores de comentrios so representandos por { e };
4) Os seguintes tipos de token devem ser considerados:
a. Palavras Chaves: program, var, integer, real, boolean, procedure, begin,
end, if, then, else, while, do;
b.
Identificadores: reconhece
uma letra
(minsculas/maisculas), dgitos ou sublinhas _;

seguida

por

letras

c. Nmeros inteiros: representa nmeros naturais da forma [0..9]+;


d. Nmeros reais: representa nmeros sem sinal da forma ([0..9]+.[0..9]*);
e. Delimitadores: ; (ponto e vrgula) . (ponto final) : (dois pontos) ( ) (abre e
fecha parnteses
f. Comando de atribuio: :=
e. Operadores relacionais: = < > <= >= <>
g. Operadores aditivos: + - or
h. Operadores multiplicativos: * / and
5) Os seguintes erros devem ser detectados pelo analisador lxico:
a. Comentrio aberto e no fechado;
b. Smbolos no pertencentes a linguagem.

Exemplo: Dado o seguinte programa,


program teste; {programa exemplo}
var
valor1: integer;
valor2: real;
begin
valor1 := 10;
end.
A seguinte tabela deve ser criada:
Token

Classificao

Linha

Palavra reservada

teste

Identificador

Delimitador

Palavra reservada

valor1

Identificador

Delimitador

Palavra reservada

Delimitador

valor2

Identificador

Delimitador

Palavra reservada

Delimitador

begin

Palavra reservada

valor1

Identificador

:=

Delimitador

10

Nmero inteiro

Delimitador

Palavra reservada

Delimitador

program

var

integer

real
;

;
end
.

Você também pode gostar