SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
Gramáticas, Autômatos e
Compiladores
Aula 1
Paulo Eduardo e Silva Barbosa

Adaptado de:
Roteiro
}

Formato da disciplina

}

Introdução

}

Linguagens e Gramáticas
◦ Alfabeto
◦ Palavra
◦ Linguagem
◦ Gramática

}

Exemplos
Formato da disciplina
}

Paulo Eduardo e Silva Barbosa
◦ pesbarbosa@gmail.com

}

Página da disciplina
◦ https://sites.google.com/site/pesbarbosa/

}
}

Bibliografia básica
AHO, Alfred V.; LAM, Mônica S.; SETHI, Ravi;
ULLMAN, Jeffrey D. Compiladores: Princípios,
Técnicas e Ferramentas. Pearson Addison
Wesley, 2007.
Bibliografia
SIPSER,Michael. Introdução à Teoria da
Computação. 2ª ed. São Paulo: Thomson
Pioneira, 2007. MENEZES, Paulo Blauth.
Linguagens Formais e Autômatos. Ed. Bookman
Companhia, 1a edicao, 2008.
PRICE, Ana Maria de Alencar; TOSCANI, Simão
Sirineo Implementação de Linguagens de
Programação: Compiladores. 3a ed. Bookman,
2008
LOUDEN, Keneth C. Compiladores: Princípios e
Práticas. São Paulo: Thomson Learning, 2004.
Formato da disciplina
}

Avaliações
◦ 1º Estágio
– Prova (5)
– Lista de exercícios (2)
– Projeto de Compiladores (analisador léxico e sintático) (3)

◦ 2º Estágio
– Prova
– Projeto de Compiladores (analisador léxico e sintático)

◦ 3º Estágio
– Integrador
– Projeto de Compiladores (analisador léxico e sintático)
Introdução
}

Teoria das Linguagens Formais
◦ 1950
◦ Desenvolvida para Linguagens Naturais
◦ Aplicadas para Linguagens da Computação

}

Sintaxe
◦ Verificação gramatical de programas

}

Semântica
◦ Interpretação para a linguagem (significado ou valor para
um determinado programa)
Linguagens e Gramáticas
}

Como definir uma linguagem em Computação?

}

Alfabeto (Σ)
◦ Conjunto finito de símbolos ou caracteres.
◦ Exemplos:
– {a, b, c}

–ø
Palavra
}

Palavra, cadeia de caracteres ou sentenças sobre
um alfabeto. É uma sequência finita de símbolos
(do alfabeto) justapostos.

}

Exemplos:
◦ Considere o alfabeto {a, b, c}
◦ Palavras:
– ab
– cab
– aabcabb
Palavra
}

Σ*
◦ Denota o conjunto de todas as palavras possíveis sobre
Σ

}

Σ+
◦ Denota Σ* - {ε}

◦ ε
– Palavra vazia, sem símbolos
Linguagem Formal
}

Uma linguagem formal L sobre um alfabeto Σ é
um conjunto de palavras sobre Σ* :
◦ L ⊆ Σ*

}

Exemplo:
◦ Σ = {a, b}
◦ Linguagem: conjunto de palíndromos sobre Σ
◦ Palavras desta linguagem (infinito):
– a, bb, aba, abba, bbbb, ...
Linguagem de Programação

É formalmente definida pelo conjunto de todos os
programas (palavras) da linguagem.
Gramática
}

Conjunto finito de regras nas quais, quando
aplicadas sucessivamente, geram palavras;

}

O conjunto de todas as palavras geradas por uma
gramática define a linguagem.
Gramática
}

Gramática de Chomsky, Gramática Irrestrita ou
simplesmente Gramática
◦ G = (V, T, P, S)
◦ V = conjunto finito de símbolos variáveis ou não-terminais;
◦ T = conjunto finito de símbolos terminais disjunto de V;
◦ Regra de Produção = P: (V ∪ T)+

(V ∪ T)*

◦ S = elemento de V chamado de símbolo inicial
Exemplos de Gramática
}

Gramática Regular (Linguagens Regulares)

}

G = ({S, A, B}, {0, 1}, P, S)

}

