Informática Teórica Engenharia da Computação
Teoria da Computação Contexto do que vamos começar a estudar No início do nosso curso falamos que iríamos estudar os seguintes modelos de computação: Autômatos finitos Autômatos com pilha Máquinas de Turing Estudamos os AFs e vimos que são máquinas reconhecedoras de linguagens
Teoria da Computação Contexto do que vamos começar a estudar As linguagens também podem ser definidas formalmente por gramáticas, que é um método de descrever formalmente uma linguagem.
Teoria da Computação Contexto do que vamos começar a estudar Curioso: independentemente do desenvolvimento desses modelos de computação, o linguista Noam Chomsky buscou formalizar a noção de gramática e linguagem. Isso resultou na definição da conhecida Hierarquia de Chomsky, uma hierarquia de classes de linguagem definidas por gramáticas de complexidade crescente.
Teoria da Computação Hierarquia de Chomsky Gramáticas lineares à direita Gramáticas livre de contexto Gramáticas irrestritas Autômatos finitos Autômatos com pilha Máquinas de Turing (Tem-se também: gramáticas sensíveis ao contexto – autômatos linearmente limitados)
Teoria da Computação Hierarquia de Chomsky Tipo 0: Irrestritas Tipo 1: Sensível ao contexto Tipo 2: Livre de contexto Tipo 3: Regulares
Teoria da Computação Agora nós vamos estudar as linguagens livre de contexto e consequentemente: Gramáticas livre de contexto Autômatos com pilha