A ser entregue no dia 04/maio
N O V O

Cortesia de Hélber Wagner
A linguagem CLODOBOL é uma linguagem de programação desenvolvida pelos alunos da turma 2007 do Curso de Computação da UFC. Foi concebida para expor os conceitos mais fundamentais da compilação de linguagens de programação, mantendo sua ligação com aspectos do Mundo Fashion. A simplicidade reina em todos os aspectos. A sintaxe é bastante simples, tendo somente três estruturas de contrôle, terminadas por um ponto:
$var eh valor.
fim.
se expr daí comando mentira comando fim.
sempreque expr daí comando fim.
A simplicidade se faz sentir também pelos tipos de dados.
Há somente um: os racionais, representador por uma
fração, como 3/5, ou por um inteiro, como -5. É possível
também o uso de vetores unidimensionais de racionais.
A declaração de
variáveis é, em conseqüência, muito simples.
Basta enumerá-las separando-as por vírgulas. A declaração é precedida
por moda.
Exemplo:
moda
x, y, z, v[5], u[20].
Há ainda os operadores aritméticos
(mais, menos, vezes,
e divide) para variáveis escalares bem como os
operadores aritméticos
(demais, demenos, devezes
e dedivide) para vetores.
Os operadores relacionais são mai,
maq, meq, mei,
igu e dif.
Só isso?! Tem mais...
Com relação a entrada/saída, os comandos vem(variável) e
vai(expressão aritmética) podem ser usados com restrições. Somente uma expressão
pode ser impressa e somente uma variável escalar pode ser lida por vez.
Veja um exemplo de código CLODOBOL
como ilustração.
O comando nulo não precisa ser implementado!! Muito menos protótipos de funções.
Por fim, é possivel fazer um comentário com babado texto.
ou com fofoca texto pf, que pode
extender-se por muitas linhas.
Objetivo
O objetivo deste trabalho é utilizar o gerador de "parsers" bison, a versão mais recente de yacc, para fazer a análise de um programa escrito em CLODOBOL. Neste trabalho, basta m ser programadas as seguintes fases:
Exemplo: Para ajudá-lo/a, aqui está um pequeno programa em CLODOBOL.
Syntax highlight: Bruno Góis gentilmente construiu um
arquivo de realce de sintaxe para Clodobol no Kate chamado
clodobol.xml.
Para instalá-lo, basta colocá-lo no diretório
/usr/share/apps/katepart/syntax.
Para tornar o trabalho mais desafiador e ganhar uns pontinhos a mais, acrescente à sintaxe dessa possante linguagem os seguintes elementos:
and, or e not,
para permitir a construção de expressões lógicas;
modelos N = 100, PI = 355/113
/*...*/ e //...;
OBSERVAÇÕES
Um esqueleto de um programa bison pode ajudá-lo na tarefa. Um programa mais complexo está também disponível.
Não esqueça de comentar seu programa fonte!
Use o flex para fazer a análise léxica do programa CLODOBOL.
Seu programa deverá ser capaz de indicar alguns erros prováveis no arquivo de entrada como falta de ponto, de identificador &c. Deve haver pelo menos DEZ chamadas à função yyerror!
Teste seu programa de sorte que cada produção da gramática de CLODOBOL seja executada. Em particular, procure compilar exemplos de programa CLODOBOL de sua autoria.
Trabalhos atrasados serão penalizados com um ponto por cada dia
de atraso. Nenhum trabalho será mais aceito após a
devolução dos mesmos pelo professor.