P = { S → 0B,
S → 1A,
A → 0,
A → 0S,
B → 1,
B → 1S }
Exemplos de Gramática
}

G = ({S, R}, {0, 1}, P, S)

}

P = { S → 0S,
S → 1R,
R → 1R,
R→ε

}

Mais conteúdo relacionado

Semelhante a Gramáticas, Autômatos e Compiladores: Introdução às Linguagens Formais

IV encontro de pesquisas do francês_gisele galafacci
IV encontro de pesquisas do francês_gisele galafacciIV encontro de pesquisas do francês_gisele galafacci
IV encontro de pesquisas do francês_gisele galafacciGisele Galafacci
 
DOC.CURRICULAR 2023 - ANOS INICIAIS.pdf
DOC.CURRICULAR 2023 - ANOS INICIAIS.pdfDOC.CURRICULAR 2023 - ANOS INICIAIS.pdf
DOC.CURRICULAR 2023 - ANOS INICIAIS.pdfMITA18584
 
Seminário sobre a Escrita Alfabetica.pptx
Seminário sobre a Escrita Alfabetica.pptxSeminário sobre a Escrita Alfabetica.pptx
Seminário sobre a Escrita Alfabetica.pptxRBA
 
Fabione gomes dll 2010.2
Fabione gomes dll 2010.2Fabione gomes dll 2010.2
Fabione gomes dll 2010.2DLLURCA
 
linguagens regulares na ciencia da computação.pdf
linguagens regulares na ciencia da computação.pdflinguagens regulares na ciencia da computação.pdf
linguagens regulares na ciencia da computação.pdfjonathan509395
 
Lingua - Portuguesa - 5o-ano - 2023. pdf
Lingua - Portuguesa - 5o-ano - 2023. pdfLingua - Portuguesa - 5o-ano - 2023. pdf
Lingua - Portuguesa - 5o-ano - 2023. pdfdennisecostaalmeida
 
Metas curriculares port_1ciclo word
Metas curriculares port_1ciclo wordMetas curriculares port_1ciclo word
Metas curriculares port_1ciclo wordAlice Maia
 
Projeto Método Fônico
Projeto Método FônicoProjeto Método Fônico
Projeto Método FônicoNeemias
 
Projeto metodo fonico
Projeto metodo fonicoProjeto metodo fonico
Projeto metodo fonicoNeemias
 
Metas curriculares port_1ciclo
Metas curriculares port_1cicloMetas curriculares port_1ciclo
Metas curriculares port_1cicloHelena Rocha
 
Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teori...
Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teori...Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teori...
Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teori...wab030
 
Instrumento e grade de avaliação estudos sintáticos
Instrumento e grade de avaliação estudos sintáticosInstrumento e grade de avaliação estudos sintáticos
Instrumento e grade de avaliação estudos sintáticosclaudia murta
 

Semelhante a Gramáticas, Autômatos e Compiladores: Introdução às Linguagens Formais (20)

02 linguagens e gramaticas
02   linguagens e gramaticas02   linguagens e gramaticas
02 linguagens e gramaticas
 
IV encontro de pesquisas do francês_gisele galafacci
IV encontro de pesquisas do francês_gisele galafacciIV encontro de pesquisas do francês_gisele galafacci
IV encontro de pesquisas do francês_gisele galafacci
 
DOC.CURRICULAR 2023 - ANOS INICIAIS.pdf
DOC.CURRICULAR 2023 - ANOS INICIAIS.pdfDOC.CURRICULAR 2023 - ANOS INICIAIS.pdf
DOC.CURRICULAR 2023 - ANOS INICIAIS.pdf
 
Ppt artur gomes ortografia
Ppt artur gomes ortografiaPpt artur gomes ortografia
Ppt artur gomes ortografia
 
Seminário sobre a Escrita Alfabetica.pptx
Seminário sobre a Escrita Alfabetica.pptxSeminário sobre a Escrita Alfabetica.pptx
Seminário sobre a Escrita Alfabetica.pptx
 
Libras
Libras Libras
Libras
 
Fabione gomes dll 2010.2
Fabione gomes dll 2010.2Fabione gomes dll 2010.2
Fabione gomes dll 2010.2
 
linguagens regulares na ciencia da computação.pdf
linguagens regulares na ciencia da computação.pdflinguagens regulares na ciencia da computação.pdf
linguagens regulares na ciencia da computação.pdf
 
Apostila Redação Técnica CFS
Apostila Redação Técnica CFSApostila Redação Técnica CFS
Apostila Redação Técnica CFS
 
Metas Curriculares do Ensino Básico
Metas Curriculares do Ensino BásicoMetas Curriculares do Ensino Básico
Metas Curriculares do Ensino Básico
 
Python 03 - Sintaxe
Python 03 - SintaxePython 03 - Sintaxe
Python 03 - Sintaxe
 
Lingua - Portuguesa - 5o-ano - 2023. pdf
Lingua - Portuguesa - 5o-ano - 2023. pdfLingua - Portuguesa - 5o-ano - 2023. pdf
Lingua - Portuguesa - 5o-ano - 2023. pdf
 
Oficina de ortografia 9 ano
Oficina de ortografia 9 anoOficina de ortografia 9 ano
Oficina de ortografia 9 ano
 
Metas curriculares port_1ciclo word
Metas curriculares port_1ciclo wordMetas curriculares port_1ciclo word
Metas curriculares port_1ciclo word
 
Projeto Método Fônico
Projeto Método FônicoProjeto Método Fônico
Projeto Método Fônico
 
Projeto metodo fonico
Projeto metodo fonicoProjeto metodo fonico
Projeto metodo fonico
 
Metas curriculares port_1ciclo
Metas curriculares port_1cicloMetas curriculares port_1ciclo
Metas curriculares port_1ciclo
 
Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teori...
Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teori...Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teori...
Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teori...
 
Instrumento e grade de avaliação estudos sintáticos
Instrumento e grade de avaliação estudos sintáticosInstrumento e grade de avaliação estudos sintáticos
Instrumento e grade de avaliação estudos sintáticos
 
planejamento anual 1º bimestre
planejamento anual 1º bimestreplanejamento anual 1º bimestre
planejamento anual 1º bimestre
 

Mais de Maellson Marques

Poscomp-Cadernodequestes ano2011
Poscomp-Cadernodequestes ano2011Poscomp-Cadernodequestes ano2011
Poscomp-Cadernodequestes ano2011Maellson Marques
 
Poscomp-Cadernodequestes ano2010
Poscomp-Cadernodequestes ano2010Poscomp-Cadernodequestes ano2010
Poscomp-Cadernodequestes ano2010Maellson Marques
 
Como Construir um compilador-cap 2
Como Construir um compilador-cap 2Como Construir um compilador-cap 2
Como Construir um compilador-cap 2Maellson Marques
 
Como Construir um Compilador cap-1
Como Construir um Compilador cap-1Como Construir um Compilador cap-1
Como Construir um Compilador cap-1Maellson Marques
 

Mais de Maellson Marques (6)

poscomp-Gabarito ano2011
poscomp-Gabarito ano2011poscomp-Gabarito ano2011
poscomp-Gabarito ano2011
 
poscomp-Gabarito ano2010
poscomp-Gabarito ano2010poscomp-Gabarito ano2010
poscomp-Gabarito ano2010
 
Poscomp-Cadernodequestes ano2011
Poscomp-Cadernodequestes ano2011Poscomp-Cadernodequestes ano2011
Poscomp-Cadernodequestes ano2011
 
Poscomp-Cadernodequestes ano2010
Poscomp-Cadernodequestes ano2010Poscomp-Cadernodequestes ano2010
Poscomp-Cadernodequestes ano2010
 
Como Construir um compilador-cap 2
Como Construir um compilador-cap 2Como Construir um compilador-cap 2
Como Construir um compilador-cap 2
 
Como Construir um Compilador cap-1
Como Construir um Compilador cap-1Como Construir um Compilador cap-1
Como Construir um Compilador cap-1
 

