Cap2 Gramatica

2627 palavras 11 páginas
Gramáticas

a. Introdução

Um programa escrito numa linguagem de programação qualquer deve ser compilado antes de ser executado pelo computador. Nesse processo de compilação são executadas duas fases distintas, uma de verificação do código e outra de geração do código objeto. Mas como o compilador consegue identificar os erros gramaticais de um comando de uma linguagem de programação? Como será que o compilador é construído para possibilitar que um simples erro no código, como um ponto e vírgula esquecido, seja identificado? Vejamos um exemplo disso:
Imagine que o seguinte comando seja encontrado num programa fonte escrito na Linguagem C: scanf (“%f”, &numero);
O comando acima está sintaticamente correto, ou seja, foi escrito da forma prevista no manual da linguagem C. Observe que não está se mencionando aqui se o comando está correto do ponto de vista semântico. Erros do tipo variável não declarada podem ocorrer, pois este tipo de análise será realizado pelo módulo posterior do compilador.
Agora se o programador tivesse escrito esse mesmo comando da seguinte forma: (“%f”) &numero, scanf ;
Observe que as palavras escritas estão corretas, porém a ordem em que foram colocadas dentro do comando o torna inválido. Então, como definir uma regra, ou um conjunto de regras, para identificar se o comando escrito pelo programador está sintaticamente correto? Veja que o programador pode escrever diversas versões válidas do comando scanf. Como validar tudo isso? A resposta é simples: por meio da gramática da linguagem C que possui regras específicas para cada comando da linguagem.
Numa análise simplificada, vejamos como poderia ser descrita a gramática do comando scanf: primeiro vamos identificar os termos que sempre aparecem num comando scanf e aqueles que são variáveis, ou seja, podem ser alterados pelo programador.

scanf (“%f”, &numero); Ao analisar o comando acima, pode-se perceber que definir uma regra ou um conjunto de regras para especificar a forma correta

Relacionados

  • 2012 03 06 21 51 55 teoria sociologica contemporanea ufpe 05
    1995 palavras | 8 páginas
  • Métodos
    6296 palavras | 26 páginas
  • Ambiente para Especificação de Aplicações Multimídia com Suporte de Qualidade de Serviço
    22974 palavras | 92 páginas
  • trabalho
    53276 palavras | 214 páginas