自己实现代码生成器 Implement your own code generator(2)完结篇

brysj22952(45)
Published in
#cn
Words
169
Reading
1 min
Listen
Play
9y

自己实现代码生成器 Implement your own code generator(2)完结篇

​ 续上。废话少说,我们先看看最后生成的Python脚本框架是什么样子的。

#IOrders interface
class IOrders:
    #Get the newest orders info
    #IOrders GetCurrentOrders()
    def GetCurrentOrders(self): pass

    # int Num : Count of orders
    Num=None


class MyOrders(IOrders):
    def GetCurrentOrders(self):
        print('to do something...')

    _Num=None
    def get_Num(self): return self._Num
    def set_Num(self, value): self._Num = value
    Num = property(get_Num, set_Num)

#obj=MyOrders()

​ 为了生成这段代码,我输入的信息有哪些呢?

            //增加接口名字
            s.AddInterfaceName("IOrders", "IOrders interface");
            //增加方法原型和帮助信息
            s.AddMethod("IOrders GetCurrentOrders()", "Get the newest orders info");
            //增加属性
            s.AddProperty("int Num", "Count of orders");
            //生成代码
            ret=s.Run("Python");
            //打印生成的信息
            Console.WriteLine(ret);

​ 由此可见,无论是什么语言,其语言结构大体相似,只要掌握相应的语言结构关键信息,比如面向对象有属性、方法,方法都有参数和返回值,那么只要输入这些信息,就可生成对应的语言的代码了。可节约很多学习时间。

自己实现代码生成器 Implement your own code generator(2)完结篇 | Ecency