Browsing All posts tagged under »FluentIL«

FluentIL – Parte 10 – Suporte para propriedades (não-automáticas)

setembro 22, 2011

2

Olá pessoal, tudo certo? No último post dessa série, mostrei minha implementação para emitting de propriedades automáticas. No post de hoje, mostro como realizei a implementação para suportar propriedades “read-only” e com código no getter e setter. Como de costume, lembre-se que todo o código-fonte está disponível no github. Testes para propriedades “read-only” Como de… [Read more…]

FluentIL – Parte 9 – Suporte para propriedades automáticas

setembro 20, 2011

1

Olá pessoal, tudo certo? Depois de três meses, retomo esse projeto (consulte os posts anteriores para “pegar” o projeto). Para quem está chegando agora, FluentIL é uma espécie de helper para programas que necessitam fazer emitting. Naturalmente, para conseguir usar Emitting, você precisa saber Intermediate Language (há uma série extensa sobre esse assunto aqui no… [Read more…]

FluentIL – Parte 8 – Compilando expressões

junho 1, 2011

0

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…]

Proxies dinâmicos usando Emitting (avançado) – Parte 3/3 [final]

maio 15, 2011

0

Olá pessoal, como estamos? Este é o terceiro e último post de uma (mini) série mostrando como criar proxies dinâmicos com emitting. No primeiro post, mostrei como criar objetos dinamicamente que repassam chamadas de métodos para implementações concretas (proxies). No segundo post, mostrei como introduzir um “monitor” que seria “avisado” toda vez que um método… [Read more…]

Proxies dinâmicos usando Emitting (avançado) – Parte 2/3

maio 14, 2011

1

Olá pessoal, como estamos?! No post anterior, iniciei a apresentar as etapas que percorri para construção de uma classe utilitária para geração, on-the-fly, de proxies. Trata-se de mais um exemplo prático (e útil) de emitting. No lugar de apresentar definições técnicas e explanações sobre tecnologia, apresento como a classe foi desenvolvida. Assim, compartilho, além da… [Read more…]

Proxies dinâmicos usando Emitting (avançado) – Parte 1/3

maio 14, 2011

2

Olá pessoal, como estamos?! No post de hoje, começo a apresentar meu roteiro de desenvolvimento para uma classe utilitária para geração, on-the-fly, de proxies. Trata-se de mais um exemplo prático de emitting. Este é um post com conteúdo avançado. Por isso, não apresento fundamentação para o Proxy Pattern, Emitting ou Intermediate Language. Para facilitar minha… [Read more…]

FluentIL – Parte 7 – Expressions, atributos, Log, whatever!

maio 13, 2011

0

Olá pessoal, como estamos? Há alguns dias não escrevia nada aqui no blog. Quero começar a falar sobre compiladores mas não estou conseguindo acertar o post inicial. Hoje vou relatar alguns avanços realizados na FluentIL. Se você não sabe do que se trata, consulte os posts anteriores dessa série. Lembre-se, todo código-fonte está disponível em… [Read more…]

FluentIL – Parte 6 – Aplicando Strategy pattern

maio 4, 2011

1

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…]

FluentIL – Parte 5 – DSL Improvements (Again!)

maio 2, 2011

0

Olá pessoal, como estamos? Se há algo que eu aprendi nesses anos desenvolvendo soluções é: “seja o seu primeiro cliente”. Se está escrevendo uma API, consuma essa API. Somente dessa forma poderá ter clareza do quanto fez um bom trabalho, ou quanto precisa melhorar. No post de hoje, aplico esse princípio a FluentIL. Na prática,… [Read more…]

FluentIL – Parte 4 – Suporte para criação de tipos

maio 2, 2011

2

Olá pessoal, como estamos? Já tem algum tempo que não escrevia nada nessa série. Então, hoje voltamos a ativa. No post de hoje apresento as alterações que realizei em nosso projeto para suportar a criação de tipos dinamicamente. Por favor, busque o código fonte atualizado em https://github.com/elemarjr/FluentIL. Suportando a criação de tipos (sem qualquer implementação)… [Read more…]

FluentIL – Parte 3 – DSL Improvements

fevereiro 19, 2011

0

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…]

Exemplo prático (e útil) de Emitting e IL

fevereiro 10, 2011

8

Olá pessoal, tudo certo? Aplicação de filtros em imagens (com alto desempenho e flexibilidade)! Esse é o exemplo prático que apresento hoje para Emitting e IL. Se você acompanha meu blog há algum tempo e não consegue ver utilidadade prática para Emitting e IL, eis um exemplo a considerar. Se você já faz emitting, perceberá… [Read more…]

FluentIL – Parte 2 – If..Else

fevereiro 9, 2011

11

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…]

FluentIL – Projeto Open-source para facilitar Emitting (Parte 1)

fevereiro 7, 2011

2

Olá pessoa, tudo certo? Há algum tempo venho tratando de IL aqui no blog. Acredito no potencial da tecnologia e percebo grande utilidade, principalmente quando combinada com Emitting. A utilização de IL e Emitting permite gerar código on-the-fly com performance superior. Ao meu ver, há dois obstáculos comuns para quem está começando a utilizar IL… [Read more…]

Follow