Analisador léxico
Por: Rodrigo Francisquini • 25/4/2016 • Relatório de pesquisa • 629 Palavras (3 Páginas) • 216 Visualizações
Analisador Léxico
São José dos Campos - SP
2016
Sumário
1 Introdução 3
2 O Compilador 3
2.1 Análise léxica 3
Referências Bibliográficas 5
Introdução
Este relatório é referente a etapa de construção do compilador para à disciplina Laboratório de Sistemas Computacionais : Compiladores. Em especial, a primeira etapa consiste na elaboração do analisador léxico.
Um compilador é um programa que lê um programa escrito numa dada linguagem e o traduz a um programa equivalente numa outra linguagem.
O Compilador: Fase de Análise
Um compilador pode-se dividir em duas fases, uma de análise e outra de síntese.
A etapa de análise subdivide-se em 3 análises, léxica, sintática e semântica. A análise léxica refere-se a leitura da uma sequência de caracteres que constituem o programa fonte. A análise sintática recebe a sequência de palavras originadas pela análise léxica, e converte-a numa sequência de frases. A análise semântica, por sua vez, recebe a sequência de frases e verifica sua correção semântica.
Análise Léxica
Na análise léxica do compilador são permitidos os seguintes tokens:
1. Palavras reservadas: “if”, “else”, “int”, “return”, “void”, “while”.
2. Símbolos de operações:
2.1 Soma: “+”;
2.2 Subtração: “-”;
2.3 Multiplicação: “*”;
2.4 Divisão: “/”;
2.5 Atribuição: “=”;
3. Símbolos de comparações:
3.1 Menor: “<”;
3.2 Menor ou igual: “<=”;
3.3 Maior: “>”;
3.4 Maior ou igual: “>=”;
3.5 Igualdade: “==”;
3.6 Diferença: “!=”;
4. Outros símbolos aceitos:
4.1 Ponto e vírgula: “;”;
4.2 Vírgula: “,”;
4.3 Abre parênteses: “(“;
4.4 Fecha parênteses: “)”;
4.5 Abre parênteses: “[“;
4.6 Fecha parênteses: “]”;
4.7 Abre parênteses: “{“;
4.8 Fecha parênteses: “}”;
4.9 Quebra de linha: "\r" ou “\n”;
Além dos caracteres aceitos, o anaisador léxico também possui um conjunto de expressões regulares que definem expressões a serem aceitas, sendo elas:
1. Dígitos: Dígitos de 0 a 9:
( DIGITO [0-9] );
2. Letras: Letras, maiúsculas ou minúsculas:
...