dojo@Centro 06/02/2013 – Construindo um parser com os “Tolkiens”

Olá, pessoal.

Tudo bem com vocês?

No dojo do dia 6 de fevereiro de 2013, foi o dojo de carnaval e para esta data, não houve problema temático, mas sim a continuação de um problema que envolveu bastante o pessoal do dojo. Para ajudar a explicar o problema, abaixo um diagrama bastante simplificado, representando as características de um compilador

partes_compilador

A parte verde do diagrama acima foi resolvido no dojo de “Tolkien” e partes de compiladores e neste dojo o objetivo foi continuar construindo o compilador através do parser (ou a parte lilás do diagrama acima).

De forma simplificada, um compilador é um programa que transforma um conjunto de instruções em outro conjunto de instruções. No nosso caso, estamos construindo um compilador que entende expressões numéricas. A parte verde – Scanner – recebe as instruções iniciais e separa essas instruções e em blocos  chamados de  tokens e a parte lilás verifica se os blocos fazem sentido para a linguagem que o compilador entende,  verificando se os tolkens formam instruções da linguagem que o compilador é responsável e testando se os resultados obtidos com essas instruções são pertinentes à linguagem.

O scanner recebia instruções da seguinte forma:

4 + 3 * 2

E retornava os tokens:

[('N', '4'),('+', '+'),('N', '2'),('*', '*'),('N', '3')]

Esse retorno é a entrada do parser. A forma como ele deveria entender que a expressão acima é :

('+', 4, ('*', 3, 2))

A linha acima é conhecida como uma árvore abstrata de sintaxe.

Nesta solução, só conseguimos avaliar os operadores de soma, subtração e multiplicação. Caso tenha alguma dificuldade em entender como chegamos neste ponto, por favor, veja os commits e principalmente este commit e os testes são EXTREMAMENTE úteis para entender o desenvolvimento do problema.

Este dojo foi bastante instrutivo e quem não foi perdeu a folia de nerd XD. E quem brincou foi:

  • Renan Cardoso
  • Israel Teixeira
  • Eduardo Stalinho
  • Juan Lopes
  • Flávio Amieiro
  • Carlos Cunha
  • Jacqueline Abreu
  • Orlando Seixas
  • Otávio Cardoso

E as mascaras de Colombina, digo carinhas felizes foram E o pessoal usou suas máscaras de Guy Fawkes e não foi nada anonimo, infelizmente coloquei os papeis com a retrospectiva na minha carteira e tenho os papeis de posts antigos, mas não tenho os desta data. PEÇO MUITAS DESCULPAS POR ESTE DESCUIDO e me comprometo a cuidar melhor do feedback de todos.

 

[UPDATE] Encontrei a retrospectiva, estava junto com a minha pasta de documentos ( O_o).

E as mascaras de Colombina, digo carinhas felizes foram:

  • Bolo (Panificação Bel[ée]m) +++
  • Wallace, novato e participando
  • Caminho para chegar até a solução
  • Discussões +
  • Cissa explicando como funciona o dojo para os novos +
  • Trabalho para a definição do problema
  • Diferença entre as implementações
  • O problema +++
  • Solução diferente (esta pessoa já tinha implementado antes um parser, mas o código feito durante o dojo agradou muito esta pessoa)
  • Os novatos trouxeram fantasia para o dojo 😀
  • A Cissa vir ao dojo mesmo sem o Thiago Belem.
  • Pessoas novas +++
  • Chegar cedo
  • Pessoal fantasiado +
  • Baby steps
  • Python
  • Pessoas
  • Os testes passando
  • Explicação do slice
  • Pessoas interessadas
  • Volta de pessoas antigas que estavam sumidas

E o pessoal usou suas máscaras de Guy Fawkes e não foi nada anonimo:

  • Não participar do dojo inteiro
  • Pessoas sem pilotar
  • Formulação do problema
  • A linguagem atrapalhou no final do problema
  • Não terminar de resolver o problema
  • Muita gente sem fantasia
  • Muito falatório
  • Discussões boas, mas muitas fizeram com que o grupo ficasse meio perdido
  • O Thiago Belem faltou >_<
  • Um problema como o do Parser pode assustar os novatos
  • Não usamos o problema que a Cissa tinha sugerido antes
  • Representação
  • Como o quadro é pequeno, nem todo mundo consegue ver o quadro todo e acompanhar a explicação =/
  • Falamos no vermelho +
  • Não trouxe nenhum possível problema temático (Carnaval)
  • Demora para começar
  • Levei 2 tiros …de NERF 😄

E para quem quiser estar conosco no dojo@Centro é só vir e entrar na  Íparos – Av Treze de Maio, 13 – 6° andar – Cinelândia, a partir de 18:30. TODOS SÃO BEM VINDOS e qualquer dúvida, sugestão ou qualquer outra coisa, nós vemos os comentários e temos um grupo (grupo do gmail) – fiquem completamente a vontade para participar do dojo, da lista (vulgo grupo) e tudo mais \o/.

Até a próxima quarta 😀 o/

Anúncios

Os comentários estão desativados.

%d blogueiros gostam disto: