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

CK 017 A - Segundo Trabalho - 2007.1


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:

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:

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:

  1. Analisador Léxico
  2. Analisador Sintático

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:


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.


Retorno à página do curso.