2005年06月28日 星期二 10:17
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
2005年06月28日 星期二 10:53
原先 啄木鸟的 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!]
Zeuux © 2025
京ICP备05028076号