Linguagem formal

Entende-se por linguagem formal estudo de modelos matemáticos que possibilitam a especificação e o reconhecimento de linguagens (no sentido amplo da palavra), suas classificações, estruturas, propriedades, características e inter-relacionamentos .

A importância dessa teoria na ciência da computação é dupla: ela tanto apoia outros aspectos teóricos da ciência da computação (decidibilidade, computabilidade, complexidade computacional, por exemplo), como fundamenta diversas aplicações computacionais tais como processamento de linguagens, reconhecimento de padrões, modelagem de sistemas.

Para definir o que é a teoria das linguagens formais é preciso definir o que é linguagem e o que é linguagem formal. Inicialmente, de maneira bastante informal, podemos definir uma linguagem como sendo uma forma de comunicação. Elaborando um pouco mais esta definição, podemos definir uma linguagem como sendo "um conjunto de elementos (símbolos) e um conjunto de métodos (regras) para combinar estes elementos, usado e entendido por uma determinada comunidade". São exemplos as "linguagens naturais" (ou idiomas), "linguagens de programação" e os "protocolos de comunicação".

Assim, podemos dizer que "linguagens formais" são mecanismos formais para representação e especificação de linguagens, baseados na chamada "teoria da computação". As representações podem ser feitas por reconhecedores e geradores. Os reconhecedores são dispositivos formais que servem para verificar se uma frase pertence ou não à determinada linguagem. São os autômatos: autômatos finitos, autômatos de pilha e máquina de Turing. Os sistemas geradores são dispositivos formais que permitem a geração sistemática de todas as frases de uma linguagem. Os principais sistemas geradores disponíveis são as gramáticas, onde se destacam as gramáticas de Chomsky. Então, linguagens formais podem ser representadas de maneira finita e precisa através de sistemas com sustentação matemática.

História da linguagem não formal

Acredita-se que a primeira linguagem formal seja a utilizada por Gottlob Frege em seu Begriffsschrift (1879), que literalmente significa "escrita conceito", e que Frege descreveu como uma "linguagem formal do pensamento puro".[1]

O sistema Semi-Thue de Axel Thue, que pode ser usado para reescrever cadeias, foi influente em gramáticas formais .