17.01.2013 Views

COMPORT – Compilador Portugol - Nilo Menezes

COMPORT – Compilador Portugol - Nilo Menezes

COMPORT – Compilador Portugol - Nilo Menezes

SHOW MORE
SHOW LESS

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

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

Saved successfully!

Ooh no, something went wrong!