随笔-65  评论-383  文章-0  trackbacks-0
  2008年4月22日
     摘要: 花了两天的时间终于完成了Vczh Lazy Script的语法分析工作。语法分析是编译的第一步,旨在把输入的字符串(代码)分析称跟代码结构一致的语法树,以便后续工作。

藉着去年开发的Syngram工具包,这两天过得还算轻松,仅仅对语言做了一份配置,不过这份配置也花掉了1200多行代码。语法分析其余的部分是数据结构。目前的数据结构仅仅用于再现语言的结构,而没有附加任何的数据。接下来的工作是检查所有的identifier,看看有没有哪些identifier是使用错误的。一般来说都是在左值使用函数、类构造标签参数不全、转移运算符指向的函数并没有声明成函数等等比较基本的东西。但是后续的工作就相当地麻烦了。

作为一门lazy+pure的函数范式程序语言,我模仿了Haskell的大部分语法,加上自己的一点点修改(因为Haskell的语法实在是太诡异了),但是主要功能是没有变化的。等上面所说的identifier完成以后,我就要开始写Lazy的类型推导程序了。类型推导程序用于计算出代码中省略的类型声明,相当于把整份代码转换成类型方程然后求解  阅读全文
posted @ 2008-04-22 20:03 陈梓瀚(vczh) 阅读(1428) | 评论 (4)编辑 收藏