SlideShare ist ein Scribd-Unternehmen logo
1 von 4
Downloaden Sie, um offline zu lesen
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 LEXICA
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 léxica, 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.
 PASSO 1 – BAIXAR OS ARQUIVOS NECESSÁRIOS
Todos os arquivos necessários foram reunidos em um único link para facilitar o
entendimento e diminuir o tempo de procura dos mesmo.
Link: https://mega.co.nz/#!iN4EAIpS!f2oFTDB7vZwuoqeqaitb_Xwgi9wClY4YfZ4ttGsMaXw
Conteúdo do pacote.
FLEX – compilador responsável por “lexicar” ou seja fazer analise léxica do arquivo
Lex- exemplos de estruturas de tokens para didática
MinGw- compilador essencial C/C++ para compilar as aplicações
 PASSO 2 – INSTALAÇÃO DOS SOFTWARES
 Obs: Marque o g++ deixe o diretório padrão para C:/MinGw, instale o FLEX na
pasta do MinGW para evitar a necessidade de configuras variáveis de ambiente.
 Junto com o FLEX existe um arquivo flex.exe copie e cole na pasta
C:/MinGw/bin ele irá perguntar se deseja substituir diga que sim.
 PASSO 3 – PRIMEIROS EXEMPLOS
Extraia o conteúdo LEX.RAR a estrutura deve ser a seguinte
Cinco exemplos com um editor qualquer abra o exemplo1.l
Este exemplo demostra como definimos a nossa linguagem para ser interpretada
declarando os token’s e quais as respostas caso o token seja entrado no terminal. Neste
exemplo ele interpretara apenas 2 tokens (START, STOP).
 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
Compilando o código em .C para gerar o executável – lfl é para adicionar as bibliotecas
da basta lib.
 PASSO 5 – TESTANDO O RESULTADO
Execute o arquivo exemplo1.exe compilado

Weitere ähnliche Inhalte

Andere mochten auch

Compilers - Using Lex and YACC
Compilers - Using Lex and YACCCompilers - Using Lex and YACC
Compilers - Using Lex and YACCMichel Alves
 
Como Construir um compilador-cap 2
Como Construir um compilador-cap 2Como Construir um compilador-cap 2
Como Construir um compilador-cap 2Maellson Marques
 
[TUTORIAL] PetitParser
[TUTORIAL] PetitParser[TUTORIAL] PetitParser
[TUTORIAL] PetitParserESUG
 
Poscomp-Cadernodequestes ano2011
Poscomp-Cadernodequestes ano2011Poscomp-Cadernodequestes ano2011
Poscomp-Cadernodequestes ano2011Maellson Marques
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Librarieselliando dias
 
Aula 3 compiladores e interpretadores
Aula 3   compiladores e interpretadoresAula 3   compiladores e interpretadores
Aula 3 compiladores e interpretadoresLCCIMETRO
 

Andere mochten auch (11)

JavaCC
JavaCCJavaCC
JavaCC
 
Compilers - Using Lex and YACC
Compilers - Using Lex and YACCCompilers - Using Lex and YACC
Compilers - Using Lex and YACC
 
Como Construir um compilador-cap 2
Como Construir um compilador-cap 2Como Construir um compilador-cap 2
Como Construir um compilador-cap 2
 
Trabalho
TrabalhoTrabalho
Trabalho
 
[TUTORIAL] PetitParser
[TUTORIAL] PetitParser[TUTORIAL] PetitParser
[TUTORIAL] PetitParser
 
poscomp-Gabarito ano2010
poscomp-Gabarito ano2010poscomp-Gabarito ano2010
poscomp-Gabarito ano2010
 
Poscomp-Cadernodequestes ano2011
Poscomp-Cadernodequestes ano2011Poscomp-Cadernodequestes ano2011
Poscomp-Cadernodequestes ano2011
 
poscomp-Gabarito ano2011
poscomp-Gabarito ano2011poscomp-Gabarito ano2011
poscomp-Gabarito ano2011
 
Compiladores 4
Compiladores 4Compiladores 4
Compiladores 4
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
 
