Compiladores - UNIMEP - Universidade Metodista de ... anbelgamo/compiladores/BNF_Grafo.pdf Forma de

  • View
    2

  • Download
    0

Embed Size (px)

Text of Compiladores - UNIMEP - Universidade Metodista de ... anbelgamo/compiladores/BNF_Grafo.pdf Forma de

  • Compiladores

    BNF e Grafo Sintático

    Baseado no livro do Prof. Delamaro – Como Construir um Compilador

  • Linguagem Livre de Contexto

    • Em geral, uma linguagem de programação pertence a uma classe de linguagens chamadas de linguagens livres de contexto.

    • Uma das maneiras de se definirem tais linguagens é por meio das gramáticas livres de contexto.

  • Gramática

  • Gramática Livre de Contexto

    • GLC é É uma quádrupla G = (Ω,Σ,P,S), na qual:

    – Σ – é o alfabeto sobre a linguagem definida;

    – Ω – é um conjunto não vazio de símbolos não terminais;

    – P – é um conjunto de produções da forma A → α, onde A ε Ω e α ε (Σ U Ω)*;

    – S – é o símbolo inicial da gramática, S ε Ω

  • Exemplo de GLC

  • Exemplo de GLC

  • Forma de Backus-Naur (BNF)

    • A Forma de Backus-Naur (BNF) é uma outra maneira de se definir linguagens livres de contexto.

    • Ela é semelhante a uma gramática livre de contexto, mas permite que o lado direito das produções possua alguns operadores.

    – seleção

    – opcional

    – repetição 0 ou mais vezes

    – repetição 1 ou mais vezes

  • BNF - Seleção

  • BNF – Seleção - Exemplo

  • BNF – Opcional

  • BNF – Opcional - Exemplo

  • BNF – Opcional - Exemplo

  • Repetição – 0 ou mais vezes

  • Repetição – 0 ou mais vezes - Exemplo

  • Repetição – 1 ou mais vezes

  • Repetição – 1 ou mais vezes - Exemplo

  • BNF novamente

  • Grafo Sintático

  • Grafo Sintático

  • Grafo Sintático

  • Grafo Sintático

  • Exercício

    • Escrever na forma de grafo sintático