Gramáticas, Autômatos e Compiladores: Introdução às Linguagens Formais

  • 1. Gramáticas, Autômatos e Compiladores Aula 1 Paulo Eduardo e Silva Barbosa Adaptado de:
  • 2. Roteiro } Formato da disciplina } Introdução } Linguagens e Gramáticas ◦ Alfabeto ◦ Palavra ◦ Linguagem ◦ Gramática } Exemplos
  • 3. Formato da disciplina } Paulo Eduardo e Silva Barbosa ◦ pesbarbosa@gmail.com } Página da disciplina ◦ https://sites.google.com/site/pesbarbosa/ } } Bibliografia básica AHO, Alfred V.; LAM, Mônica S.; SETHI, Ravi; ULLMAN, Jeffrey D. Compiladores: Princípios, Técnicas e Ferramentas. Pearson Addison Wesley, 2007.
  • 4. Bibliografia SIPSER,Michael. Introdução à Teoria da Computação. 2ª ed. São Paulo: Thomson Pioneira, 2007. MENEZES, Paulo Blauth. Linguagens Formais e Autômatos. Ed. Bookman Companhia, 1a edicao, 2008. PRICE, Ana Maria de Alencar; TOSCANI, Simão Sirineo Implementação de Linguagens de Programação: Compiladores. 3a ed. Bookman, 2008 LOUDEN, Keneth C. Compiladores: Princípios e Práticas. São Paulo: Thomson Learning, 2004.
  • 5. Formato da disciplina } Avaliações ◦ 1º Estágio – Prova (5) – Lista de exercícios (2) – Projeto de Compiladores (analisador léxico e sintático) (3) ◦ 2º Estágio – Prova – Projeto de Compiladores (analisador léxico e sintático) ◦ 3º Estágio – Integrador – Projeto de Compiladores (analisador léxico e sintático)
  • 6. Introdução } Teoria das Linguagens Formais ◦ 1950 ◦ Desenvolvida para Linguagens Naturais ◦ Aplicadas para Linguagens da Computação } Sintaxe ◦ Verificação gramatical de programas } Semântica ◦ Interpretação para a linguagem (significado ou valor para um determinado programa)
  • 7. Linguagens e Gramáticas } Como definir uma linguagem em Computação? } Alfabeto (Σ) ◦ Conjunto finito de símbolos ou caracteres. ◦ Exemplos: – {a, b, c} –ø
  • 8. Palavra } Palavra, cadeia de caracteres ou sentenças sobre um alfabeto. É uma sequência finita de símbolos (do alfabeto) justapostos. } Exemplos: ◦ Considere o alfabeto {a, b, c} ◦ Palavras: – ab – cab – aabcabb
  • 9. Palavra } Σ* ◦ Denota o conjunto de todas as palavras possíveis sobre Σ } Σ+ ◦ Denota Σ* - {ε} ◦ ε – Palavra vazia, sem símbolos
  • 10. Linguagem Formal } Uma linguagem formal L sobre um alfabeto Σ é um conjunto de palavras sobre Σ* : ◦ L ⊆ Σ* } Exemplo: ◦ Σ = {a, b} ◦ Linguagem: conjunto de palíndromos sobre Σ ◦ Palavras desta linguagem (infinito): – a, bb, aba, abba, bbbb, ...
  • 11. Linguagem de Programação É formalmente definida pelo conjunto de todos os programas (palavras) da linguagem.
  • 12. Gramática } Conjunto finito de regras nas quais, quando aplicadas sucessivamente, geram palavras; } O conjunto de todas as palavras geradas por uma gramática define a linguagem.
  • 13. Gramática } Gramática de Chomsky, Gramática Irrestrita ou simplesmente Gramática ◦ G = (V, T, P, S) ◦ V = conjunto finito de símbolos variáveis ou não-terminais; ◦ T = conjunto finito de símbolos terminais disjunto de V; ◦ Regra de Produção = P: (V ∪ T)+ (V ∪ T)* ◦ S = elemento de V chamado de símbolo inicial
  • 14. Exemplos de Gramática } Gramática Regular (Linguagens Regulares) } G = ({S, A, B}, {0, 1}, P, S) } P = { S → 0B, S → 1A, A → 0, A → 0S, B → 1, B → 1S }
  • 15. Exemplos de Gramática } G = ({S, R}, {0, 1}, P, S) } P = { S → 0S, S → 1R, R → 1R, R→ε }