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
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 XD
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/