Teste

Páginas: 5 (1094 palavras) Publicado: 19 de outubro de 2014
Descrição da linguagem para a turma COMPILADORES.2014.2
Esta linguagem não é case sensitive tanto para palavras reservadas quanto para variáveis. Logo, “for”,
“FOR” e “For” representam a mesma palavra reservada, bem como “abcd”, “ABCD” e “aBCd”
representam a mesma variável.
Além disso, o compilador só deve aceitar arquivos contendo caracteres com valores na tabela ASCII
entre 9 e 10 (tab equebra de linha) ou entre 32 e 126 (caracteres imprimíveis da tabela ASCII).
Portanto, caracteres fora desta escala não são considerados nesta especificação.

1. Palavras e símbolos reservados:
DECLARE AS NUMBER LETTER PUT IN IF THEN ELSE FOREACH DO FOR FROM TO
RESIZE READ PRINT , . [ ] + - * / % ( ) < > = =
1.1. Separadores
Separadores são caracteres que indicam o fim de uma possívelsequência de caracteres que formam um
único elemento. Além dos tradicionais espaço em branco, tab e quebra de linha, existem vários outros
possíveis separadores.
São considerados separadores os seguintes caracteres que ocorrem na linguagem: , . [ ] + - * / % ( ) = <
>'“
OBS: O caracter '' ou '='. O caracter '>' não é um separador
quando seguido de '='. Aspa simples e aspas duplas são um tipoespecial de separadores. Elas apenas
separam o que vem antes ou depois de uma constante do tipo caractere (ver item 2.3) ou do tipo string
(ver item 2.4), mas não são separadas da constante em si.
Além disso, todo caractere que não faz parte de nenhuma palavra ou símbolo reservado também é
considerado um separador.

2. Constantes e identificadores
2.1. Identificador:
1 letra [a-zA-Z] seguidapor 1 ou mais letras ou números [0-9].
Ex:
a
abCD
x0
a0B1c7
2.2. Constante numérica:
1 ou mais números [0-9] até um limite de 10 digitos.

Ex:
0123
1234567890
2.3. Constante do tipo caractere:
1 caractere imprimível entre aspas simples. São exceções o tab, a quebra de linha, a contra-barra, a aspa
simples e as aspas duplas, que são respectivamente representados por '\t', '\n', '\\','\'' e '\”'. Não podem
existir caracteres com os códigos 9 ou 10 entre aspas simples (os mesmos são representados por \t e \n,
respectivamente). Se um destes caracteres for encontrado (ou o final de arquivo for alcançado) antes da
aspa de fechamento, deve-se considerar que este caracter é o fechamento.
Ex:
'a'
'A'
'-'
'\\'
'\n'
'\''
2.4. Constante do tipo string:
Sequência de até 256caracteres imprimíveis entre aspas duplas. As mesmas exceções apresentadas no
item 2.3 são válidas aqui, e contam como um único caractere. Novamente, não podem existir caracteres
com os códigos 9 ou 10 entre aspas duplas. Se um destes caracteres for encontrado (ou o final de
arquivo for alcançado) antes das aspas de fechamento, deve-se considerar que este caracter é o
fechamento.
Ex:
“abc\n”“A saida esperada eh:\t”
“\\o/”

3. Comandos
Um programa é composto por qualquer quantidade dos comandos abaixo, em qualquer ordem.
3.1. Declarações:
As declarações devem ser feitas da seguinte forma:
DECLARE $lista_ids$ AS $tipo$ .
$tipo$ pode receber os valores NUMBER (inteiro de 32 bits) e LETTER (inteiro de 8 bits). $lista_ids$
é uma lista com um ou mais identificadores separados porvírgula, sendo que cada identificador pode
ser seguido de abre e fecha colchetes para indicar um vetor.
Ex:

DECLARE X AS LETTER.
DECLARE y, w,k as number
.
declare vetor [ ] , lista[]as Letter.DECLare oQUE[] as NuMbEr.
3.2. Alocação de vetores
As alocações devem ser feitas da seguinte forma:
RESIZE $id$ TO $exp_arit$ .
$id$ é o identificador do vetor a ser alocado, e $expr_arit$ é umaexpressão aritmética que definirá o
tamanho do vetor.
Ex:
RESIZE vetor TO a+b.
RESIZE nome TO MAXTAM.
3.3. Atribuição
Segue o padrão para atribuição:
PUT $expr_arit$ IN $id$ .
$id$ é o identificador da variável de destino, e $expr_arit$ é uma expressão aritmética que definirá o
valor da variável.
Ainda há o seguinte caso especial:
PUT $string$ IN $id$ .
$id$ é o identificador do...
Ler documento completo

Por favor, assinar para o acesso.

Estes textos também podem ser interessantes

  • Teste teste teste teste
  • teste teste teste teste
  • TESTE TESTE
  • teste de teste
  • Teste do teste
  • Teste teste
  • teste teste
  • Teste teste

Seja um membro do Trabalhos Feitos

CADASTRE-SE AGORA!