BT

A Microsoft abriu o código fonte do Common Compiler Infrastructure

por Abel Avram , traduzido por Felipe Vargas Rigo em 28 Abr 2009 |

A Microsoft Research abriu o código fonte dos projetos Common Compiler Infrastructure: Metadata (CCI) e CCI: Código e AST contendo um conjunto de bibliotecas usadas por compiladores e outras ferramentas de programação para manipular metadados nas assemblies do CLR e para depurar arquivos. Os componentes dos metadados do CCI contém o System.Reflection enquanto que o código e o AST  contém o System.CodeDom.

O CCI atualmente não carrega os assembly's que acessa, mas ele lê/grava seus metadados, e ele não abre um assembly de dependencia até que seja necessário. Quando trabalha com arquivos CLR PE, o CCI pode escrever neles qualqquer objeto que implementa as interfaces do modelo de metadados (Microsoft.Cci.MetadataModel).

A API CCI: Metadados contém:

  • um modelo de Metadados
  • um Leitor de CLR PE
  • um Escritor de CLR PE
  • uma classe que ajuda com os metadados (métodos estáticos no Microsoft.Cci.MetadataHelper.dll)
  • implementação de classes para as interfaces de Modelo de Metadados
  • um Modelo Fonte para trabalhar com os arquivos fontes
  • um leitor de PDB
  • um escritor de PDB

Os projetos CCI: Código e AST contêm:

  • um Modelo de Código usado para ler expressões e declarações
  • um Modelo de Código Mutável que representa um modelo de código modificado, pois o Modelo de Código oferece uma visão somente leitura do código
  • um Modelo AST para extrair nós AST. “Os nós AST cuidam de coisas como vinculação de nomes as definições, resolução de sobrecarga e checagem de erros. Os componentes AST são desenhados para suportar compilação incremental, enquanto permite um eficiente projeção no modelo de código imutável.”

O projeto tem suporte pela RiSE, um time da Microsoft Research.

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2013 C4Media Inc.
Política de privacidade
BT