您的位置:首页 > 其它

动态语言和虚拟机实现, 暨介绍一下我设计的一个新型的动态语言(3)

2008-01-09 21:07 363 查看
接下来的任务, 就是逐步考虑语法的细节问题. 前台后台需要同时对照, 权衡利弊, 得到一个比较好的方案.
语言名称:snail (蜗牛, 取意缓慢, 我想我的进度会比较慢, 权当snail为一个核试验场吧, 慢工出细活, 有所创新, 有所发现, 以及一个好用的动态语言引擎, 是本次项目的宗旨)
host: 暂时放在我的一个开源项目中, dedict. 因为还没有里程碑式的成果, 所以作为一个组件存在. 等到0.1版本出来, 和一些朋友交流一下看看. 差不多在考虑是否有必要单独作为一个项目.
语言目标: 通用脚本语言, 不考虑专用平台, 或者专用领域.
开发环境:vc2005, g++, 使用stl和crt, 时刻保证可移植性, 毕竟linux下面的爱好者的力量不可小看了.
基本设计思想:
  结合scheme和python. 以一个类python, java的前台, 后台runtime引擎为lisp. 说得理论一点, 就是用S-EXP作为指令集. dict based 语言 区别于c,c++, c#等 stack based的语法.
s-exp的内核会有一个最大的好处, 就是为内核, 微得令人振奋. 连+-*/都不在内核里面支持, 真是令人不幸呢. 这里s-exp就变成了s-code.没有结合律, 没有优先级, 没有表达式, 天哪, 这事多么爽的一件事情啊.
微内核使得高扩展性成了可能, 也是必须的. 可以提供相当丰富的内建扩展. 很多东西都隔离开了, 所以, 某些性能优化狂人, 也可以做一些天书版的性能优化, 作为一个扩展存在.
snail的两大利器, dict, 递归, 还有可以list(语言上可以没有, 不过性能上考虑, 可以保留).

好了, 基本这样就可以了, snail将用慢悠悠的步子, 为大家讲述一个编译的故事, 讲述一个世界的故事..
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