当前位置: 首页>>代码示例>>Python>>正文


Python Env.declare方法代码示例

本文整理汇总了Python中env.Env.declare方法的典型用法代码示例。如果您正苦于以下问题:Python Env.declare方法的具体用法?Python Env.declare怎么用?Python Env.declare使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在env.Env的用法示例。


在下文中一共展示了Env.declare方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: Function

# 需要导入模块: from env import Env [as 别名]
# 或者: from env.Env import declare [as 别名]
class Function(Exp):

    def __init__(self, params, cmd):
        self.params = params
        self.cmd = cmd
        self.this = None
        self.env = None

    def eval(self, env):
        if self.env is None:
            self.env = Env(env)
            self.env.declare('this', self.this)
        return self

    def set_this(self, this):
        self.this = this

    def call(self, args, env):
        if len(args) != len(self.params):
            raise Exception("Invalid count of parameters. Should be %s, is %s."  % (len(self.params), len(args)))
        new_env = Env(self.env)
        values = zip(self.params, args)
        for val in values:
            new_env.declare(val[0], val[1])
        return self.cmd.eval(new_env)

    def __str__(self):
        return "Function(%s, %s)" % (self.params, self.cmd)
开发者ID:donhilion,项目名称:PKR_Interpreter-OO,代码行数:30,代码来源:ast.py

示例2: call

# 需要导入模块: from env import Env [as 别名]
# 或者: from env.Env import declare [as 别名]
 def call(self, args, env):
     if len(args) != len(self.params):
         raise Exception("Invalid count of parameters. Should be %s, is %s."  % (len(self.params), len(args)))
     new_env = Env(self.env)
     values = zip(self.params, args)
     for val in values:
         new_env.declare(val[0], val[1])
     return self.cmd.eval(new_env)
开发者ID:donhilion,项目名称:PKR_Interpreter-OO,代码行数:10,代码来源:ast.py

示例3: interpret

# 需要导入模块: from env import Env [as 别名]
# 或者: from env.Env import declare [as 别名]
def interpret(code, print_ast=False):
    ast = parse(tokenize(code))
    if print_ast:
        print(ast)
    env = Env()
    env.declare("alloc", Alloc())
    env.declare("readline", ReadLine())
    env.declare("true", 1)
    env.declare("false", 0)
    ast.eval(env)
开发者ID:donhilion,项目名称:PKR_Interpreter-OO,代码行数:12,代码来源:parser.py


注:本文中的env.Env.declare方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。