概述
创造一门编程语言,只需要一些C语言基础,一些正则表达式,加上不断思索的大脑就可以做到。
设计的语言具备四则运算、变量、条件分支、循环、函数定义、垃圾回收等功能,最终版本则可以支持面向对象、异常处理等高级机制。
制作一门新的语言,正是重复发明轮子,这是深刻理解编程语言的最佳途径(缺点是要很多时间)。
解释器会将源码或分析树解析为字节码这种中间形态,并且一边解析一边运行,但是解释器并不会将源码翻译为机器码。Java或.NET都具备在运行的同时将字节码转换为机器码的功能,这叫作JIT(Just-In-Time)编译技术,而这部分技术并不属于解释器。
环境准备
Linux环境
- C编译器(gcc)
- yacc(bison)
- lex(flex)
Windows环境
- C编译器(MinGW)
- Windows上模拟UNIX环境的软件(cygwin或MSYS)
- yacc(bison)
- lex(flex)
参考《自制编程语言》