tinypy: can now run from shell and use command line parameters.
git-svn-id: svn://kolibrios.org@2073 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
export MENUETDEV=../../libraries/menuetlibc
|
export MENUETDEV=../../libraries/menuetlibc
|
||||||
OUTFILE = tpmain
|
OUTFILE = tpmain
|
||||||
OBJS = tpmain.o kolibri_init.o kolibri_fs.o kolibri_gui.o kolibri_dbg.o
|
OBJS = tpmain.o kolibri_init.o kolibri_fs.o kolibri_gui.o kolibri_dbg.o
|
||||||
CFLAGS = -I.
|
CFLAGS = -I. -mpreferred-stack-boundary=2 -mincoming-stack-boundary=2
|
||||||
include $(MENUETDEV)/makefiles/Makefile_for_program
|
include $(MENUETDEV)/makefiles/Makefile_for_program
|
||||||
kolibri_dbg.o: fasm_modules/kolibri_dbg.s
|
kolibri_dbg.o: fasm_modules/kolibri_dbg.s
|
||||||
fasm fasm_modules/kolibri_dbg.s
|
fasm fasm_modules/kolibri_dbg.s
|
||||||
|
@@ -15,7 +15,6 @@ def _import(name):
|
|||||||
return MODULES[name]
|
return MODULES[name]
|
||||||
py = name+".py"
|
py = name+".py"
|
||||||
tpc = name+".tpc"
|
tpc = name+".tpc"
|
||||||
print("CP")
|
|
||||||
if exists(py):
|
if exists(py):
|
||||||
if not exists(tpc) or mtime(py) > mtime(tpc):
|
if not exists(tpc) or mtime(py) > mtime(tpc):
|
||||||
s = load(py)
|
s = load(py)
|
||||||
@@ -43,7 +42,6 @@ def import_fname(fname,name):
|
|||||||
return g
|
return g
|
||||||
|
|
||||||
def tinypy():
|
def tinypy():
|
||||||
print("tinypy called")
|
|
||||||
return import_fname(ARGV[0],'__main__')
|
return import_fname(ARGV[0],'__main__')
|
||||||
|
|
||||||
def main(src,dest):
|
def main(src,dest):
|
||||||
@@ -52,5 +50,4 @@ def main(src,dest):
|
|||||||
save(dest,r)
|
save(dest,r)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
print("Running main")
|
|
||||||
main(ARGV[1],ARGV[2])
|
main(ARGV[1],ARGV[2])
|
||||||
|
@@ -1,25 +1,16 @@
|
|||||||
#include "tp.c"
|
#include "tp.c"
|
||||||
/* INCLUDE */
|
/* INCLUDE */
|
||||||
const char header[]="TinyPy for kolibriOS";
|
const char header[]="TinyPy for kolibriOS";
|
||||||
const int argc = 2;
|
|
||||||
extern _stdcall void kolibri_dbg_init(tp_vm *tp);
|
extern _stdcall void kolibri_dbg_init(tp_vm *tp);
|
||||||
|
|
||||||
void main(void) {
|
void main(int argc, const char *argv[]) {
|
||||||
char *argv[2]={"tpmain", "test.py"};
|
|
||||||
|
|
||||||
CONSOLE_INIT(header);
|
|
||||||
con_printf("TinyPy console, version 1.1.\n");
|
|
||||||
con_printf("Enter program file:");
|
|
||||||
if (!(argv[1] = malloc(256)))
|
|
||||||
con_printf("Memory error\n");
|
|
||||||
con_gets(argv[1], 256);
|
|
||||||
argv[1][strlen(argv[1]) - 1] = '\0';
|
|
||||||
con_printf("Running file %s\n", argv[1]);
|
|
||||||
tp_vm *tp = tp_init(argc, argv);
|
tp_vm *tp = tp_init(argc, argv);
|
||||||
kolibri_dbg_init(tp);
|
kolibri_dbg_init(tp);
|
||||||
kolibri_init(tp);
|
kolibri_init(tp);
|
||||||
|
CONSOLE_INIT(header);
|
||||||
/* INIT */
|
/* INIT */
|
||||||
tp_call(tp,"py2bc","tinypy",tp_None);
|
tp_call(tp,"py2bc","tinypy",tp_None);
|
||||||
|
con_printf("Done");
|
||||||
tp_deinit(tp);
|
tp_deinit(tp);
|
||||||
kol_exit();
|
kol_exit();
|
||||||
return;
|
return;
|
||||||
|
@@ -84,12 +84,7 @@ TP_FNC, TP_DATA.
|
|||||||
- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> ᮯணࠬ<E0AEA3>;
|
- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> ᮯணࠬ<E0AEA3>;
|
||||||
- ᨭ⠪<E1A8AD><E2A0AA><EFBFBD><EFBFBD>᪨<EFBFBD> "<22><><EFBFBD><EFBFBD><EFBFBD>" <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFA2AB><EFBFBD><EFBFBD> ᯨ<E1AFA8> <20> <><E1ABAE>३, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
- ᨭ⠪<E1A8AD><E2A0AA><EFBFBD><EFBFBD>᪨<EFBFBD> "<22><><EFBFBD><EFBFBD><EFBFBD>" <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFA2AB><EFBFBD><EFBFBD> ᯨ<E1AFA8> <20> <><E1ABAE>३, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
odd_squares = [a*a for a in range(100) if a%2];
|
odd_squares = [a*a for a in range(100) if a%2];
|
||||||
- <20><><EFBFBD><EFBFBD>ࠪ⨢<E0A0AA><E2A8A2><EFBFBD> <20><><EFBFBD>᮫<EFBFBD>
|
- <20><><EFBFBD><EFBFBD>ࠪ⨢<E0A0AA><E2A8A2><EFBFBD> <20><><EFBFBD>᮫<EFBFBD>.
|
||||||
- <20><>।<EFBFBD><E0A5A4><EFBFBD> <20><>ࠬ<EFBFBD><E0A0AC> <20><>१ ARGV
|
|
||||||
|
|
||||||
<20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥪<EFBFBD> menuetlibc <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD> ࠧ<><E0A0A7><EFBFBD><EFBFBD> <20><>ࠬ<EFBFBD><E0A0AC> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ப<EFBFBD> <20><><EFBFBD><EFBFBD>
|
|
||||||
<20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>⮬<EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>᪥ TinyPy <20><><EFBFBD>室<EFBFBD><E5AEA4><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<20><><EFBFBD> 䠩<><E4A0A9> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ⠪<><E2A0AA> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><>ࠬ<EFBFBD><E0A0AC><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ப<EFBFBD>.
|
|
||||||
|
|
||||||
<20> <20><><EFBFBD><EFBFBD>筮, <20><> 墠⠥<E5A2A0> <20>᭮<EFBFBD><E1ADAE><EFBFBD><EFBFBD> ᨫ<> Python - <20><><EFBFBD> <20>⠭<EFBFBD><E2A0AD><EFBFBD>⭮<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥪<EFBFBD>.
|
<20> <20><><EFBFBD><EFBFBD>筮, <20><> 墠⠥<E5A2A0> <20>᭮<EFBFBD><E1ADAE><EFBFBD><EFBFBD> ᨫ<> Python - <20><><EFBFBD> <20>⠭<EFBFBD><E2A0AD><EFBFBD>⭮<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥪<EFBFBD>.
|
||||||
|
|
||||||
@@ -116,11 +111,15 @@ if __name__=="__main__":
|
|||||||
math.square(12)
|
math.square(12)
|
||||||
|
|
||||||
<20><><EFBFBD>砫<EFBFBD> <20>㦭<EFBFBD> <><E1AAAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> math.py <20> <20><><EFBFBD><EFBFBD>-<2D><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC>
|
<20><><EFBFBD>砫<EFBFBD> <20>㦭<EFBFBD> <><E1AAAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> math.py <20> <20><><EFBFBD><EFBFBD>-<2D><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC>
|
||||||
py2bc.py, <20><><EFBFBD> ࠡ<>⠥<EFBFBD> <20><><EFBFBD> <20> Python, ⠪ <20> <20> TinyPy. <20> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>砥 <20>㦭<EFBFBD>
|
py2bc.py, <20><><EFBFBD> ࠡ<>⠥<EFBFBD> <20><><EFBFBD> <20> Python, ⠪ <20> <20> TinyPy. <20><><EFBFBD><EFBFBD>᪠<EFBFBD><EFBFBD> shell <EFBFBD> <20>믮<EFBFBD><EFBFBD>塞 <20><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
㪠<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ᨢ ARGV=[0, 'math.py', 'math.tpc'], ⠪ <20><><EFBFBD> <20><>।<EFBFBD><E0A5A4><EFBFBD>
|
# tinypy py2bc.py math.py math.tpc
|
||||||
<EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>१ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ப<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><> <20>⮣<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
prog.py <20><> TinyPy. <20><><EFBFBD>⠪<EFBFBD><EFBFBD><EFBFBD> "from module import function" <20><><EFBFBD><EFBFBD> <20><>
|
<EFBFBD><EFBFBD> <20>⮣<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> prog.py <20><> TinyPy.
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ন<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
|
||||||
|
# tinypy prog.py
|
||||||
|
144
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD>砭<EFBFBD><E7A0AD>: ᨭ⠪<E1A8AD><E2A0AA><EFBFBD> "from module import function" <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ন<EFBFBD><E0A6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
|
||||||
3.2 <20><><EFBFBD>㫨 <20><> C.
|
3.2 <20><><EFBFBD>㫨 <20><> C.
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user