微软CCI - 资源,用于编写编译器引用 [英] Microsoft CCI - resources, references for writing compilers

查看:169
本文介绍了微软CCI - 资源,用于编写编译器引用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

前一段时间,我工作的编译器,我使用的System.Reflection 生成从我的AST代码(IL)。现在,我已经为我愿意去努力(这将是另外一个宠物项目,没有什么会在产品代码现在可以使用,至少不会)另一个编译器的想法。

Some time ago, I was working on compiler, I've used System.Reflection to generate code (IL) from my AST. Now, I've an idea for another compiler that I'd like to work on (it will be another pet project, nothing that will be used in production code, at least, not now).

如你所知,宠物项目有超过生产代码一大好处:你可以实验和失败。所以,我决定尝试使用微软的CCI 写的编译器。

As you know, pet projects have one big advantage over production code: you can experiment and fail. So, I've decided to try to write compiler using Microsoft's CCI.

唯一的好参考,我发现是基本的语言的样本编译器(即CCI CodePlex上的一部分),但是,我更愿意有一些其他资源,更喜欢的教程,书籍,文章,在那里我能得到比学习的代码(这并不总是学习的东西是最好的方法,当你看到一个其他的解决方案的更多信息,但你不知道你有什么样的选择或为什么这样的代码工作)。

The only good reference I've found is a sample compiler of basic language (that is a part of CCI on codeplex), but, I'd prefer to have some other resources, more like tutorials, books, articles, where I could get more information other than studying code (which isn't always the best method to learn something, as you see a solution, but you don't know what alternatives you have, or why such code works).

所以:你有什么资源(教程,书籍)关于CCI书面编译器环境和处理AST

So: Do you have any resources (tutorials, books) about CCI, in context of writing compilers and handling AST?

推荐答案

有关的开始,我会扔几个环节,对于那些,谁不熟悉CCI:

For the start, I'll throw few links, for those, who aren't familiar with CCI:


  1. 生成和编译抽象语法树CCI-AST 项目。

  2. CCI-元项目用于读取/写入CLR程序集的元数据,也支持读/写PDB。

  3. CCI-样品项目包含小Basic编译器,我指在第一后。

  4. Lang.Net 介绍关于CCI,有点为什么和怎么样?

  5. VCC - 并行C编译器,在CCI的顶部。我还没有挖到过,但我希望它是另一个大项目,没有任何解释,不是说好从一开始学习构建编译器(这旁边,它主要写在F#)。

  1. CCI-AST project for generating and compiling abstract syntax trees.
  2. CCI-Metadata project for reading / writing meta data of clr assemblies, supports also reading / writing pdb.
  3. CCI-Samples project contains small basic compiler, which I was referring to in 1st post.
  4. Lang.Net presentation about CCI, a little "why and how?"
  5. VCC - concurrent c compiler, on top of CCI. I haven't dug into it yet, but I expect it to be another big project, without any explanations, not that good for learning constructing compilers from the beginning (beside this, it's mainly written in F#).

这篇关于微软CCI - 资源,用于编写编译器引用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