免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: nully
打印 上一主题 下一主题

CU貌似没人研究语言编译器/解释器,我来带个头 [复制链接]

论坛徽章:
0
71 [报告]
发表于 2008-07-31 00:59 |只看该作者
NiuBility

论坛徽章:
0
72 [报告]
发表于 2008-07-31 06:21 |只看该作者
两年快过去了,有什么进展吗?

论坛徽章:
0
73 [报告]
发表于 2008-07-31 12:46 |只看该作者

回复 #1 nully 的帖子

不错,写的很好啊

论坛徽章:
0
74 [报告]
发表于 2008-07-31 13:01 |只看该作者
偶像啊! ding!

为什么我们不开放一个中国人的操作系统呢,挑战MS,APPLE等

论坛徽章:
0
75 [报告]
发表于 2008-07-31 13:16 |只看该作者
LZ贡献源码吧

论坛徽章:
0
76 [报告]
发表于 2008-07-31 14:56 |只看该作者

你好,对你做编译器很佩服,我有个想法希望你和版里的人能共同研究

首先对你很佩服,但是请不要在代码中用中文,不同的编辑器对中文支持不一样,而且做计算机语言没必要支持中文的关键字和语法。易语言就是个失败的例子。下面转入正题。
我曾用过一个平台,它完全基于FSM(finite state machine)的一个编程平台,给我的印象非常深刻。当时我就想写个库(c/c++的),这个库能够支持有限状态机编程,同时也想如果这个做成编译器会很有特色。感觉楼主有时间和精力做编译器还不如做我这个呢,编译器太多了,你做的几乎很难有人用,但是我的想法不同,这是一个很新颖的东西。我的想法很有用吗?很多人都在努力降低程序员的门槛,我的想法能大幅降低开发者的门槛,对于一个应用,开发者把这个应用作为root, root下面可能有n个States(init,Looping,destroy...)每个state下面可以有其他的子state。整个应用就是一个有开始和终止的有限状态机,任何事件可以使一个state跳转到其他state,当跳转到一个包含子state的状态时,它包含的子state开始活动。可能我的描述让大家迷惑了。
下面举个例子:
root
    |----Init(D)
    |----EventLoop
    |----Destroy

EventLoop
      |-----Input(D)
      |-----Show
   
每一个state都有这样的功能:enter,repeat,exit。当跳转到一个state时,原来的state的exit代码被执行,新state的enter被执行,在一个state活动时,它的repeat被反复执行(当然是条件执行,如当事件发生时,其实本质上是该state跳转到自己,但不执行enter和exit, 当然可以自己跳转到自己,那样enter和exit被执行,为了优化所以才有repeat功能)。对于我画的图来说,
首先root的enter被执行,然后root.Init(default state)的enter被执行,root.Init的enter做一些初始化工作后主动跳转到EventLoop state,这样root.exit被执行,然后EventLoop.Input(default state)的enter被执行,接着repeat被执行循化接受输入字符,当用户回车后,该事件触发跳转,这样EventLoop.Input的exit检查字符串并格式化然后跳到EventLoop.Show,在Show的enter中显示输入字符串,当3秒后,timer事件触发EventLoop.Show 跳转到Root.Destroy,EventLoop.Show的exit取消显示字符串,Root.Destroy的enter清理root.Init的初始化数据,并调用退出,root.Destroy的exit被调用,程序退出。

[ 本帖最后由 runforu 于 2008-7-31 15:00 编辑 ]

论坛徽章:
0
77 [报告]
发表于 2009-01-03 19:52 |只看该作者
原帖由 LinuxKen 于 2008-4-26 13:20 发表


呵呵,贴主是我的一个师兄,而且是我老乡,是我们学校的TOP ONE,现在他大四,签了深信服了。


深信服
我们的竞争对手
不过,感觉去了可惜。哈哈,不是打击对手。

论坛徽章:
0
78 [报告]
发表于 2009-01-04 10:32 |只看该作者
原帖由 nully 于 2006-9-1 13:22 发表
本人在CU首个主题贴,支持下谢谢

感到非常奇怪,大牛应该不少啊,这里,难道大家只安于会使用已有的工具么?仅当有特别需求时才会去创建一种语言么?
我只学过C语言,数据结构,编译原理可能一年后的大四课 ...


支持一个.....

论坛徽章:
0
79 [报告]
发表于 2009-01-04 10:40 |只看该作者
lz忙着写代码,都不来回帖了吗?

论坛徽章:
0
80 [报告]
发表于 2009-01-04 10:51 |只看该作者

回复 #81 eveson 的帖子

你的废话太多了,请不要在技术区灌水,谢谢.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP