Analisador Léxico
/*Universidade FUMEC - FACE*/
/*Ciencia da Computacao*/
/*Compiladores - 6NA*/
/*Professor: Mateus*/
/*Trabalho prático: Analisador Léxico*/
/*Data: 27/11/2005*/
/*Alunos:*/
/*Alexandre Notini*/
/*Igor Amaral*/
/*Simone Miranda Myrrha*/
/*Objetivo:*/
/*Fazer um programa para implementar um Analisador Léxico de um compilador*/
/*apos definição de uma linguagem gerando Tabela de Símbolos e saída*/
/*para o Analisador Sintático.*/
/*Arquivos lidos:*/
/*1 - programa.txt - Arquivo a ser compilado (análise léxica);*/
/*2 - reservadas.txt - Arquivo que contém as palavras reservadas*/
/*da lingagem especificada;*/
/*Arquivos gerados:*/
/*1 - saidalexico.txt - Arquivo de saída (interface) para o*/
/*"alimentar" o Analisador sintátco;*/
/*2 - tabsimbolos.txt - Arquivo que receberá a tabela de símbolos*/
/*do programa compilado (análise léxica);*/
/*3 - comentarios.txt - Arquivo que receberá os comentários*/
/*presentes no programa compilado (análise léxica);*
/*4 - erros.txt - Saída de caracteres inválidos*/
/*---------------------------------------------- Fim Identificação --------*/
/*---------------------------------------------- Bibliotecas --------------*/
#include
#include
#include
#include
/*---------------------------------------------- Fim Bibliotecas ----------*/
/*---------------------------------------------- Função - Professor -------*/
int Inside (char a, const char * str)
{
/* Recebe caracter na posicao i da string passada e*/ /* um ponteiro de caracteres tipo string*/ /* passada na chamada da funcao*/ /*Declaração de variávis*/ int j; int ret; /*Inicialização de variáveis*/ j=0; ret=0; /*Termina quando o ret for verdadeiro*/ while (str[j] && !ret) { /*If --> percorre o o vetor de constantes*/ /*passado como