Este documento discute gramáticas livres de contexto (GLC) e a forma de Backus-Naur (BNF) para definir linguagens formais. Em três frases:
1) GLCs e BNFs são maneiras de definir linguagens de programação usando não-terminais, produções e símbolos terminais.
2) A BNF introduz operadores como seleção, opcionalidade e repetição para dar mais flexibilidade na definição de produções.
3) Grafos sintáticos representam as gramáticas visivelmente e mostram os caminhos poss