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.

Avalie esse artigo

Relevância
Estilo/Redação

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 mensagens dessa discussão
Comentários da comunidade

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

Receber mensagens dessa discussão

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

Receber mensagens dessa discussão

Dê sua opinião
Feedback geral
Bugs
Publicidade
Editorial
Marketing
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2016 C4Media Inc.
Política de privacidade
BT

We notice you’re using an ad blocker

We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.