def makeLanguages(logixModuleName, homedir, moduledict): import pycompile pycompile.installRootopCompilers() modname = logixModuleName + ".base" quotelang = makeQuotelang(parent=None, module=modname) syntaxlang = makeSyntaxlang(parent=quotelang, module=modname) langlang = makeLangLang(syntaxlang, parent=quotelang, module=modname) syntaxlang.__impl__.addOp(langlang.__impl__.getOp("(^")) global defaultBaseLang defaultBaseLang = langlang baselang = Language("base", langlang, modname) baselang.operatorBase = PyOp filename = homedir + "/base.lx" env = dict(__name__=modname, base=baselang) baselang.__impl__.parse(file(filename, 'U'), mode='exec', execenv=env) pycompile.installPyCompilers(baselang.__impl__) # HACK: Fix up base lmodule mod = new.module(filename) mod.__file__ = filename vars(mod).update(env) moduledict[modname] = mod mod.langlang = langlang mod.syntaxlang = syntaxlang mod.quotelang = quotelang return quotelang, syntaxlang, langlang, baselang