Símbolos Léxicos: A definição de Uma Linguagem de Programação
Por: jsquashua • 16/3/2016 • Relatório de pesquisa • 1.906 Palavras (8 Páginas) • 302 Visualizações
Símbolos Léxicos
Símbolos Léxicos
A definição de uma linguagem de programação, analogamente à língua portuguesa, exige a definição dos símbolos léxicos, das estruturas sintáticas (regras de escrita) e da semântica da sentença
Símbolos léxicos são aqueles que compõem o alfabeto da linguagem.
Letras maiúsculas (ou caracteres):
A B C D E F G H I J K L M N O P R S T U V W X Y Z
Letras minúsculas (ou caracteres):
a b c d e f g h i j k l m n o p r s t u v w x y z
Os dígitos:
0 1 2 3 4 5 6 7 8 9
Símbolos especiais:
( ) - _ = + | \ # ! ~ $ % & { } [ ] : “ ‘ ; , . ? / < >
Espaço em Branco
Espaço em branco serve para indicar onde iniciam e onde terminam as palavras (tokens). Por exemplo, considerando-se a língua protuguesa, a sentença “eu prefiro andar de ônibus a enfrentar o sol quente a pé” contém 12 palavras. A palavra é considerada correta se estiver inserida em dicionário oficial da língua protuguesa. Analogamente, as palavras válidas em uma dadas linguagem de programação são aqueles que atentem ao padrão de definição da liguagem. Por o compilador gcc implementa o padrão ISO C (ou C99, como é mais conhecido), publicado em 1999 como ISO/IEC 9899:1999.
Na linguagem de programação há dois conjuntos de palavras: 1 – aquelas que tem o sintaxe e significado definidos na sua especificação. Por exemplo: (a) a palavra 'int' está associada à um elemento do conjunto de números inteiros; (b) a palavra 'for' indica que há uma repetição de comandos; (c) '=' significa que o que está do lado esquerdo da expressão passará a ter o valor da expressão calculada do lado direito.
Todos os espaços em branco encontrados entre dois tokens são descartados. Por exemplo, as duas sequencias abaixo
int i; float f;
e
int I;
float f;
são lexicamente equivalentes, pois são compostas pelos mesmos seis tokens:. A saber: 'int', 'I', ';', 'float', 'f' e ';'
Linha Composta com o Símbolo \
O símbolo '\' serve para informar que a cadeia de caracteres foi separada em duas linhas. Analogamente ao espação em branco, estes símbolos são descartados. Veja as sentenças abaixo, por exemplo:
“Borland \
Internactional”
e
“Borland International”
As duas frases são equivalentes.
Comentários (/* */) ( // )
Um comentário é uma sequência de caracteres colocados a partir do símbolo /* ou //. Um comentário iniciado com /* termina na primeira ocorrência do símbolo */. Por outro lado, o símbolo // server para comentar apenas uma linha, não precisando de nenhuma outra ocorrência para delimitar o seu fim.
Exemplo: int I, j ; /* declarando o contador i
e o contador j */
int I, j; // declarando os contadores I e j
Palavras Reservadas
Palavras reservadas são palavras utilizadas para propósitos especiais e não devem ser usadas como identificadores normais. A tabela 5.1 mostra todas as palavras chaves existentes no Borland C++.
Tabela 5.1 Palavras Reservadas
asm | double | long | static |
auto | dynamic_cast | near | static_cast |
break | else | new | struct |
case | enum | operator | switch |
catch | far | pascal | template |
cdecl | float | private | this |
char | for | protected | throw |
class | friend | public | try |
const | goto | register | typeid |
const_cast | huge | reinterpret_cast | unsigned |
continue | if | return | virtual |
default | inline | short | void |
delete | int | signed | volatile |
do | interrupt | sizeof | wchar_t |
while |
Identificadores
Identificadores são nomes dados arbitrariamente, e com qualquer tamanho, às classes, objetos, funções, variáveis e tipos definidos de dados. Os identificadores podem conter as letras a até z ou (A até Z), o caracter underscore “_” , e os dígitos de 0 a 9. Porém, existem duas restrições:
- o primeiro caracter deve ser uma letra ou o caracter underscore
- por default, o compilador Borland reconhece apenas os 32 primeiros caracteres como significante.
Os identificadores são case sensitive. Isto é, Soma, soma e soMa, são identificadores distintos.
Constantes
Constantes são tokens representando números fixos. A linguagem C oferece suporete a quatro categorias de constantes: inteiras, ponto flutuante, caracter (incluindo strings) e enumeração. Por exemplo: 'const int x = 31;'. Isso ilustra que x é um identificador que não altera o seu valor durante toda a execução do programa. O valor de 'x', neste caso, é a constante numérica 31. Portanto, o comando ilustra a atribuição da constante numérica 31 ao idenfificador x e que x não muda de valor durante toda a execução do programa.
...