开发一门新的编程语言

序章

很久很久都不上CSDN了, 以前的账号找不到了, 最近很多人问关于编译器和新语言的方面的东西, 之前一直忙于开发xlang, 现在总算告一段落,现开博客将开发历程以及相关资料记录, 并提供给需要的朋友们参考.

内容可能会比较长, 我会逐一分篇细说, 力求让编译知识零基础的朋友们看完之后也能够具备开发能力.

该系列博文会从零开始详细介绍一门新语言的诞生, 主要定位为编译型, 虽然为编译型,但是为了实现跨平台, 我会设计一套指令集(寄存器式指令系统), 另外还包括虚拟机的设计, 主要开发语言为C/C++,开发平台为Windows, 开发工具VS系列.

预备知识需要掌握一定的 C/C++ 熟练度 (其他语言如java, C#或许更好).

主要结构:

1. 编译器
	- 语言定义
	- 文法设计
	- 词法分析
	- 语义解析
	- 编译(中间码生产)
	- 代码优化与生成
	- 资源与符号
	
2. 虚拟机
	- 虚拟CPU指令定义
	- 线程结构
	- GC(垃圾收集)
	- 标准库的建立
	- 调试
	- jit相关

因为考虑到以上两部分互相依赖, 所以是同步进行的.

需要重点说明的是, 编译原理这门学科现在已相当成熟, 有着非常可靠的基础理论, 并且每一个设计都需要可靠的理论为依据, 若没有无懈可击的理论基础, 那无异于沙上筑塔, 非但学不到任何东西, 而且是极其浪费时间的, 最后做出来的东西也是漏洞百出, 没有实用意义.

补充说明: 本博文旨在记录和描述一门新语言的诞生过程, 以描述理论设计思想为主旨, 另外由于xlang现在还有诸多问题需要改善, 所以暂不会开放完整源代码.

展开阅读全文

没有更多推荐了,返回首页