Baixe o app para aproveitar ainda mais
Prévia do material em texto
MINISTÉRIO DA EDUCAÇÃO SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TRIÂNGULO MINEIRO – Campus Uberlândia TUTORIAL LINGUAGENS FORMAIS E PARSERS COMPILADORES – ANALISE SINTÁTICA Adilmar Coelho Dantas – adilmarcoeho@hotmail.com Sistemas para Internet (Analista de Sistemas LCAD –IFTM, UFU) INTRODUÇÃO Este tutorial tem como objetivo apresentar passo a passo para a construção de compilador para analise sintática, matéria presentes nos cursos de Ciência da Computação e Sistemas dentre outras afins. É extremamente importante a leitura do passo a passo pois alguns detalhes foram digitados, faça em sistema operacional WINDOWS XP para evitar complicações. Obs. é pré-requisito que se tenha feito o tutorial de analise léxica. PASSO 1 – BAIXAR OS ARQUIVOS NECESSÁRIOS LINK: PASSO 2 – INSTALAÇÃO DOS SOFTWARES Obs: Marque o g++ deixe o diretório padrão para C:/MinGw, instale o BISON na pasta do MinGW para evitar a necessidade de configuras variáveis de ambiente. PASSO 3 – EXEMPLO CALCULADORA Extraia o conteúdo SINTATICA.RAR a estrutura deve ser a seguinte Arquivo de dicionário de dados arquivo y para declaração dos TOKENS validos e da resposta. Repare no dicionário que montamos ele aceitara valores inteiros formados por numerais de 0 a 9, o operador +, declaração para ignorar espaços e do fim de linha. [0-9]+ é uma expressão regular que representa todas as sequências não vazias de caracteres no intervalo de '0' a '9' (i.e., números naturais). "+" representa a palavra com o carácter '+' (que tem de estar entre aspas devido a ser um operador para as expressões regulares. A variável yytext guarda o texto correspondente ao símbolo terminal (token) corrente. A variável yylval serve para passar o valor de um símbolo terminal (token) ao analisador sintáctico. (Para a calculadora basta passar valores inteiros.). A constante INTEIRO corresponde a um símbolo terminal (token) e será definida pelo bison. Essa definição estará no ficheiro calculadora.tab.h, sendo essa a razão para fazer #include dele. PASSO 4 – COMPILANDO OS ARQUIVOS Copie os exemplos anteriores para a pasta C:/MinGw/bin Abra o (CMD) navegue até o diretório C:/MinGw/bin O primeiro passo é “flexar” o arquivo transformando em linguagem C valida vamos lá. Digite no (CMD) Interpretação flex –o nome do arquivo_de_saída a partir do nome_arquivo Este comando gera como saída dois arquivos. tab (c,h) para por último gerar o .exe PASSO 5 – GERANDO O .EXE PASSO 6 – TESTANDO O EXE
Compartilhar