BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias A Microsoft abriu o código fonte do Common Compiler Infrastructure

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

Favoritos

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

Conteúdo educacional

BT