Python论坛  - 讨论区

标题:Re: RE: [python-chinese] =?GB2312?Q? =CE=D2=CF=EB=D3=C3python=D7=F6=B8=F6=B4=FA=C2=EB=C9=FA=B3=C9=B5=C4=B9=A4=BE=DF=A3=AC=CB=AD=D3=D0=CA=B2=C3=B4=BA=C3=B5=C4=CF=EB=B7=A8=BB=F2=D5=DF=BD=A8=D2=E9=B0=A1=A3=BF?=

2005年06月28日 星期二 10:17

ouli ouli at eastcom.com
Tue Jun 28 10:17:19 HKT 2005

lifr,您好! 

  做过一个,不过当时用的是c语言,生成的也是c语言,主要用来做协议解码。c语言来做代码生成倒是有不少的工具可以利用,比如lex、yacc什么的,当时我们用了flex。

    lifr说得对,建立对应语言的模型也许是第一步,当时我们生成c语言,来进行协议解码,我们使用一种自己定义的协议描述语言,然后使用类似gnu gcc编译用的方法,先生成一种中间数状结构(该结构描述协议结构,在gcc中类似的结构描述代码结构),之后遍历该结构,套用预先定义的代码模型,生成代码,我们当时生成的是c代码,单其实只要更换预先定义的代码模型,可以生成不同语言的代码。
    我们的词法分析用的是Flex,很好用,其实Flex也是一个代码生成程序,^_^,不过它是生成C代码的,不知道Python世界中是不是也有类似的工具。

======== 2005-06-28 09:09:00 您在来信中写道: ========


 我曾经做过一个简单的python 代码生成程序,主要是生成class,没有复杂的method生成。
我想,首先是要建立对应语言的模型,用这个模型来描述语言的元素,比如class,field,access control。。。。
而这个模型,我想应该有个名字叫meta-language(?).. 就像xdoclet一样。

还有一种方法是基于模板template的,比如eclipse的EMF。具体我也不明白啦。:)


-----Original Message-----
From: python-chinese-bounces at lists.python.cn [mailto:python-chinese-bounces at lists.python.cn] On Behalf Of 徐祥军
Sent: Monday, June 27, 2005 9:24 AM
To: python-chinese at lists.python.cn
Subject: [python-chinese] 我想用python做个代码生成的工具,谁有什么好的想法或者建议啊?


大家谁做过这样的工具?有什么好的建议啊?

谢谢。


= = = = = = = = = = = = = = = = = = = = = = 
        致
礼!

              ouli
              ouli at eastcom.com
                 2005-06-28
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20050628/821b175a/attachment.htm

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年06月28日 星期二 10:53

Zoom Quiet zoom.quiet at gmail.com
Tue Jun 28 10:53:07 HKT 2005

原先 啄木鸟的 Otter 就是这样的工具,不过是针对 twisted 的协议应用代码的
嗯嗯!
异途同归,其实就是字串操作而已,只是Python 的比较特殊在缩进控制!

在 05-6-28,ouli<ouli at eastcom.com> 写道:
>  lifr,您好! 
>   
>   做过一个,不过当时用的是c语言,生成的也是c语言,主要用来做协议解码。c语言来做代码生成倒是有不少的工具可以利用,比如lex、yacc什么的,当时我们用了flex。
>   
>    
> lifr说得对,建立对应语言的模型也许是第一步,当时我们生成c语言,来进行协议解码,我们使用一种自己定义的协议描述语言,然后使用类似gnu
> gcc编译用的方法,先生成一种中间数状结构(该结构描述协议结构,在gcc中类似的结构描述代码结构),之后遍历该结构,套用预先定义的代码模型,生成代码,我们当时生成的是c代码,单其实只要更换预先定义的代码模型,可以生成不同语言的代码。
>    
> 我们的词法分析用的是Flex,很好用,其实Flex也是一个代码生成程序,^_^,不过它是生成C代码的,不知道Python世界中是不是也有类似的工具。
>   
> ======== 2005-06-28 09:09:00 您在来信中写道: ======== 
>   
>  
>  
>  
>   
>  我曾经做过一个简单的python 代码生成程序,主要是生成class,没有复杂的method生成。 
>  
> 我想,首先是要建立对应语言的模型,用这个模型来描述语言的元素,比如class,field,access
> control。。。。 
> 而这个模型,我想应该有个名字叫meta-language(?).. 就像xdoclet一样。 
>   
> 还有一种方法是基于模板template的,比如eclipse的EMF。具体我也不明白啦。:) 
>   
>   
>  
>  
> -----Original Message-----
> From: python-chinese-bounces at lists.python.cn
> [mailto:python-chinese-bounces at lists.python.cn] On Behalf
> Of 徐祥军
> Sent: Monday, June 27, 2005 9:24 AM
> To: python-chinese at lists.python.cn
> Subject: [python-chinese] 我想用python做个代码生成的工具,谁有什么好的想法或者建议啊?
> 
>  
> 大家谁做过这样的工具?有什么好的建议啊? 
>   
> 谢谢。 
>   
>  
> 
> = = = = = = = = = = = = = = = = = = = = = = 
> 
>         致
> 礼! 
>   
>               ouli 
>               ouli at eastcom.com 
>                  2005-06-28 
>   
> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
> 
> 
> 


-- 
[Time is unimportant, only life important!]

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号