Publicado por Luís Gustavo em 03 de Junho de 2009
Escrevendo um interpretador em menos de 15 minutos com Ruby
Clique aqui para adicionar ao del.icio.us | Nenhum comentário - Deixe o seu agora!
No encontro regular do grupo de usuários de Ruby de Londres que aconteceu ontem, James Coglan deu uma palestra falando sobre como implementar um interpretador da linguagem Scheme em 15 minutos. Antes ele gravou um vídeo mostrando a codificação, assim ele poderia se concentrar na narração, então, infelizmente o vídeo (dísponivel no Vimeo em alta resolução) está sem som. Entretanto, está dísponivel um arquivo ZIP com os slides em HTML para ajudar você a acompanhar.
Naturalmente é impossível construir do zero, em apenas 15 minutos (exceto em casos mais triviais), um interpretador qualquer, sem ter um design em mente, mas a demonstração do James é no mínimo interessante. O conhecimento e os exemplos do James foram adquiridos do seu trabalho no Heist, um interpretador Scheme feito em Ruby que tem mais funcionalidades do que a versão demonstrada na apresentação de 15 minutos.
O parsing é feito primeiramente pela Treetop, um analisador de sintaxe / e criador de parser para DSL's, em Ruby. Sem a Treetop a apresentação seria uma demonstração de 3 horas ao invés de 15 minutos, então se você ainda não deu uma olhada na Treetop, por favor, olhe! - ela merece muito mais elogios do que eu tenho visto até agora.



