Linguagem de programação
Como já comentado (seção 1.2) os componentes gerais de uma linguagem são a sua sintaxe e a sua semântica. A sintaxe de uma linguagem influencia na maneira como os programas são escritos pelo programador, lidos por outros programadores e reconhecidos pelo computador. A semântica de uma linguagem determina como os programas são resolvidos pelos programadores, entendidos por outros programadores e interpretados pelo computador [WAT 90].
1.5.1 Sintaxe
Como já comentado, a sintaxe consiste num conjunto de regras que definem a forma da linguagem , isto é, como as sentenças podem ser formadas como seqüências de componentes básicos, chamados palavras. Usando estas regras, pode-se identificar quando uma sentença está correta ou não. A sintaxe não revela nada sobre o conteúdo (ou significado) da sentença. Por exemplo, na linguagem C, palavras chave (tais como while, do, if e else), identificadores, números, operadores, etc. são palavras da linguagem. A sintaxe desta linguagem também diz como combinar tais palavras para construir comandos e programas corretamente. Entretanto, palavras não são elementares, elas são construídas com caracteres que pertencem a um alfabeto. Assim, a sintaxe de uma linguagem é definida por dois conjuntos de regras: regras léxicas e regras sintáticas. As regras léxicas especificam o conjunto de caracteres que constituem o alfabeto da linguagem e a maneira como os caracteres podem ser combinados para formar palavras válidas. Por exemplo, no Pascal letras maiúsculas e minúsculas são idênticas, mas em C e Ada elas são diferenciadas. Desta forma, de acordo com as regras léxicas, “Memória” e “memória” referem-se à mesma variável em Pascal, mas a variáveis diferentes em C e Ada. As regras léxicas também identificam que “” (ou ≠) é um operador válido em Pascal mas não em C, onde o mesmo operador é representado por “!=”. Ada difere dos dois, uma vez que “não igual” é representado por “/=:”. As regras sintáticas,