segunda-feira, 11 de junho de 2007

programando com POG+PV no Bairro Alto

Caros amigos,

Hoje, lamentavelmente, furei minha única, singela e verdadeira promessa de quando me resolvi a vir para a Europa: a de não varar nenhuma noite programando. Pois bem: já são 7 da manhã, os passarinhos cantam lá fora, e mesmo que seja Bairro Alto onde nosso colega e anfitrião TP mora (olha como continuo misturando trabalho com diversão), estamos cá nos fudendo.

Brinquei de que deveríamos utilizar POG no código, mas o Hugo levou a sério! Resultado: estou diante de um código de yacc que não sei como mudar sem fazer com que pare de funcionar, mas ele me dá nojo! Compartilhá-lo-ei abaixo:

if_clause : IF expr THEN elseif FI
{ $$ = new IfNode(LINE, $2, $4); }
| IF expr THEN elseif ELSE instructions FI
{ $$ = new IfElseNode(LINE, $2, $4, $6); }
;

elseif : instructions
{ $$ = $1 }
| instructions elseq
{ $$ = new cdk::node::Sequence(LINE, $1, $2); }
;

elseq : ELIF expr THEN instructions
{ $$ = new ElifNode(LINE, $2, $4); }
| elseq ELIF expr THEN instructions
{ $$ = new cdk::nodes::Sequence(LINE, new ElifNode(LINE, $3, $5), $1); }
;


Torçam para que eu consiga deixá-lo minimamente decente antes da entrega (que é meio-dia)!

11 comentários:

Hugo Tavares disse...

Diz que não és o único elemento do grupo... portanto, há bela moda tuga: desenmerda-te!!! LOL!

smurf disse...

momento gTalk sobre o post...

Alan: devo confessar: entendi nada do código!
me: claro q não - é POG

smurf disse...

DEU!!! Cortei o elseif que não fazia o "else if"!!!



if_clause : IF expr THEN instructions elseq FI
{ $$ = new IfNode(LINE, $2, $4, $5); }
| IF expr THEN instructions elseq ELSE instructions FI
{ $$ = new IfElseNode(LINE, $2, $4, $5, $7); }
;

elseq : ELIF expr THEN instructions
{ $$ = new ElifNode(LINE, $2, $4); }
| elseq ELIF expr THEN instructions
{ $$ = new cdk::nodes::Sequence(LINE, new ElifNode(LINE, $3, $5), $1); }
;

smurf disse...

merda! tá errado!

Hugo Tavares disse...
Este comentário foi removido pelo autor.
Hugo Tavares disse...

Steve Jobs diz: O meu sistema operativo é melhor que o teu... é mais bonito e faz tudo melhor!
Bill Gates: As pessoas não se vão interessar por isso... querem é comprar um computador qualquer em que podem usar o meu sistema operativo!

Basicamente... pode ser feio, mas faz tudo o que é pedido!

E SEM CONFLITOS!!! MUAHAHAH!

smurf disse...

TRUCOOOOOOOOOOOOOOOO


if_clause : IF expr THEN instructions elseq FI
{ $$ = new IfNode(LINE, $2, $4, $5); }
;

elseq : ELSE instructions
{ $$ = new IfElseNode(LINE, 2); }
| ELIF expr THEN instructions elseq
{ $$ = new cdk::nodes::Sequence(LINE, new ElifNode(LINE, $2, $4), $5); }
;

Hugo Tavares disse...

ELIF... qualquer coisa...
falta aí uma data de ELIFs :P

smurf disse...

droga, ELIF obrigatório!
pensa pensa pensa
...

Hugo Tavares disse...

zzzzzzzzzzzzzz

smurf disse...

uma produção vazia em elseq e finito!!!