CONCEITOS BÁSICOS DE LINGUAGENS FORMAIS
A Teoria das Linguagens Formais teve seu desenvolvimento na decada de 1950, com o objetivo de desenvolver teorias relacionadas com a linguagens naturais, entretanto logo se percebeu que essa teria também era adequada para o estudo de linguagens artificiais, desde então o estudo de linguagens formais tem sido empregado para o estudos de linguagens de programação.
2. Sintaxe e semântica
Antes de mais nada definiremos o sentido dessas palavras:
Sintaxe: É o estudo das relações entre as palavras ou vocábulos de uma determinada linguagem, seu enfoque é na estrutura da linguagem.
Semântica: É o estudo do sentido entre os vocábulos de determinada linguagem, estudo esse que determina o que se quer dizer. Historicamente, no estudo do entendimento de linguagens de programação, o problema sintático foi reconhecido antes do problema semântico, como consequência disso foi dada uma grande enfase a sintaxe, ao ponto de levar a ideia de que as questões de linguagens de programação eram apenas de sintaxe. Aguardou-se um certo tempo para que os teóricos em linguagens reconhecessem a necessidade de se abordar a semântica.
Uma linguagem de programação pode ser vista de duas formas :
como uma entidade livre, ou seja , sem qualquer significado associado.
Como uma entidade juntamente com uma interpretação do seu significado.
A sintaxe trata das propriedades livres da linguagens como, por exemplo, a verificação gramatical de programas. A semântica objetiva dar uma interpretação para a linguagem. A sintaxe manila os símbolos sem considerar o seu significado. Sintaticamente falando não existe um programa errado, nesse caso simplesmente não é um programa, por outro lado um programa sintaticamente correto não é aquilo que o programador esperava. Nesse contexto a consideração de certo e errado volta-se para se o programa em questão modela adequadamente um problema ou não. Os limites entre sintaxe e semântica nem sempre são claros, contudo