COMPORT – Compilador Portugol - Nilo Menezes
COMPORT – Compilador Portugol - Nilo Menezes
COMPORT – Compilador Portugol - Nilo Menezes
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
1.3.3. Tabela de Símbolos<br />
ComPort <strong>–</strong> <strong>Compilador</strong> <strong>Portugol</strong><br />
É uma estrutura de dados utilizada para armazenar atributos dos<br />
tokens. Ela começa a ser preenchida pelo analisador léxico, mas continua<br />
recebendo dados das outras fases de compilação. Um exemplo é o reconhecimento<br />
de um número, considerando-se como referência a Tabela 2, teríamos dois campos<br />
na tabela de símbolos: o token e o lexema. Em identificadores mais complexos,<br />
como variáveis, poderíamos ter outros campos como o tipo da variável e até mesmo<br />
informações sobre diversos identificadores, como se são nomes de procedimentos,<br />
funções ou rótulos.<br />
O uso de uma tabela de símbolos para a representação das palavras<br />
reservadas de uma linguagem dá flexibilidade à sua extensão, além de proporcionar<br />
um método único para identificação de identificadores, como visto em AHO (1995) e<br />
WIRTH (1996).<br />
As tabelas de símbolos também são responsáveis pelo registro do<br />
endereço de identificadores, possibilitando a tradução de instruções de salto,<br />
chamadas de procedimentos e acesso a variáveis de memória.<br />
1.4. ANÁLISE SINTÁTICA<br />
Segundo AHO (1995), o analisador sintático (parser) obtém uma<br />
seqüência de tokens do analisador léxico e verifica se esta seqüência pode ser<br />
gerada pela gramática da linguagem.<br />
Todas as linguagens de programação possuem regras que descrevem<br />
a estrutura sintática de programas corretamente formados. A sintaxe de uma<br />
linguagem de programação pode ser descrita através de uma gramática livre de<br />
contexto ou notação BNF (Backus-Naur-Form).<br />
1.4.1. Gramáticas livres de contexto<br />
Segundo WIRTH (1996), o termo livre de contexto deve-se a Chomsky<br />
e indica que a substituição do símbolo à esquerda da � pela seqüência derivada da<br />
direita é sempre permitida, independente do contexto em que o símbolo foi inserido.<br />
28