示例#1
0
文件: ipy.py 项目: DawidvC/Logix
def interactiveCompile(expr, env, filename, mode):
    modname = env['__name__']
    if data.isDoc(expr, rootops.setlang):
        newlang = language.tmpLanguage(language.eval(expr, env), modname)
        env['__currentlang__']  = newlang
        env[newlang.__impl__.name] = newlang
        return compile("None", "", "eval")

    if data.isDoc(expr, (rootops.defop, rootops.getops)):
        expr['lang'] = '__currentlang__'
        language.eval(expr, env)
        return compile("None", "", "eval")
    else:
        return logixcompiler.compile([expr], filename, mode, module=modname)
示例#2
0
def interactiveCompile(expr, env, filename, mode):
    modname = env['__name__']
    if data.isDoc(expr, rootops.setlang):
        newlang = language.tmpLanguage(language.eval(expr, env), modname)
        env['__currentlang__'] = newlang
        env[newlang.__impl__.name] = newlang
        return compile("None", "", "eval")

    if data.isDoc(expr, (rootops.defop, rootops.getops)):
        expr['lang'] = '__currentlang__'
        language.eval(expr, env)
        return compile("None", "", "eval")
    else:
        return logixcompiler.compile([expr], filename, mode, module=modname)
示例#3
0
文件: rootops.py 项目: DawidvC/Logix
def rule(syntaxlang, syntax, env=None):
    env = env or {}
    return language.eval(syntaxlang.__impl__.parse(syntax)[0], env)
示例#4
0
文件: rootops.py 项目: manbaum/Logix
def rule(syntaxlang, syntax, env=None):
    env = env or {}
    return language.eval(syntaxlang.__impl__.parse(syntax)[0], env)