Olá pessoal, como estamos? Outro dia falei sobre como reconhecer tokens em cadeias de caracteres. Depois, falei como fazer o parsing destes tokens conforme uma gramática LL(1). São conhecimentos fundamentais para quem pretende entender como funciona (ou se escreve) um compilador. No post de hoje utilizo os conceitos já apresentados para adicionar suporte a “compilação”… [Read more…]
Modificando ou “traduzindo” DLR Expressions usando Visitor pattern
Olá pessoal, como estamos? Há alguns dias mostrei alguns conceitos relacionados à utilização de DLR Expressions. Na ocasião, apresentei técnicas relacionadas à criação dessas expressions e alternativas para “compilação e execução”. Naquele mesmo post, destaquei que DLR Expression é uma estrutura de dados capaz de representar um programa inteiro. Como disse, trata-se de uma linguagem… [Read more…]
FluentIL – Parte 6 – Aplicando Strategy pattern
Olá pessoal, como estamos? Esse é o terceiro dia consecutivo que escrevo nessa série. Estou muito contente com os avanços obtidos até aqui nessa DSL. No post de hoje, escrevo outro código trivial em C# e, partindo do IL gerado pelo compilador, faço adaptações na DSL para melhorar a fluência. Nesse processo, identifico uma oportunidade… [Read more…]
Olá pessoal, tudo certo? Este é mais um post da série que acompanha o desenvolvimento de uma DSL (antes chamada de “toolkit”) que facilita o desenvolvimento de código para emitting. Embora essa série trate de aspectos avançados de emitting e Intermediate Language, também percebo como uma excelente oportunidade de exercício para construção de DSLs. No… [Read more…]
FluentIL – Parte 2 – If..Else
Olá pessoal, tudo certo? No post anterior iniciamos a construção de um projeto open-source que objetiva facilitar escrita de código para Emitting. O projeto se constitu, basicamente, de uma DSL que permite a escrita de código menos verboso e em nível mais alto (se comparado com a biblioteca de Emitting do .NET Framework). Hoje, continuamos… [Read more…]
junho 1, 2011
0