Aula 3 compiladores e interpretadores
Aula 3   compiladores e interpretadoresAula 3   compiladores e interpretadores
Aula 3 compiladores e interpretadores
 

Ähnlich wie Tutorial compiladores análise léxica

Monografia CEI-ES0326-T14-2008-1 - Wellington Gomes de Vasconcelos
Monografia CEI-ES0326-T14-2008-1 - Wellington Gomes de VasconcelosMonografia CEI-ES0326-T14-2008-1 - Wellington Gomes de Vasconcelos
Monografia CEI-ES0326-T14-2008-1 - Wellington Gomes de VasconcelosWellington Wellingtonvasconcelo...
 
Sistemas Operacionais 2 -aula00
Sistemas Operacionais 2 -aula00Sistemas Operacionais 2 -aula00
Sistemas Operacionais 2 -aula00Anderson Favaro
 
Introdução ao LaTeX - Mini-Curso da XI SACSIS
Introdução ao LaTeX - Mini-Curso da XI SACSISIntrodução ao LaTeX - Mini-Curso da XI SACSIS
Introdução ao LaTeX - Mini-Curso da XI SACSISRodrigo Smarzaro
 
Projeto airsoftware emca 2010 - centro paula souza - taubaté,sp
Projeto airsoftware   emca 2010 - centro paula souza - taubaté,spProjeto airsoftware   emca 2010 - centro paula souza - taubaté,sp
Projeto airsoftware emca 2010 - centro paula souza - taubaté,spCaique Guilherme Faria Dias
 
Atividade programação script 2
Atividade programação script 2Atividade programação script 2
Atividade programação script 2Rtec Informatica
 
Linguagen..
Linguagen..Linguagen..
Linguagen..essa
 
IES GF - Linguagem de Programação Estruturada - Parte 1
IES GF - Linguagem de Programação Estruturada - Parte 1IES GF - Linguagem de Programação Estruturada - Parte 1
IES GF - Linguagem de Programação Estruturada - Parte 1Ramon Mayor Martins
 
Atps paradigmas linguagem programacao
Atps paradigmas linguagem programacaoAtps paradigmas linguagem programacao
Atps paradigmas linguagem programacaopablogranola
 
Sistemas logicos programaveis
Sistemas logicos programaveisSistemas logicos programaveis
Sistemas logicos programaveislaritha
 
python_para_desenvolvedores.pdf
python_para_desenvolvedores.pdfpython_para_desenvolvedores.pdf
python_para_desenvolvedores.pdfProfIvanSaboia
 
Minicurso - Introdução ao LaTeX
Minicurso - Introdução ao LaTeXMinicurso - Introdução ao LaTeX
Minicurso - Introdução ao LaTeXRodrigo Smarzaro
 
A lógica do Python e seus termos
A lógica do Python e seus termosA lógica do Python e seus termos
A lógica do Python e seus termosValore I/O
 
Apostila - Desenvolvimento Web com ASP.NET
Apostila - Desenvolvimento Web com ASP.NETApostila - Desenvolvimento Web com ASP.NET
Apostila - Desenvolvimento Web com ASP.NETJosé Corrêa Viana
 
Palestra EPF (Eclispe Process Framework) Estudo Caso FliSoL Abr 09
Palestra EPF (Eclispe Process Framework) Estudo Caso FliSoL Abr 09Palestra EPF (Eclispe Process Framework) Estudo Caso FliSoL Abr 09
Palestra EPF (Eclispe Process Framework) Estudo Caso FliSoL Abr 09Daniel Moraes
 
So2 aula00-cic4 na450-sexta
So2 aula00-cic4 na450-sextaSo2 aula00-cic4 na450-sexta
So2 aula00-cic4 na450-sextaAnderson Favaro
 
So2 aula00-noite-1sem2011
So2 aula00-noite-1sem2011So2 aula00-noite-1sem2011
So2 aula00-noite-1sem2011Anderson Favaro
 
So2 aula00-manha-1sem2011
So2 aula00-manha-1sem2011So2 aula00-manha-1sem2011
So2 aula00-manha-1sem2011Anderson Favaro
 

