- Non-working trash is cleaned. - Updated from latest git version. - Fixed modules pygame math and others. - Removed old modules added new ones. - All samples work except "net" git-svn-id: svn://kolibrios.org@8535 a494cfbc-eb01-0410-851d-a64ba20cac60
63 lines
1.3 KiB
Python
63 lines
1.3 KiB
Python
import sys
|
|
if not "tinypy" in sys.version:
|
|
from boot import *
|
|
|
|
import tokenize,parse,encode
|
|
|
|
def _compile(s,fname):
|
|
tokens = tokenize.tokenize(s)
|
|
t = parse.parse(s,tokens)
|
|
r = encode.encode(fname,s,t)
|
|
return r
|
|
|
|
def _import(name):
|
|
if name in MODULES:
|
|
return MODULES[name]
|
|
py = name+".py"
|
|
tpc = name+".tpc"
|
|
if exists(py):
|
|
if not exists(tpc) or mtime(py) > mtime(tpc):
|
|
s = load(py)
|
|
code = _compile(s,py)
|
|
save(tpc,code)
|
|
if not exists(tpc): raise
|
|
code = load(tpc)
|
|
g = {'__name__':name,'__code__':code}
|
|
g['__dict__'] = g
|
|
MODULES[name] = g
|
|
exec(code,g)
|
|
return g
|
|
|
|
|
|
def _init():
|
|
BUILTINS['compile'] = _compile
|
|
BUILTINS['import'] = _import
|
|
|
|
def import_fname(fname,name):
|
|
g = {}
|
|
g['__name__'] = name
|
|
MODULES[name] = g
|
|
s = load(fname)
|
|
code = _compile(s,fname)
|
|
g['__code__'] = code
|
|
exec(code,g)
|
|
return g
|
|
|
|
def tinypy():
|
|
return import_fname(ARGV[0],'__main__')
|
|
|
|
def main(src,dest):
|
|
s = load(src)
|
|
r = _compile(s,src)
|
|
save(dest,r)
|
|
|
|
if __name__ == '__main__':
|
|
main(ARGV[1],ARGV[2])
|
|
main(ARGV[1],ARGV[2])
|
|
main(ARGV[1],ARGV[2])
|
|
main(ARGV[1],ARGV[2])
|
|
main(ARGV[1],ARGV[2])
|
|
main(ARGV[1],ARGV[2])
|
|
main(ARGV[1],ARGV[2])
|
|
main(ARGV[1],ARGV[2])
|