打印

我设计的单片机C语言编译器,大家看有用吗

[复制链接]
楼主: 0xCC
手机看帖
扫描二维码
随时随地手机跟帖
21
HWM| | 2010-1-26 10:49 | 只看该作者 回帖奖励 |倒序浏览
通用语言最好遵循标准。

其实,就技术而言,标准是最具价值的东西。标准可以是显性的(如各种国际标准),也可以是隐性的(如MS的潜规则)。千万别去挑战现有的标准(或规则),有能力可以去创造新领域的标准(或规则),不过那是技术的皇冠。

使用特权

评论回复
22
0xCC|  楼主 | 2010-1-26 10:54 | 只看该作者
某些领域,标准往往成为前进的绊脚石

使用特权

评论回复
23
HWM| | 2010-1-26 10:58 | 只看该作者
那时标准委员会的事,你有好的建议可以向他们提。但另搞一套前景不妙。

使用特权

评论回复
24
反质子| | 2010-1-26 10:58 | 只看该作者
LZ很强悍

使用特权

评论回复
25
0xCC|  楼主 | 2010-1-26 11:01 | 只看该作者
to 23楼 HWN: 我也知道这种语言其实很难得到大家的认可,但这个编译器和相应的语法我会一直开发下去.

使用特权

评论回复
26
古道热肠| | 2010-1-26 11:09 | 只看该作者
:D拍块砖,C语言编译器这东西,想做到很实用,难,做得差不多时,宜争取商业赞助,方能做大做强。

使用特权

评论回复
27
HWM| | 2010-1-26 11:42 | 只看该作者
to 23楼 HWN: 我也知道这种语言其实很难得到大家的认可,但这个编译器和相应的语法我会一直开发下去.
0xCC 发表于 2010-1-26 11:01

做C编译器没问题,随着新的CPU的出现还会诞生很多针对某CPU的编译器。你的问题是“创造新的C”,由于标准具有唯一性(否则就不是标准了),这就把你自己放在了一个非常不合时宜的位置。如果那玩意儿早诞生几十年,也许标准就是你的了。

建议你改个名字,如C!什么的都行,至于那玩意儿能否成为标准,这就看你的造化了,不是没那可能。

使用特权

评论回复
28
arm9-11| | 2010-1-26 12:12 | 只看该作者
终于看到了传说中的牛,膜拜一下:)

我觉得楼主做的至少对自己来说很有意义,做一个编译器可不是那么简单,词法分析,就这一条就够搞的了。当然,这不是重点。

支持一个!

使用特权

评论回复
29
lxyppc| | 2010-1-26 12:40 | 只看该作者
本帖最后由 lxyppc 于 2010-1-26 12:41 编辑
TO computer00:  在keil中是,不过我设计的这个编译器控制语句中的表达式必须返回布尔类型, 所以目前还不能那样写.呵呵
0xCC 发表于 2010-1-26 10:27

那我改成
i=9;
while(--i!=0)
{
}

使用特权

评论回复
30
0xCC|  楼主 | 2010-1-26 12:52 | 只看该作者
那我改成
i=9;
while(--i!=0)
{
}

lxyppc 发表于 2010-1-26 12:40

呵呵,真是不好意思,我的语法中禁止改变操作数的运算有返回值,所以++i和--i还有赋值语句都只能单独使用了,但这样处理之后基本就杜绝了标准C语言的边际效应,变量不会在运算中被莫名其妙的改变,提高了代码的安全性.

使用特权

评论回复
31
呆板书生| | 2010-1-26 12:53 | 只看该作者
跟着标准好,能做51就能做别的,你按标准做,市场就大,换句话说,容易找到新MCU厂家来买你的代码,

据说微软从前就是这样发家的

或者,可以考虑一下,自动生成代码,也是一个好的发展方向

使用特权

评论回复
32
xlsbz| | 2010-1-26 13:14 | 只看该作者
23# HWM

我建议你现在立马停止写了。

主要弄弄大方向!
看看你的非标准有没有市场价值

如果你慎重考虑觉得你的非标准有市场价值 ,然后再继续写。
如果觉得没有市场价值,就按照标准重新写!

使用特权

评论回复
33
peterwei2010| | 2010-1-26 13:22 | 只看该作者
肯定有用!
支持楼主,支持!支持!

使用特权

评论回复
34
talent8791| | 2010-1-26 13:29 | 只看该作者
牛!

使用特权

评论回复
35
y628817| | 2010-1-26 13:31 | 只看该作者
楼主真牛!

使用特权

评论回复
36
0xCC|  楼主 | 2010-1-26 13:31 | 只看该作者
23# HWM  

我建议你现在立马停止写了。

主要弄弄大方向!
看看你的非标准有没有市场价值

如果你慎重考虑觉得你的非标准有市场价值 ,然后再继续写。
如果觉得没有市场价值,就按照标准重新写! ...
xlsbz 发表于 2010-1-26 13:14

把非标准改成标准的应该很容易了,直接修改语法树部分就行.但现在问题是
一边是标准语法,另一边是实用语法,就比如补1移位,补0移位和循环移位,这在单片机
开发中非常有用吧,而且很容易实现,但为了标准就必须全用算术移位 >> << 实现,
感觉有点别扭. 至少目前来说,不想放弃这些非标准语法

使用特权

评论回复
37
xlsbz| | 2010-1-26 13:52 | 只看该作者
36# 0xCC

现在感觉改起来容易!

盖迪拜大厦,还没有开始盖,建筑图纸 你想怎么改都行。

等住上人了,怎么改都不行!那就晚啦

现在你觉得 ...在开发中有用,等两年可能就觉得自己考虑的太肤浅了。

尽管真理有时会掌握在少数人手里,但大多数情况并不如此。

使用特权

评论回复
38
lxyppc| | 2010-1-26 14:03 | 只看该作者
本帖最后由 lxyppc 于 2010-1-26 14:08 编辑
呵呵,真是不好意思,我的语法中禁止改变操作数的运算有返回值,所以++i和--i还有赋值语句都只能单独使用了,但这样处理之后基本就杜绝了标准C语言的边际效应,变量不会在运算中被莫名其妙的改变,提高了代码的安全性. ...
0xCC 发表于 2010-1-26 12:52

那我再改成
i=9;
while(i!=0)
{
    i--;
}

使用特权

评论回复
39
cc810610186| | 2010-1-26 14:12 | 只看该作者
楼主绝对牛人,赞一个,可是这不是标准呀,只能自己想玩的时候玩一下。。。

使用特权

评论回复
40
928315| | 2010-1-26 14:14 | 只看该作者
强人,在21第一次看到这样的强人。。。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则