Ähnlich wie Tutorial compiladores análise léxica (20)

Monografia CEI-ES0326-T14-2008-1 - Wellington Gomes de Vasconcelos
Monografia CEI-ES0326-T14-2008-1 - Wellington Gomes de VasconcelosMonografia CEI-ES0326-T14-2008-1 - Wellington Gomes de Vasconcelos
Monografia CEI-ES0326-T14-2008-1 - Wellington Gomes de Vasconcelos
 
Sistemas Operacionais 2 -aula00
Sistemas Operacionais 2 -aula00Sistemas Operacionais 2 -aula00
Sistemas Operacionais 2 -aula00
 
Introdução ao LaTeX - Mini-Curso da XI SACSIS
Introdução ao LaTeX - Mini-Curso da XI SACSISIntrodução ao LaTeX - Mini-Curso da XI SACSIS
Introdução ao LaTeX - Mini-Curso da XI SACSIS
 
Projeto airsoftware emca 2010 - centro paula souza - taubaté,sp
Projeto airsoftware   emca 2010 - centro paula souza - taubaté,spProjeto airsoftware   emca 2010 - centro paula souza - taubaté,sp
Projeto airsoftware emca 2010 - centro paula souza - taubaté,sp
 
Apostila_IC.pdf
Apostila_IC.pdfApostila_IC.pdf
Apostila_IC.pdf
 
Atividade programação script 2
Atividade programação script 2Atividade programação script 2
Atividade programação script 2
 
Poo frank
Poo frankPoo frank
Poo frank
 
Linguagen..
Linguagen..Linguagen..
Linguagen..
 
IES GF - Linguagem de Programação Estruturada - Parte 1
IES GF - Linguagem de Programação Estruturada - Parte 1IES GF - Linguagem de Programação Estruturada - Parte 1
IES GF - Linguagem de Programação Estruturada - Parte 1
 
Atps paradigmas linguagem programacao
Atps paradigmas linguagem programacaoAtps paradigmas linguagem programacao
Atps paradigmas linguagem programacao
 
Sistemas logicos programaveis
Sistemas logicos programaveisSistemas logicos programaveis
Sistemas logicos programaveis
 
python_para_desenvolvedores.pdf
python_para_desenvolvedores.pdfpython_para_desenvolvedores.pdf
python_para_desenvolvedores.pdf
 
Minicurso - Introdução ao LaTeX
Minicurso - Introdução ao LaTeXMinicurso - Introdução ao LaTeX
Minicurso - Introdução ao LaTeX
 
1.1.paradigmas
1.1.paradigmas1.1.paradigmas
1.1.paradigmas
 
A lógica do Python e seus termos
A lógica do Python e seus termosA lógica do Python e seus termos
A lógica do Python e seus termos
 
Apostila - Desenvolvimento Web com ASP.NET
Apostila - Desenvolvimento Web com ASP.NETApostila - Desenvolvimento Web com ASP.NET
Apostila - Desenvolvimento Web com ASP.NET
 
Palestra EPF (Eclispe Process Framework) Estudo Caso FliSoL Abr 09
Palestra EPF (Eclispe Process Framework) Estudo Caso FliSoL Abr 09Palestra EPF (Eclispe Process Framework) Estudo Caso FliSoL Abr 09
Palestra EPF (Eclispe Process Framework) Estudo Caso FliSoL Abr 09
 
So2 aula00-cic4 na450-sexta
So2 aula00-cic4 na450-sextaSo2 aula00-cic4 na450-sexta
So2 aula00-cic4 na450-sexta
 
So2 aula00-noite-1sem2011
So2 aula00-noite-1sem2011So2 aula00-noite-1sem2011
So2 aula00-noite-1sem2011
 
So2 aula00-manha-1sem2011
So2 aula00-manha-1sem2011So2 aula00-manha-1sem2011
So2 aula00-manha-1sem2011
 

Mehr von Adilmar Dantas

APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...
APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...
APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...Adilmar Dantas
 
Programação Android Phonegap 1
Programação Android Phonegap 1Programação Android Phonegap 1
Programação Android Phonegap 1Adilmar Dantas
 
Potenciação Divide and Conquer
Potenciação Divide and ConquerPotenciação Divide and Conquer
Potenciação Divide and ConquerAdilmar Dantas
 
Cinta de expansão torácica utilizando Arduino aplicado na fisioterapia respir...
Cinta de expansão torácica utilizando Arduino aplicado na fisioterapia respir...Cinta de expansão torácica utilizando Arduino aplicado na fisioterapia respir...
Cinta de expansão torácica utilizando Arduino aplicado na fisioterapia respir...Adilmar Dantas
 
Análise de Técnicas Computacionais para Classificação de Emoções
Análise de Técnicas Computacionais para Classificação de EmoçõesAnálise de Técnicas Computacionais para Classificação de Emoções
Análise de Técnicas Computacionais para Classificação de EmoçõesAdilmar Dantas
 
Reconhecimento Automático de Emoções
Reconhecimento Automático de EmoçõesReconhecimento Automático de Emoções
Reconhecimento Automático de EmoçõesAdilmar Dantas
 
Reconhecimento automático de emoções
Reconhecimento automático de emoçõesReconhecimento automático de emoções
Reconhecimento automático de emoçõesAdilmar Dantas
 
Detecção de Faces - Redes Neurais *MLP
Detecção de Faces - Redes Neurais *MLPDetecção de Faces - Redes Neurais *MLP
Detecção de Faces - Redes Neurais *MLPAdilmar Dantas
 
Rede Neural MLP para reconhecimento de Faces
Rede Neural MLP para reconhecimento de FacesRede Neural MLP para reconhecimento de Faces
Rede Neural MLP para reconhecimento de FacesAdilmar Dantas
 
ALgoritmo Genético - Escalonamento
ALgoritmo Genético - EscalonamentoALgoritmo Genético - Escalonamento
ALgoritmo Genético - EscalonamentoAdilmar Dantas
 
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOSBIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOSAdilmar Dantas
 
Alinhamento de Sequencia DNA
Alinhamento de Sequencia DNAAlinhamento de Sequencia DNA
Alinhamento de Sequencia DNAAdilmar Dantas
 
3ª maratona de games – facom ufu
3ª maratona de games – facom  ufu3ª maratona de games – facom  ufu
3ª maratona de games – facom ufuAdilmar Dantas
 
Monitor Cardíaco usando Arduino
Monitor Cardíaco usando Arduino Monitor Cardíaco usando Arduino
Monitor Cardíaco usando Arduino Adilmar Dantas
 
Algoritmo clique maximo - Analise de Algoritmos
Algoritmo clique maximo  - Analise de AlgoritmosAlgoritmo clique maximo  - Analise de Algoritmos
Algoritmo clique maximo - Analise de AlgoritmosAdilmar Dantas
 
TCC: WebLab Laboratório de Experimentação Remota
TCC: WebLab Laboratório de Experimentação RemotaTCC: WebLab Laboratório de Experimentação Remota
TCC: WebLab Laboratório de Experimentação RemotaAdilmar Dantas
 
Engenharia de software testes
Engenharia de software  testesEngenharia de software  testes
Engenharia de software testesAdilmar Dantas
 

Mehr von Adilmar Dantas (20)

Querying nosql stores
Querying nosql storesQuerying nosql stores
Querying nosql stores
 
APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...
APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...
APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...
 
Programação Android Phonegap 1
Programação Android Phonegap 1Programação Android Phonegap 1
Programação Android Phonegap 1
 
Potenciação Divide and Conquer
Potenciação Divide and ConquerPotenciação Divide and Conquer
Potenciação Divide and Conquer
 
Cinta de expansão torácica utilizando Arduino aplicado na fisioterapia respir...
Cinta de expansão torácica utilizando Arduino aplicado na fisioterapia respir...Cinta de expansão torácica utilizando Arduino aplicado na fisioterapia respir...
Cinta de expansão torácica utilizando Arduino aplicado na fisioterapia respir...
 
Análise de Técnicas Computacionais para Classificação de Emoções
Análise de Técnicas Computacionais para Classificação de EmoçõesAnálise de Técnicas Computacionais para Classificação de Emoções
Análise de Técnicas Computacionais para Classificação de Emoções
 
Reconhecimento Automático de Emoções
Reconhecimento Automático de EmoçõesReconhecimento Automático de Emoções
Reconhecimento Automático de Emoções
 
Reconhecimento automático de emoções
Reconhecimento automático de emoçõesReconhecimento automático de emoções
Reconhecimento automático de emoções
 
Detecção de Faces - Redes Neurais *MLP
Detecção de Faces - Redes Neurais *MLPDetecção de Faces - Redes Neurais *MLP
Detecção de Faces - Redes Neurais *MLP
 
Rede Neural MLP para reconhecimento de Faces
Rede Neural MLP para reconhecimento de FacesRede Neural MLP para reconhecimento de Faces
Rede Neural MLP para reconhecimento de Faces
 
ALgoritmo Genético - Escalonamento
ALgoritmo Genético - EscalonamentoALgoritmo Genético - Escalonamento
ALgoritmo Genético - Escalonamento
 
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOSBIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
 
Alinhamento de Sequencia DNA
Alinhamento de Sequencia DNAAlinhamento de Sequencia DNA
Alinhamento de Sequencia DNA
 
3ª maratona de games – facom ufu
3ª maratona de games – facom  ufu3ª maratona de games – facom  ufu
3ª maratona de games – facom ufu
 
Monitor Cardíaco usando Arduino
Monitor Cardíaco usando Arduino Monitor Cardíaco usando Arduino
Monitor Cardíaco usando Arduino
 
Algoritmo clique maximo - Analise de Algoritmos
Algoritmo clique maximo  - Analise de AlgoritmosAlgoritmo clique maximo  - Analise de Algoritmos
Algoritmo clique maximo - Analise de Algoritmos
 
Servidores Web
Servidores WebServidores Web
Servidores Web
 
TCC: WebLab Laboratório de Experimentação Remota
TCC: WebLab Laboratório de Experimentação RemotaTCC: WebLab Laboratório de Experimentação Remota
TCC: WebLab Laboratório de Experimentação Remota
 
Weblab TCC
Weblab TCCWeblab TCC
Weblab TCC
 
Engenharia de software testes
Engenharia de software  testesEngenharia de software  testes
Engenharia de software testes
 

Tutorial compiladores análise léxica

  • 1. 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 LEXICA 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 léxica, 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.  PASSO 1 – BAIXAR OS ARQUIVOS NECESSÁRIOS Todos os arquivos necessários foram reunidos em um único link para facilitar o entendimento e diminuir o tempo de procura dos mesmo. Link: https://mega.co.nz/#!iN4EAIpS!f2oFTDB7vZwuoqeqaitb_Xwgi9wClY4YfZ4ttGsMaXw Conteúdo do pacote. FLEX – compilador responsável por “lexicar” ou seja fazer analise léxica do arquivo
  • 2. Lex- exemplos de estruturas de tokens para didática MinGw- compilador essencial C/C++ para compilar as aplicações  PASSO 2 – INSTALAÇÃO DOS SOFTWARES  Obs: Marque o g++ deixe o diretório padrão para C:/MinGw, instale o FLEX na pasta do MinGW para evitar a necessidade de configuras variáveis de ambiente.  Junto com o FLEX existe um arquivo flex.exe copie e cole na pasta C:/MinGw/bin ele irá perguntar se deseja substituir diga que sim.  PASSO 3 – PRIMEIROS EXEMPLOS Extraia o conteúdo LEX.RAR a estrutura deve ser a seguinte Cinco exemplos com um editor qualquer abra o exemplo1.l
  • 3. Este exemplo demostra como definimos a nossa linguagem para ser interpretada declarando os token’s e quais as respostas caso o token seja entrado no terminal. Neste exemplo ele interpretara apenas 2 tokens (START, STOP).  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 Compilando o código em .C para gerar o executável – lfl é para adicionar as bibliotecas da basta lib.
  • 4.  PASSO 5 – TESTANDO O RESULTADO Execute o arquivo exemplo1.exe compilado