diff --git a/bsp/pico-dev/MDK/mdk/template.uvoptx b/bsp/pico-dev/MDK/mdk/template.uvoptx index 5d5764838..975ff124a 100644 --- a/bsp/pico-dev/MDK/mdk/template.uvoptx +++ b/bsp/pico-dev/MDK/mdk/template.uvoptx @@ -1540,6 +1540,18 @@ 0 0 + + 4 + 58 + 1 + 0 + 0 + 0 + ..\..\..\..\src\PikaCompiler.c + PikaCompiler.c + 0 + 0 + @@ -1550,7 +1562,7 @@ 0 5 - 58 + 59 1 0 0 @@ -1562,7 +1574,7 @@ 5 - 59 + 60 1 0 0 @@ -1574,7 +1586,7 @@ 5 - 60 + 61 1 0 0 @@ -1586,7 +1598,7 @@ 5 - 61 + 62 1 0 0 @@ -1598,7 +1610,7 @@ 5 - 62 + 63 1 0 0 @@ -1610,7 +1622,7 @@ 5 - 63 + 64 1 0 0 @@ -1622,7 +1634,7 @@ 5 - 64 + 65 1 0 0 @@ -1634,7 +1646,7 @@ 5 - 65 + 66 1 0 0 @@ -1646,7 +1658,7 @@ 5 - 66 + 67 1 0 0 @@ -1660,13 +1672,13 @@ pikascript-api - 0 + 1 0 0 0 6 - 67 + 68 1 0 0 @@ -1678,7 +1690,7 @@ 6 - 68 + 69 1 0 0 @@ -1690,7 +1702,7 @@ 6 - 69 + 70 1 0 0 @@ -1702,7 +1714,7 @@ 6 - 70 + 71 1 0 0 @@ -1714,7 +1726,7 @@ 6 - 71 + 72 1 0 0 @@ -1726,7 +1738,7 @@ 6 - 72 + 73 1 0 0 @@ -1738,7 +1750,7 @@ 6 - 73 + 74 1 0 0 @@ -1750,7 +1762,7 @@ 6 - 74 + 75 1 0 0 @@ -1762,7 +1774,7 @@ 6 - 75 + 76 1 0 0 @@ -1774,7 +1786,7 @@ 6 - 76 + 77 1 0 0 @@ -1786,7 +1798,7 @@ 6 - 77 + 78 1 0 0 @@ -1798,7 +1810,7 @@ 6 - 78 + 79 1 0 0 @@ -1808,17 +1820,89 @@ 0 0 + + 6 + 80 + 1 + 0 + 0 + 0 + ..\..\pikascript\pikascript-api\__asset_pikaModules_py_a.c + __asset_pikaModules_py_a.c + 0 + 0 + + + 6 + 81 + 1 + 0 + 0 + 0 + ..\..\pikascript\pikascript-api\PikaDebug_Debuger-api.c + PikaDebug_Debuger-api.c + 0 + 0 + + + 6 + 82 + 1 + 0 + 0 + 0 + ..\..\pikascript\pikascript-api\PikaDebug-api.c + PikaDebug-api.c + 0 + 0 + + + 6 + 83 + 1 + 0 + 0 + 0 + ..\..\pikascript\pikascript-api\PikaStdData_ByteArray-api.c + PikaStdData_ByteArray-api.c + 0 + 0 + + + 6 + 84 + 1 + 0 + 0 + 0 + ..\..\pikascript\pikascript-api\PikaStdTask_Task-api.c + PikaStdTask_Task-api.c + 0 + 0 + + + 6 + 85 + 1 + 0 + 0 + 0 + ..\..\pikascript\pikascript-api\PikaStdTask-api.c + PikaStdTask-api.c + 0 + 0 + Python - 0 + 1 0 0 0 7 - 79 + 86 5 0 0 diff --git a/bsp/pico-dev/MDK/mdk/template.uvprojx b/bsp/pico-dev/MDK/mdk/template.uvprojx index 4e4e899a3..b522ec125 100644 --- a/bsp/pico-dev/MDK/mdk/template.uvprojx +++ b/bsp/pico-dev/MDK/mdk/template.uvprojx @@ -900,6 +900,11 @@ 1 ..\..\..\..\src\TinyObj.c + + PikaCompiler.c + 1 + ..\..\..\..\src\PikaCompiler.c + @@ -1015,6 +1020,36 @@ 1 ..\..\pikascript\pikascript-api\PikaStdLib_PikaObj-api.c + + __asset_pikaModules_py_a.c + 1 + ..\..\pikascript\pikascript-api\__asset_pikaModules_py_a.c + + + PikaDebug_Debuger-api.c + 1 + ..\..\pikascript\pikascript-api\PikaDebug_Debuger-api.c + + + PikaDebug-api.c + 1 + ..\..\pikascript\pikascript-api\PikaDebug-api.c + + + PikaStdData_ByteArray-api.c + 1 + ..\..\pikascript\pikascript-api\PikaStdData_ByteArray-api.c + + + PikaStdTask_Task-api.c + 1 + ..\..\pikascript\pikascript-api\PikaStdTask_Task-api.c + + + PikaStdTask-api.c + 1 + ..\..\pikascript\pikascript-api\PikaStdTask-api.c + @@ -1932,6 +1967,11 @@ 1 ..\..\..\..\src\TinyObj.c + + PikaCompiler.c + 1 + ..\..\..\..\src\PikaCompiler.c + @@ -2047,6 +2087,36 @@ 1 ..\..\pikascript\pikascript-api\PikaStdLib_PikaObj-api.c + + __asset_pikaModules_py_a.c + 1 + ..\..\pikascript\pikascript-api\__asset_pikaModules_py_a.c + + + PikaDebug_Debuger-api.c + 1 + ..\..\pikascript\pikascript-api\PikaDebug_Debuger-api.c + + + PikaDebug-api.c + 1 + ..\..\pikascript\pikascript-api\PikaDebug-api.c + + + PikaStdData_ByteArray-api.c + 1 + ..\..\pikascript\pikascript-api\PikaStdData_ByteArray-api.c + + + PikaStdTask_Task-api.c + 1 + ..\..\pikascript\pikascript-api\PikaStdTask_Task-api.c + + + PikaStdTask-api.c + 1 + ..\..\pikascript\pikascript-api\PikaStdTask-api.c + @@ -2963,6 +3033,11 @@ 1 ..\..\..\..\src\TinyObj.c + + PikaCompiler.c + 1 + ..\..\..\..\src\PikaCompiler.c + @@ -3078,6 +3153,36 @@ 1 ..\..\pikascript\pikascript-api\PikaStdLib_PikaObj-api.c + + __asset_pikaModules_py_a.c + 1 + ..\..\pikascript\pikascript-api\__asset_pikaModules_py_a.c + + + PikaDebug_Debuger-api.c + 1 + ..\..\pikascript\pikascript-api\PikaDebug_Debuger-api.c + + + PikaDebug-api.c + 1 + ..\..\pikascript\pikascript-api\PikaDebug-api.c + + + PikaStdData_ByteArray-api.c + 1 + ..\..\pikascript\pikascript-api\PikaStdData_ByteArray-api.c + + + PikaStdTask_Task-api.c + 1 + ..\..\pikascript\pikascript-api\PikaStdTask_Task-api.c + + + PikaStdTask-api.c + 1 + ..\..\pikascript\pikascript-api\PikaStdTask-api.c + @@ -3994,6 +4099,11 @@ 1 ..\..\..\..\src\TinyObj.c + + PikaCompiler.c + 1 + ..\..\..\..\src\PikaCompiler.c + @@ -4109,6 +4219,36 @@ 1 ..\..\pikascript\pikascript-api\PikaStdLib_PikaObj-api.c + + __asset_pikaModules_py_a.c + 1 + ..\..\pikascript\pikascript-api\__asset_pikaModules_py_a.c + + + PikaDebug_Debuger-api.c + 1 + ..\..\pikascript\pikascript-api\PikaDebug_Debuger-api.c + + + PikaDebug-api.c + 1 + ..\..\pikascript\pikascript-api\PikaDebug-api.c + + + PikaStdData_ByteArray-api.c + 1 + ..\..\pikascript\pikascript-api\PikaStdData_ByteArray-api.c + + + PikaStdTask_Task-api.c + 1 + ..\..\pikascript\pikascript-api\PikaStdTask_Task-api.c + + + PikaStdTask-api.c + 1 + ..\..\pikascript\pikascript-api\PikaStdTask-api.c + diff --git a/bsp/pico-dev/pikascript/PikaDebug.pyi b/bsp/pico-dev/pikascript/PikaDebug.pyi new file mode 100644 index 000000000..dc1db98f7 --- /dev/null +++ b/bsp/pico-dev/pikascript/PikaDebug.pyi @@ -0,0 +1,10 @@ +#api +from PikaObj import * + +class Debuger(TinyObj): + def __init__(self): + pass + + def set_trace(self): + pass + \ No newline at end of file diff --git a/bsp/pico-dev/pikascript/PikaObj.py b/bsp/pico-dev/pikascript/PikaObj.pyi similarity index 53% rename from bsp/pico-dev/pikascript/PikaObj.py rename to bsp/pico-dev/pikascript/PikaObj.pyi index ab97533ba..3dba31fec 100644 --- a/bsp/pico-dev/pikascript/PikaObj.py +++ b/bsp/pico-dev/pikascript/PikaObj.pyi @@ -1,3 +1,4 @@ +#api class TinyObj: pass @@ -5,10 +6,14 @@ class TinyObj: class BaseObj(TinyObj): pass +class pointer: + pass def print(val: any): pass - -def set(argPath: str, val: any): +def printNoEnd(val: any): + pass + +def taskLoop(task: any): pass diff --git a/bsp/pico-dev/pikascript/PikaStdData.py b/bsp/pico-dev/pikascript/PikaStdData.py deleted file mode 100644 index b3353ccbd..000000000 --- a/bsp/pico-dev/pikascript/PikaStdData.py +++ /dev/null @@ -1,89 +0,0 @@ -from PikaObj import * - - -class List(TinyObj): - def __init__(): - pass - - # add an arg after the end of list - def append(arg: any): - pass - - # get an arg by the index - def get(i: int) -> any: - pass - - # set an arg by the index - def set(i: int, arg: any): - pass - - # get the length of list - def len() -> int: - pass - # support for loop - def __iter__() -> any: - pass - - # support for loop - def __next__() -> any: - pass - - # support list[] = val - def __set__(): - pass - - # support val = list[] - def __get__() -> any: - pass - -class Dict(TinyObj): - def __init__(): - pass - - # get an arg by the key - def get(key: str) -> any: - pass - - # set an arg by the key - def set(key: str, arg: any): - pass - - # remove an arg by the key - def remove(key: str): - pass - - def __iter__() -> any: - pass - - def __next__() -> any: - pass - - # support dict[] = val - def __set__(): - pass - - # support val = dict[] - def __get__() -> any: - pass - - -class String(TinyObj): - def set(s:str): - pass - - def get()->str: - pass - - def __iter__() -> any: - pass - - def __next__() -> any: - pass - - # support string[] = val - def __set__(): - pass - - # support val = string[] - def __get__() -> any: - pass \ No newline at end of file diff --git a/bsp/pico-dev/pikascript/PikaStdData.pyi b/bsp/pico-dev/pikascript/PikaStdData.pyi new file mode 100644 index 000000000..c04006fc1 --- /dev/null +++ b/bsp/pico-dev/pikascript/PikaStdData.pyi @@ -0,0 +1,98 @@ +#api +from PikaObj import * + + +class List(TinyObj): + def __init__(self): + pass + + # add an arg after the end of list + def append(self, arg: any): + pass + + # get an arg by the index + def get(self, i: int) -> any: + pass + + # set an arg by the index + def set(self, i: int, arg: any): + pass + + # get the length of list + def len(self) -> int: + pass + # support for loop + def __iter__(self) -> any: + pass + + # support for loop + def __next__(self) -> any: + pass + + # support list[] = val + def __set__(self, __key: any, __val: any): + pass + + # support val = list[] + def __get__(self, __key: any) -> any: + pass + +class Dict(TinyObj): + def __init__(self): + pass + + # get an arg by the key + def get(self, key: str) -> any: + pass + + # set an arg by the key + def set(self, key: str, arg: any): + pass + + # remove an arg by the key + def remove(self, key: str): + pass + + def __iter__(self) -> any: + pass + + def __next__(self) -> any: + pass + + # support dict[] = val + def __set__(self, __key: any, __val: any): + pass + + # support val = dict[] + def __get__(self, __key: any) -> any: + pass + + +class String(TinyObj): + def __init__(self, s:str): + pass + + def set(self, s:str): + pass + + def get(self)->str: + pass + + def __iter__(self) -> any: + pass + + def __next__(self) -> any: + pass + + # support string[] = val + def __set__(self, __key: any, __val: any): + pass + + # support val = string[] + def __get__(self, __key: any) -> any: + pass + +class ByteArray(List): + # convert a string to ByteArray + def fromString(self, s:str): + pass diff --git a/bsp/pico-dev/pikascript/PikaStdLib.py b/bsp/pico-dev/pikascript/PikaStdLib.py deleted file mode 100644 index 0de637b76..000000000 --- a/bsp/pico-dev/pikascript/PikaStdLib.py +++ /dev/null @@ -1,60 +0,0 @@ -from PikaObj import * - - -class MemChecker(TinyObj): - def max(): - pass - - def now(): - pass - - def getMax() -> float: - pass - - def getNow() -> float: - pass - - def resetMax(): - pass - - -class SysObj(BaseObj): - def type(arg: any): - pass - - def remove(argPath: str): - pass - - def int(arg: any) -> int: - pass - - def float(arg: any) -> float: - pass - - def str(arg: any) -> str: - pass - - def iter(arg: any) -> any: - pass - - def range(a1: int, a2: int, a3: int) -> any: - pass - - def __set__(obj: any, key: any, val: any, obj_str: str): - pass - - def __get__(obj: any, key: any) -> any: - pass - - -class RangeObj(TinyObj): - def __next__() -> any: - pass - - -class StringObj(TinyObj): - def __next__() -> any: - pass - -class PikaObj(TinyObj): - pass diff --git a/bsp/pico-dev/pikascript/PikaStdLib.pyi b/bsp/pico-dev/pikascript/PikaStdLib.pyi new file mode 100644 index 000000000..65848e400 --- /dev/null +++ b/bsp/pico-dev/pikascript/PikaStdLib.pyi @@ -0,0 +1,33 @@ +#api +from PikaObj import * + +class MemChecker(TinyObj): + def max(self):... + def now(self):... + def getMax(self) -> float:... + def getNow(self) -> float:... + def resetMax(self):... + + +class SysObj(BaseObj): + def type(self, arg: any):... + def remove(self, argPath: str):... + def int(self, arg: any) -> int:... + def float(self, arg: any) -> float:... + def str(self, arg: any) -> str:... + def iter(self, arg: any) -> any:... + def range(self, a1: int, a2: int) -> any:... + def __set__(self, obj: any, key: any, val: any, obj_str: str):... + def __get__(self, obj: any, key: any) -> any:... + def len(self, arg:any) -> int:... + def list(self) -> any:... + def dict(self) -> any:... + +class RangeObj(TinyObj): + def __next__(self) -> any:... + + +class StringObj(TinyObj): + def __next__(self) -> any:... + +class PikaObj(TinyObj):... diff --git a/bsp/pico-dev/pikascript/PikaStdTask.pyi b/bsp/pico-dev/pikascript/PikaStdTask.pyi new file mode 100644 index 000000000..1d2ee16dc --- /dev/null +++ b/bsp/pico-dev/pikascript/PikaStdTask.pyi @@ -0,0 +1,38 @@ +#api +from PikaObj import * +import PikaStdData + + +class Task(TinyObj): + calls = PikaStdData.List() + + def __init__(self): + pass + + # regist a function to be called always + def call_always(self, fun_todo: any): + pass + + # regist a function to be called when fun_when() return 'True' + def call_when(self, fun_todo: any, fun_when: any): + pass + + # regist a function to be called periodically + def call_period_ms(self, fun_todo: any, period_ms: int): + pass + + # run all registed function once + def run_once(self): + pass + + # run all registed function forever + def run_forever(self): + pass + + # run all registed function until time is up + def run_until_ms(self, until_ms: int): + pass + + # need be overried to supply the system tick + def platformGetTick(self): + pass diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaDebug-api.c b/bsp/pico-dev/pikascript/pikascript-api/PikaDebug-api.c new file mode 100644 index 000000000..42362a5f6 --- /dev/null +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaDebug-api.c @@ -0,0 +1,20 @@ +/* ******************************** */ +/* Warning! Don't modify this file! */ +/* ******************************** */ +#include "PikaDebug.h" +#include "TinyObj.h" +#include +#include +#include "BaseObj.h" + +void PikaDebug_DebugerMethod(PikaObj *self, Args *args){ + Arg* res = PikaDebug_Debuger(self); + method_returnArg(args, res); +} + +PikaObj *New_PikaDebug(Args *args){ + PikaObj *self = New_TinyObj(args); + class_defineConstructor(self, "Debuger()->any", PikaDebug_DebugerMethod); + return self; +} + diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaDebug.h b/bsp/pico-dev/pikascript/pikascript-api/PikaDebug.h new file mode 100644 index 000000000..994b15fc1 --- /dev/null +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaDebug.h @@ -0,0 +1,14 @@ +/* ******************************** */ +/* Warning! Don't modify this file! */ +/* ******************************** */ +#ifndef __PikaDebug__H +#define __PikaDebug__H +#include +#include +#include "PikaObj.h" + +PikaObj *New_PikaDebug(Args *args); + +Arg* PikaDebug_Debuger(PikaObj *self); + +#endif diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaDebug_Debuger-api.c b/bsp/pico-dev/pikascript/pikascript-api/PikaDebug_Debuger-api.c new file mode 100644 index 000000000..3d4058a00 --- /dev/null +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaDebug_Debuger-api.c @@ -0,0 +1,27 @@ +/* ******************************** */ +/* Warning! Don't modify this file! */ +/* ******************************** */ +#include "PikaDebug_Debuger.h" +#include "TinyObj.h" +#include +#include +#include "BaseObj.h" + +void PikaDebug_Debuger___init__Method(PikaObj *self, Args *args){ + PikaDebug_Debuger___init__(self); +} + +void PikaDebug_Debuger_set_traceMethod(PikaObj *self, Args *args){ + PikaDebug_Debuger_set_trace(self); +} + +PikaObj *New_PikaDebug_Debuger(Args *args){ + PikaObj *self = New_TinyObj(args); + class_defineMethod(self, "__init__()", PikaDebug_Debuger___init__Method); + class_defineMethod(self, "set_trace()", PikaDebug_Debuger_set_traceMethod); + return self; +} + +Arg *PikaDebug_Debuger(PikaObj *self){ + return obj_newObjInPackage(New_PikaDebug_Debuger); +} diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaDebug_Debuger.h b/bsp/pico-dev/pikascript/pikascript-api/PikaDebug_Debuger.h new file mode 100644 index 000000000..a3647a33e --- /dev/null +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaDebug_Debuger.h @@ -0,0 +1,15 @@ +/* ******************************** */ +/* Warning! Don't modify this file! */ +/* ******************************** */ +#ifndef __PikaDebug_Debuger__H +#define __PikaDebug_Debuger__H +#include +#include +#include "PikaObj.h" + +PikaObj *New_PikaDebug_Debuger(Args *args); + +void PikaDebug_Debuger___init__(PikaObj *self); +void PikaDebug_Debuger_set_trace(PikaObj *self); + +#endif diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaMain-api.c b/bsp/pico-dev/pikascript/pikascript-api/PikaMain-api.c new file mode 100644 index 000000000..8adb683e7 --- /dev/null +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaMain-api.c @@ -0,0 +1,21 @@ +/* ******************************** */ +/* Warning! Don't modify this file! */ +/* ******************************** */ +#include "PikaMain.h" +#include "PikaStdLib_SysObj.h" +#include "PikaStdData.h" +#include "PikaStdLib.h" +#include +#include +#include "BaseObj.h" + +PikaObj *New_PikaMain(Args *args){ + PikaObj *self = New_PikaStdLib_SysObj(args); + obj_newObj(self, "PikaStdData", "PikaStdData", New_PikaStdData); + obj_newObj(self, "PikaStdLib", "PikaStdLib", New_PikaStdLib); + return self; +} + +Arg *PikaMain(PikaObj *self){ + return obj_newObjInPackage(New_PikaMain); +} diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaMain.h b/bsp/pico-dev/pikascript/pikascript-api/PikaMain.h new file mode 100644 index 000000000..36803c79d --- /dev/null +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaMain.h @@ -0,0 +1,13 @@ +/* ******************************** */ +/* Warning! Don't modify this file! */ +/* ******************************** */ +#ifndef __PikaMain__H +#define __PikaMain__H +#include +#include +#include "PikaObj.h" + +PikaObj *New_PikaMain(Args *args); + + +#endif diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData-api.c b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData-api.c new file mode 100644 index 000000000..33379babb --- /dev/null +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData-api.c @@ -0,0 +1,38 @@ +/* ******************************** */ +/* Warning! Don't modify this file! */ +/* ******************************** */ +#include "PikaStdData.h" +#include "TinyObj.h" +#include +#include +#include "BaseObj.h" + +void PikaStdData_ByteArrayMethod(PikaObj *self, Args *args){ + Arg* res = PikaStdData_ByteArray(self); + method_returnArg(args, res); +} + +void PikaStdData_DictMethod(PikaObj *self, Args *args){ + Arg* res = PikaStdData_Dict(self); + method_returnArg(args, res); +} + +void PikaStdData_ListMethod(PikaObj *self, Args *args){ + Arg* res = PikaStdData_List(self); + method_returnArg(args, res); +} + +void PikaStdData_StringMethod(PikaObj *self, Args *args){ + Arg* res = PikaStdData_String(self); + method_returnArg(args, res); +} + +PikaObj *New_PikaStdData(Args *args){ + PikaObj *self = New_TinyObj(args); + class_defineConstructor(self, "ByteArray()->any", PikaStdData_ByteArrayMethod); + class_defineConstructor(self, "Dict()->any", PikaStdData_DictMethod); + class_defineConstructor(self, "List()->any", PikaStdData_ListMethod); + class_defineConstructor(self, "String()->any", PikaStdData_StringMethod); + return self; +} + diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData.h b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData.h new file mode 100644 index 000000000..c301eae08 --- /dev/null +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData.h @@ -0,0 +1,17 @@ +/* ******************************** */ +/* Warning! Don't modify this file! */ +/* ******************************** */ +#ifndef __PikaStdData__H +#define __PikaStdData__H +#include +#include +#include "PikaObj.h" + +PikaObj *New_PikaStdData(Args *args); + +Arg* PikaStdData_ByteArray(PikaObj *self); +Arg* PikaStdData_Dict(PikaObj *self); +Arg* PikaStdData_List(PikaObj *self); +Arg* PikaStdData_String(PikaObj *self); + +#endif diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_ByteArray-api.c b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_ByteArray-api.c new file mode 100644 index 000000000..ce6bb8cda --- /dev/null +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_ByteArray-api.c @@ -0,0 +1,23 @@ +/* ******************************** */ +/* Warning! Don't modify this file! */ +/* ******************************** */ +#include "PikaStdData_ByteArray.h" +#include "PikaStdData_List.h" +#include +#include +#include "BaseObj.h" + +void PikaStdData_ByteArray_fromStringMethod(PikaObj *self, Args *args){ + char* s = args_getStr(args, "s"); + PikaStdData_ByteArray_fromString(self, s); +} + +PikaObj *New_PikaStdData_ByteArray(Args *args){ + PikaObj *self = New_PikaStdData_List(args); + class_defineMethod(self, "fromString(s:str)", PikaStdData_ByteArray_fromStringMethod); + return self; +} + +Arg *PikaStdData_ByteArray(PikaObj *self){ + return obj_newObjInPackage(New_PikaStdData_ByteArray); +} diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_ByteArray.h b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_ByteArray.h new file mode 100644 index 000000000..3e1f968e2 --- /dev/null +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_ByteArray.h @@ -0,0 +1,14 @@ +/* ******************************** */ +/* Warning! Don't modify this file! */ +/* ******************************** */ +#ifndef __PikaStdData_ByteArray__H +#define __PikaStdData_ByteArray__H +#include +#include +#include "PikaObj.h" + +PikaObj *New_PikaStdData_ByteArray(Args *args); + +void PikaStdData_ByteArray_fromString(PikaObj *self, char* s); + +#endif diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_Dict-api.c b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_Dict-api.c new file mode 100644 index 000000000..976245b6d --- /dev/null +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_Dict-api.c @@ -0,0 +1,68 @@ +/* ******************************** */ +/* Warning! Don't modify this file! */ +/* ******************************** */ +#include "PikaStdData_Dict.h" +#include "TinyObj.h" +#include +#include +#include "BaseObj.h" + +void PikaStdData_Dict___get__Method(PikaObj *self, Args *args){ + Arg* __key = args_getArg(args, "__key"); + Arg* res = PikaStdData_Dict___get__(self, __key); + method_returnArg(args, res); +} + +void PikaStdData_Dict___init__Method(PikaObj *self, Args *args){ + PikaStdData_Dict___init__(self); +} + +void PikaStdData_Dict___iter__Method(PikaObj *self, Args *args){ + Arg* res = PikaStdData_Dict___iter__(self); + method_returnArg(args, res); +} + +void PikaStdData_Dict___next__Method(PikaObj *self, Args *args){ + Arg* res = PikaStdData_Dict___next__(self); + method_returnArg(args, res); +} + +void PikaStdData_Dict___set__Method(PikaObj *self, Args *args){ + Arg* __key = args_getArg(args, "__key"); + Arg* __val = args_getArg(args, "__val"); + PikaStdData_Dict___set__(self, __key, __val); +} + +void PikaStdData_Dict_getMethod(PikaObj *self, Args *args){ + char* key = args_getStr(args, "key"); + Arg* res = PikaStdData_Dict_get(self, key); + method_returnArg(args, res); +} + +void PikaStdData_Dict_removeMethod(PikaObj *self, Args *args){ + char* key = args_getStr(args, "key"); + PikaStdData_Dict_remove(self, key); +} + +void PikaStdData_Dict_setMethod(PikaObj *self, Args *args){ + Arg* arg = args_getArg(args, "arg"); + char* key = args_getStr(args, "key"); + PikaStdData_Dict_set(self, arg, key); +} + +PikaObj *New_PikaStdData_Dict(Args *args){ + PikaObj *self = New_TinyObj(args); + class_defineMethod(self, "__get__(__key:any)->any", PikaStdData_Dict___get__Method); + class_defineMethod(self, "__init__()", PikaStdData_Dict___init__Method); + class_defineMethod(self, "__iter__()->any", PikaStdData_Dict___iter__Method); + class_defineMethod(self, "__next__()->any", PikaStdData_Dict___next__Method); + class_defineMethod(self, "__set__(__key:any,__val:any)", PikaStdData_Dict___set__Method); + class_defineMethod(self, "get(key:str)->any", PikaStdData_Dict_getMethod); + class_defineMethod(self, "remove(key:str)", PikaStdData_Dict_removeMethod); + class_defineMethod(self, "set(key:str,arg:any)", PikaStdData_Dict_setMethod); + return self; +} + +Arg *PikaStdData_Dict(PikaObj *self){ + return obj_newObjInPackage(New_PikaStdData_Dict); +} diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_Dict.h b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_Dict.h new file mode 100644 index 000000000..2d1336f40 --- /dev/null +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_Dict.h @@ -0,0 +1,21 @@ +/* ******************************** */ +/* Warning! Don't modify this file! */ +/* ******************************** */ +#ifndef __PikaStdData_Dict__H +#define __PikaStdData_Dict__H +#include +#include +#include "PikaObj.h" + +PikaObj *New_PikaStdData_Dict(Args *args); + +Arg* PikaStdData_Dict___get__(PikaObj *self, Arg* __key); +void PikaStdData_Dict___init__(PikaObj *self); +Arg* PikaStdData_Dict___iter__(PikaObj *self); +Arg* PikaStdData_Dict___next__(PikaObj *self); +void PikaStdData_Dict___set__(PikaObj *self, Arg* __key, Arg* __val); +Arg* PikaStdData_Dict_get(PikaObj *self, char* key); +void PikaStdData_Dict_remove(PikaObj *self, char* key); +void PikaStdData_Dict_set(PikaObj *self, Arg* arg, char* key); + +#endif diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_List-api.c b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_List-api.c new file mode 100644 index 000000000..ee840e62d --- /dev/null +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_List-api.c @@ -0,0 +1,74 @@ +/* ******************************** */ +/* Warning! Don't modify this file! */ +/* ******************************** */ +#include "PikaStdData_List.h" +#include "TinyObj.h" +#include +#include +#include "BaseObj.h" + +void PikaStdData_List___get__Method(PikaObj *self, Args *args){ + Arg* __key = args_getArg(args, "__key"); + Arg* res = PikaStdData_List___get__(self, __key); + method_returnArg(args, res); +} + +void PikaStdData_List___init__Method(PikaObj *self, Args *args){ + PikaStdData_List___init__(self); +} + +void PikaStdData_List___iter__Method(PikaObj *self, Args *args){ + Arg* res = PikaStdData_List___iter__(self); + method_returnArg(args, res); +} + +void PikaStdData_List___next__Method(PikaObj *self, Args *args){ + Arg* res = PikaStdData_List___next__(self); + method_returnArg(args, res); +} + +void PikaStdData_List___set__Method(PikaObj *self, Args *args){ + Arg* __key = args_getArg(args, "__key"); + Arg* __val = args_getArg(args, "__val"); + PikaStdData_List___set__(self, __key, __val); +} + +void PikaStdData_List_appendMethod(PikaObj *self, Args *args){ + Arg* arg = args_getArg(args, "arg"); + PikaStdData_List_append(self, arg); +} + +void PikaStdData_List_getMethod(PikaObj *self, Args *args){ + int i = args_getInt(args, "i"); + Arg* res = PikaStdData_List_get(self, i); + method_returnArg(args, res); +} + +void PikaStdData_List_lenMethod(PikaObj *self, Args *args){ + int res = PikaStdData_List_len(self); + method_returnInt(args, res); +} + +void PikaStdData_List_setMethod(PikaObj *self, Args *args){ + Arg* arg = args_getArg(args, "arg"); + int i = args_getInt(args, "i"); + PikaStdData_List_set(self, arg, i); +} + +PikaObj *New_PikaStdData_List(Args *args){ + PikaObj *self = New_TinyObj(args); + class_defineMethod(self, "__get__(__key:any)->any", PikaStdData_List___get__Method); + class_defineMethod(self, "__init__()", PikaStdData_List___init__Method); + class_defineMethod(self, "__iter__()->any", PikaStdData_List___iter__Method); + class_defineMethod(self, "__next__()->any", PikaStdData_List___next__Method); + class_defineMethod(self, "__set__(__key:any,__val:any)", PikaStdData_List___set__Method); + class_defineMethod(self, "append(arg:any)", PikaStdData_List_appendMethod); + class_defineMethod(self, "get(i:int)->any", PikaStdData_List_getMethod); + class_defineMethod(self, "len()->int", PikaStdData_List_lenMethod); + class_defineMethod(self, "set(i:int,arg:any)", PikaStdData_List_setMethod); + return self; +} + +Arg *PikaStdData_List(PikaObj *self){ + return obj_newObjInPackage(New_PikaStdData_List); +} diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_List.h b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_List.h new file mode 100644 index 000000000..c3e7049db --- /dev/null +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_List.h @@ -0,0 +1,22 @@ +/* ******************************** */ +/* Warning! Don't modify this file! */ +/* ******************************** */ +#ifndef __PikaStdData_List__H +#define __PikaStdData_List__H +#include +#include +#include "PikaObj.h" + +PikaObj *New_PikaStdData_List(Args *args); + +Arg* PikaStdData_List___get__(PikaObj *self, Arg* __key); +void PikaStdData_List___init__(PikaObj *self); +Arg* PikaStdData_List___iter__(PikaObj *self); +Arg* PikaStdData_List___next__(PikaObj *self); +void PikaStdData_List___set__(PikaObj *self, Arg* __key, Arg* __val); +void PikaStdData_List_append(PikaObj *self, Arg* arg); +Arg* PikaStdData_List_get(PikaObj *self, int i); +int PikaStdData_List_len(PikaObj *self); +void PikaStdData_List_set(PikaObj *self, Arg* arg, int i); + +#endif diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_String-api.c b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_String-api.c new file mode 100644 index 000000000..cfad2f6cf --- /dev/null +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_String-api.c @@ -0,0 +1,61 @@ +/* ******************************** */ +/* Warning! Don't modify this file! */ +/* ******************************** */ +#include "PikaStdData_String.h" +#include "TinyObj.h" +#include +#include +#include "BaseObj.h" + +void PikaStdData_String___get__Method(PikaObj *self, Args *args){ + Arg* __key = args_getArg(args, "__key"); + Arg* res = PikaStdData_String___get__(self, __key); + method_returnArg(args, res); +} + +void PikaStdData_String___init__Method(PikaObj *self, Args *args){ + char* s = args_getStr(args, "s"); + PikaStdData_String___init__(self, s); +} + +void PikaStdData_String___iter__Method(PikaObj *self, Args *args){ + Arg* res = PikaStdData_String___iter__(self); + method_returnArg(args, res); +} + +void PikaStdData_String___next__Method(PikaObj *self, Args *args){ + Arg* res = PikaStdData_String___next__(self); + method_returnArg(args, res); +} + +void PikaStdData_String___set__Method(PikaObj *self, Args *args){ + Arg* __key = args_getArg(args, "__key"); + Arg* __val = args_getArg(args, "__val"); + PikaStdData_String___set__(self, __key, __val); +} + +void PikaStdData_String_getMethod(PikaObj *self, Args *args){ + char* res = PikaStdData_String_get(self); + method_returnStr(args, res); +} + +void PikaStdData_String_setMethod(PikaObj *self, Args *args){ + char* s = args_getStr(args, "s"); + PikaStdData_String_set(self, s); +} + +PikaObj *New_PikaStdData_String(Args *args){ + PikaObj *self = New_TinyObj(args); + class_defineMethod(self, "__get__(__key:any)->any", PikaStdData_String___get__Method); + class_defineMethod(self, "__init__(s:str)", PikaStdData_String___init__Method); + class_defineMethod(self, "__iter__()->any", PikaStdData_String___iter__Method); + class_defineMethod(self, "__next__()->any", PikaStdData_String___next__Method); + class_defineMethod(self, "__set__(__key:any,__val:any)", PikaStdData_String___set__Method); + class_defineMethod(self, "get()->str", PikaStdData_String_getMethod); + class_defineMethod(self, "set(s:str)", PikaStdData_String_setMethod); + return self; +} + +Arg *PikaStdData_String(PikaObj *self){ + return obj_newObjInPackage(New_PikaStdData_String); +} diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_String.h b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_String.h new file mode 100644 index 000000000..5dbd1540b --- /dev/null +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_String.h @@ -0,0 +1,20 @@ +/* ******************************** */ +/* Warning! Don't modify this file! */ +/* ******************************** */ +#ifndef __PikaStdData_String__H +#define __PikaStdData_String__H +#include +#include +#include "PikaObj.h" + +PikaObj *New_PikaStdData_String(Args *args); + +Arg* PikaStdData_String___get__(PikaObj *self, Arg* __key); +void PikaStdData_String___init__(PikaObj *self, char* s); +Arg* PikaStdData_String___iter__(PikaObj *self); +Arg* PikaStdData_String___next__(PikaObj *self); +void PikaStdData_String___set__(PikaObj *self, Arg* __key, Arg* __val); +char* PikaStdData_String_get(PikaObj *self); +void PikaStdData_String_set(PikaObj *self, char* s); + +#endif diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib-api.c b/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib-api.c new file mode 100644 index 000000000..43c12d0d3 --- /dev/null +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib-api.c @@ -0,0 +1,44 @@ +/* ******************************** */ +/* Warning! Don't modify this file! */ +/* ******************************** */ +#include "PikaStdLib.h" +#include "TinyObj.h" +#include +#include +#include "BaseObj.h" + +void PikaStdLib_MemCheckerMethod(PikaObj *self, Args *args){ + Arg* res = PikaStdLib_MemChecker(self); + method_returnArg(args, res); +} + +void PikaStdLib_PikaObjMethod(PikaObj *self, Args *args){ + Arg* res = PikaStdLib_PikaObj(self); + method_returnArg(args, res); +} + +void PikaStdLib_RangeObjMethod(PikaObj *self, Args *args){ + Arg* res = PikaStdLib_RangeObj(self); + method_returnArg(args, res); +} + +void PikaStdLib_StringObjMethod(PikaObj *self, Args *args){ + Arg* res = PikaStdLib_StringObj(self); + method_returnArg(args, res); +} + +void PikaStdLib_SysObjMethod(PikaObj *self, Args *args){ + Arg* res = PikaStdLib_SysObj(self); + method_returnArg(args, res); +} + +PikaObj *New_PikaStdLib(Args *args){ + PikaObj *self = New_TinyObj(args); + class_defineConstructor(self, "MemChecker()->any", PikaStdLib_MemCheckerMethod); + class_defineConstructor(self, "PikaObj()->any", PikaStdLib_PikaObjMethod); + class_defineConstructor(self, "RangeObj()->any", PikaStdLib_RangeObjMethod); + class_defineConstructor(self, "StringObj()->any", PikaStdLib_StringObjMethod); + class_defineConstructor(self, "SysObj()->any", PikaStdLib_SysObjMethod); + return self; +} + diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib.h b/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib.h new file mode 100644 index 000000000..1d2368df4 --- /dev/null +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib.h @@ -0,0 +1,18 @@ +/* ******************************** */ +/* Warning! Don't modify this file! */ +/* ******************************** */ +#ifndef __PikaStdLib__H +#define __PikaStdLib__H +#include +#include +#include "PikaObj.h" + +PikaObj *New_PikaStdLib(Args *args); + +Arg* PikaStdLib_MemChecker(PikaObj *self); +Arg* PikaStdLib_PikaObj(PikaObj *self); +Arg* PikaStdLib_RangeObj(PikaObj *self); +Arg* PikaStdLib_StringObj(PikaObj *self); +Arg* PikaStdLib_SysObj(PikaObj *self); + +#endif diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_MemChecker-api.c b/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_MemChecker-api.c new file mode 100644 index 000000000..92765e533 --- /dev/null +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_MemChecker-api.c @@ -0,0 +1,44 @@ +/* ******************************** */ +/* Warning! Don't modify this file! */ +/* ******************************** */ +#include "PikaStdLib_MemChecker.h" +#include "TinyObj.h" +#include +#include +#include "BaseObj.h" + +void PikaStdLib_MemChecker_getMaxMethod(PikaObj *self, Args *args){ + float res = PikaStdLib_MemChecker_getMax(self); + method_returnFloat(args, res); +} + +void PikaStdLib_MemChecker_getNowMethod(PikaObj *self, Args *args){ + float res = PikaStdLib_MemChecker_getNow(self); + method_returnFloat(args, res); +} + +void PikaStdLib_MemChecker_maxMethod(PikaObj *self, Args *args){ + PikaStdLib_MemChecker_max(self); +} + +void PikaStdLib_MemChecker_nowMethod(PikaObj *self, Args *args){ + PikaStdLib_MemChecker_now(self); +} + +void PikaStdLib_MemChecker_resetMaxMethod(PikaObj *self, Args *args){ + PikaStdLib_MemChecker_resetMax(self); +} + +PikaObj *New_PikaStdLib_MemChecker(Args *args){ + PikaObj *self = New_TinyObj(args); + class_defineMethod(self, "getMax()->float", PikaStdLib_MemChecker_getMaxMethod); + class_defineMethod(self, "getNow()->float", PikaStdLib_MemChecker_getNowMethod); + class_defineMethod(self, "max()", PikaStdLib_MemChecker_maxMethod); + class_defineMethod(self, "now()", PikaStdLib_MemChecker_nowMethod); + class_defineMethod(self, "resetMax()", PikaStdLib_MemChecker_resetMaxMethod); + return self; +} + +Arg *PikaStdLib_MemChecker(PikaObj *self){ + return obj_newObjInPackage(New_PikaStdLib_MemChecker); +} diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_MemChecker.h b/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_MemChecker.h new file mode 100644 index 000000000..c673e9c9f --- /dev/null +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_MemChecker.h @@ -0,0 +1,18 @@ +/* ******************************** */ +/* Warning! Don't modify this file! */ +/* ******************************** */ +#ifndef __PikaStdLib_MemChecker__H +#define __PikaStdLib_MemChecker__H +#include +#include +#include "PikaObj.h" + +PikaObj *New_PikaStdLib_MemChecker(Args *args); + +float PikaStdLib_MemChecker_getMax(PikaObj *self); +float PikaStdLib_MemChecker_getNow(PikaObj *self); +void PikaStdLib_MemChecker_max(PikaObj *self); +void PikaStdLib_MemChecker_now(PikaObj *self); +void PikaStdLib_MemChecker_resetMax(PikaObj *self); + +#endif diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_PikaObj-api.c b/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_PikaObj-api.c new file mode 100644 index 000000000..bd5d8e511 --- /dev/null +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_PikaObj-api.c @@ -0,0 +1,17 @@ +/* ******************************** */ +/* Warning! Don't modify this file! */ +/* ******************************** */ +#include "PikaStdLib_PikaObj.h" +#include "TinyObj.h" +#include +#include +#include "BaseObj.h" + +PikaObj *New_PikaStdLib_PikaObj(Args *args){ + PikaObj *self = New_TinyObj(args); + return self; +} + +Arg *PikaStdLib_PikaObj(PikaObj *self){ + return obj_newObjInPackage(New_PikaStdLib_PikaObj); +} diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_PikaObj.h b/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_PikaObj.h new file mode 100644 index 000000000..cd79aa86a --- /dev/null +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_PikaObj.h @@ -0,0 +1,13 @@ +/* ******************************** */ +/* Warning! Don't modify this file! */ +/* ******************************** */ +#ifndef __PikaStdLib_PikaObj__H +#define __PikaStdLib_PikaObj__H +#include +#include +#include "PikaObj.h" + +PikaObj *New_PikaStdLib_PikaObj(Args *args); + + +#endif diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_RangeObj-api.c b/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_RangeObj-api.c new file mode 100644 index 000000000..67097d338 --- /dev/null +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_RangeObj-api.c @@ -0,0 +1,23 @@ +/* ******************************** */ +/* Warning! Don't modify this file! */ +/* ******************************** */ +#include "PikaStdLib_RangeObj.h" +#include "TinyObj.h" +#include +#include +#include "BaseObj.h" + +void PikaStdLib_RangeObj___next__Method(PikaObj *self, Args *args){ + Arg* res = PikaStdLib_RangeObj___next__(self); + method_returnArg(args, res); +} + +PikaObj *New_PikaStdLib_RangeObj(Args *args){ + PikaObj *self = New_TinyObj(args); + class_defineMethod(self, "__next__()->any", PikaStdLib_RangeObj___next__Method); + return self; +} + +Arg *PikaStdLib_RangeObj(PikaObj *self){ + return obj_newObjInPackage(New_PikaStdLib_RangeObj); +} diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_RangeObj.h b/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_RangeObj.h new file mode 100644 index 000000000..0723123d2 --- /dev/null +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_RangeObj.h @@ -0,0 +1,14 @@ +/* ******************************** */ +/* Warning! Don't modify this file! */ +/* ******************************** */ +#ifndef __PikaStdLib_RangeObj__H +#define __PikaStdLib_RangeObj__H +#include +#include +#include "PikaObj.h" + +PikaObj *New_PikaStdLib_RangeObj(Args *args); + +Arg* PikaStdLib_RangeObj___next__(PikaObj *self); + +#endif diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_StringObj-api.c b/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_StringObj-api.c new file mode 100644 index 000000000..cc60693e3 --- /dev/null +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_StringObj-api.c @@ -0,0 +1,23 @@ +/* ******************************** */ +/* Warning! Don't modify this file! */ +/* ******************************** */ +#include "PikaStdLib_StringObj.h" +#include "TinyObj.h" +#include +#include +#include "BaseObj.h" + +void PikaStdLib_StringObj___next__Method(PikaObj *self, Args *args){ + Arg* res = PikaStdLib_StringObj___next__(self); + method_returnArg(args, res); +} + +PikaObj *New_PikaStdLib_StringObj(Args *args){ + PikaObj *self = New_TinyObj(args); + class_defineMethod(self, "__next__()->any", PikaStdLib_StringObj___next__Method); + return self; +} + +Arg *PikaStdLib_StringObj(PikaObj *self){ + return obj_newObjInPackage(New_PikaStdLib_StringObj); +} diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_StringObj.h b/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_StringObj.h new file mode 100644 index 000000000..537d6805d --- /dev/null +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_StringObj.h @@ -0,0 +1,14 @@ +/* ******************************** */ +/* Warning! Don't modify this file! */ +/* ******************************** */ +#ifndef __PikaStdLib_StringObj__H +#define __PikaStdLib_StringObj__H +#include +#include +#include "PikaObj.h" + +PikaObj *New_PikaStdLib_StringObj(Args *args); + +Arg* PikaStdLib_StringObj___next__(PikaObj *self); + +#endif diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_SysObj-api.c b/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_SysObj-api.c new file mode 100644 index 000000000..b25719e4f --- /dev/null +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_SysObj-api.c @@ -0,0 +1,101 @@ +/* ******************************** */ +/* Warning! Don't modify this file! */ +/* ******************************** */ +#include "PikaStdLib_SysObj.h" +#include "BaseObj.h" +#include +#include +#include "BaseObj.h" + +void PikaStdLib_SysObj___get__Method(PikaObj *self, Args *args){ + Arg* key = args_getArg(args, "key"); + Arg* obj = args_getArg(args, "obj"); + Arg* res = PikaStdLib_SysObj___get__(self, key, obj); + method_returnArg(args, res); +} + +void PikaStdLib_SysObj___set__Method(PikaObj *self, Args *args){ + Arg* key = args_getArg(args, "key"); + Arg* obj = args_getArg(args, "obj"); + char* obj_str = args_getStr(args, "obj_str"); + Arg* val = args_getArg(args, "val"); + PikaStdLib_SysObj___set__(self, key, obj, obj_str, val); +} + +void PikaStdLib_SysObj_dictMethod(PikaObj *self, Args *args){ + Arg* res = PikaStdLib_SysObj_dict(self); + method_returnArg(args, res); +} + +void PikaStdLib_SysObj_floatMethod(PikaObj *self, Args *args){ + Arg* arg = args_getArg(args, "arg"); + float res = PikaStdLib_SysObj_float(self, arg); + method_returnFloat(args, res); +} + +void PikaStdLib_SysObj_intMethod(PikaObj *self, Args *args){ + Arg* arg = args_getArg(args, "arg"); + int res = PikaStdLib_SysObj_int(self, arg); + method_returnInt(args, res); +} + +void PikaStdLib_SysObj_iterMethod(PikaObj *self, Args *args){ + Arg* arg = args_getArg(args, "arg"); + Arg* res = PikaStdLib_SysObj_iter(self, arg); + method_returnArg(args, res); +} + +void PikaStdLib_SysObj_lenMethod(PikaObj *self, Args *args){ + Arg* arg = args_getArg(args, "arg"); + int res = PikaStdLib_SysObj_len(self, arg); + method_returnInt(args, res); +} + +void PikaStdLib_SysObj_listMethod(PikaObj *self, Args *args){ + Arg* res = PikaStdLib_SysObj_list(self); + method_returnArg(args, res); +} + +void PikaStdLib_SysObj_rangeMethod(PikaObj *self, Args *args){ + int a1 = args_getInt(args, "a1"); + int a2 = args_getInt(args, "a2"); + Arg* res = PikaStdLib_SysObj_range(self, a1, a2); + method_returnArg(args, res); +} + +void PikaStdLib_SysObj_removeMethod(PikaObj *self, Args *args){ + char* argPath = args_getStr(args, "argPath"); + PikaStdLib_SysObj_remove(self, argPath); +} + +void PikaStdLib_SysObj_strMethod(PikaObj *self, Args *args){ + Arg* arg = args_getArg(args, "arg"); + char* res = PikaStdLib_SysObj_str(self, arg); + method_returnStr(args, res); +} + +void PikaStdLib_SysObj_typeMethod(PikaObj *self, Args *args){ + Arg* arg = args_getArg(args, "arg"); + PikaStdLib_SysObj_type(self, arg); +} + +PikaObj *New_PikaStdLib_SysObj(Args *args){ + PikaObj *self = New_BaseObj(args); + class_defineMethod(self, "__get__(obj:any,key:any)->any", PikaStdLib_SysObj___get__Method); + class_defineMethod(self, "__set__(obj:any,key:any,val:any,obj_str:str)", PikaStdLib_SysObj___set__Method); + class_defineMethod(self, "dict()->any", PikaStdLib_SysObj_dictMethod); + class_defineMethod(self, "float(arg:any)->float", PikaStdLib_SysObj_floatMethod); + class_defineMethod(self, "int(arg:any)->int", PikaStdLib_SysObj_intMethod); + class_defineMethod(self, "iter(arg:any)->any", PikaStdLib_SysObj_iterMethod); + class_defineMethod(self, "len(arg:any)->int", PikaStdLib_SysObj_lenMethod); + class_defineMethod(self, "list()->any", PikaStdLib_SysObj_listMethod); + class_defineMethod(self, "range(a1:int,a2:int)->any", PikaStdLib_SysObj_rangeMethod); + class_defineMethod(self, "remove(argPath:str)", PikaStdLib_SysObj_removeMethod); + class_defineMethod(self, "str(arg:any)->str", PikaStdLib_SysObj_strMethod); + class_defineMethod(self, "type(arg:any)", PikaStdLib_SysObj_typeMethod); + return self; +} + +Arg *PikaStdLib_SysObj(PikaObj *self){ + return obj_newObjInPackage(New_PikaStdLib_SysObj); +} diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_SysObj.h b/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_SysObj.h new file mode 100644 index 000000000..866618cbc --- /dev/null +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_SysObj.h @@ -0,0 +1,25 @@ +/* ******************************** */ +/* Warning! Don't modify this file! */ +/* ******************************** */ +#ifndef __PikaStdLib_SysObj__H +#define __PikaStdLib_SysObj__H +#include +#include +#include "PikaObj.h" + +PikaObj *New_PikaStdLib_SysObj(Args *args); + +Arg* PikaStdLib_SysObj___get__(PikaObj *self, Arg* key, Arg* obj); +void PikaStdLib_SysObj___set__(PikaObj *self, Arg* key, Arg* obj, char* obj_str, Arg* val); +Arg* PikaStdLib_SysObj_dict(PikaObj *self); +float PikaStdLib_SysObj_float(PikaObj *self, Arg* arg); +int PikaStdLib_SysObj_int(PikaObj *self, Arg* arg); +Arg* PikaStdLib_SysObj_iter(PikaObj *self, Arg* arg); +int PikaStdLib_SysObj_len(PikaObj *self, Arg* arg); +Arg* PikaStdLib_SysObj_list(PikaObj *self); +Arg* PikaStdLib_SysObj_range(PikaObj *self, int a1, int a2); +void PikaStdLib_SysObj_remove(PikaObj *self, char* argPath); +char* PikaStdLib_SysObj_str(PikaObj *self, Arg* arg); +void PikaStdLib_SysObj_type(PikaObj *self, Arg* arg); + +#endif diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdTask-api.c b/bsp/pico-dev/pikascript/pikascript-api/PikaStdTask-api.c new file mode 100644 index 000000000..2cc68f9e0 --- /dev/null +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdTask-api.c @@ -0,0 +1,20 @@ +/* ******************************** */ +/* Warning! Don't modify this file! */ +/* ******************************** */ +#include "PikaStdTask.h" +#include "TinyObj.h" +#include +#include +#include "BaseObj.h" + +void PikaStdTask_TaskMethod(PikaObj *self, Args *args){ + Arg* res = PikaStdTask_Task(self); + method_returnArg(args, res); +} + +PikaObj *New_PikaStdTask(Args *args){ + PikaObj *self = New_TinyObj(args); + class_defineConstructor(self, "Task()->any", PikaStdTask_TaskMethod); + return self; +} + diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdTask.h b/bsp/pico-dev/pikascript/pikascript-api/PikaStdTask.h new file mode 100644 index 000000000..9502bf1a8 --- /dev/null +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdTask.h @@ -0,0 +1,14 @@ +/* ******************************** */ +/* Warning! Don't modify this file! */ +/* ******************************** */ +#ifndef __PikaStdTask__H +#define __PikaStdTask__H +#include +#include +#include "PikaObj.h" + +PikaObj *New_PikaStdTask(Args *args); + +Arg* PikaStdTask_Task(PikaObj *self); + +#endif diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdTask_Task-api.c b/bsp/pico-dev/pikascript/pikascript-api/PikaStdTask_Task-api.c new file mode 100644 index 000000000..b0f530d71 --- /dev/null +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdTask_Task-api.c @@ -0,0 +1,65 @@ +/* ******************************** */ +/* Warning! Don't modify this file! */ +/* ******************************** */ +#include "PikaStdTask_Task.h" +#include "TinyObj.h" +#include "PikaStdData_List.h" +#include +#include +#include "BaseObj.h" + +void PikaStdTask_Task___init__Method(PikaObj *self, Args *args){ + PikaStdTask_Task___init__(self); +} + +void PikaStdTask_Task_call_alwaysMethod(PikaObj *self, Args *args){ + Arg* fun_todo = args_getArg(args, "fun_todo"); + PikaStdTask_Task_call_always(self, fun_todo); +} + +void PikaStdTask_Task_call_period_msMethod(PikaObj *self, Args *args){ + Arg* fun_todo = args_getArg(args, "fun_todo"); + int period_ms = args_getInt(args, "period_ms"); + PikaStdTask_Task_call_period_ms(self, fun_todo, period_ms); +} + +void PikaStdTask_Task_call_whenMethod(PikaObj *self, Args *args){ + Arg* fun_todo = args_getArg(args, "fun_todo"); + Arg* fun_when = args_getArg(args, "fun_when"); + PikaStdTask_Task_call_when(self, fun_todo, fun_when); +} + +void PikaStdTask_Task_platformGetTickMethod(PikaObj *self, Args *args){ + PikaStdTask_Task_platformGetTick(self); +} + +void PikaStdTask_Task_run_foreverMethod(PikaObj *self, Args *args){ + PikaStdTask_Task_run_forever(self); +} + +void PikaStdTask_Task_run_onceMethod(PikaObj *self, Args *args){ + PikaStdTask_Task_run_once(self); +} + +void PikaStdTask_Task_run_until_msMethod(PikaObj *self, Args *args){ + int until_ms = args_getInt(args, "until_ms"); + PikaStdTask_Task_run_until_ms(self, until_ms); +} + +PikaObj *New_PikaStdTask_Task(Args *args){ + PikaObj *self = New_TinyObj(args); + obj_newObj(self, "calls", "PikaStdData_List", New_PikaStdData_List); + class_defineMethod(self, "__init__()", PikaStdTask_Task___init__Method); + class_defineMethod(self, "call_always(fun_todo:any)", PikaStdTask_Task_call_alwaysMethod); + class_defineMethod(self, "call_period_ms(fun_todo:any,period_ms:int)", PikaStdTask_Task_call_period_msMethod); + class_defineMethod(self, "call_when(fun_todo:any,fun_when:any)", PikaStdTask_Task_call_whenMethod); + class_defineMethod(self, "platformGetTick()", PikaStdTask_Task_platformGetTickMethod); + class_defineMethod(self, "run_forever()", PikaStdTask_Task_run_foreverMethod); + class_defineMethod(self, "run_once()", PikaStdTask_Task_run_onceMethod); + class_defineMethod(self, "run_until_ms(until_ms:int)", PikaStdTask_Task_run_until_msMethod); + return self; +} + +Arg *PikaStdTask_Task(PikaObj *self){ + return obj_newObjInPackage(New_PikaStdTask_Task); +} diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdTask_Task.h b/bsp/pico-dev/pikascript/pikascript-api/PikaStdTask_Task.h new file mode 100644 index 000000000..d676cde63 --- /dev/null +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdTask_Task.h @@ -0,0 +1,21 @@ +/* ******************************** */ +/* Warning! Don't modify this file! */ +/* ******************************** */ +#ifndef __PikaStdTask_Task__H +#define __PikaStdTask_Task__H +#include +#include +#include "PikaObj.h" + +PikaObj *New_PikaStdTask_Task(Args *args); + +void PikaStdTask_Task___init__(PikaObj *self); +void PikaStdTask_Task_call_always(PikaObj *self, Arg* fun_todo); +void PikaStdTask_Task_call_period_ms(PikaObj *self, Arg* fun_todo, int period_ms); +void PikaStdTask_Task_call_when(PikaObj *self, Arg* fun_todo, Arg* fun_when); +void PikaStdTask_Task_platformGetTick(PikaObj *self); +void PikaStdTask_Task_run_forever(PikaObj *self); +void PikaStdTask_Task_run_once(PikaObj *self); +void PikaStdTask_Task_run_until_ms(PikaObj *self, int until_ms); + +#endif diff --git a/bsp/pico-dev/pikascript/pikascript-api/__asset_pikaModules_py_a.c b/bsp/pico-dev/pikascript/pikascript-api/__asset_pikaModules_py_a.c new file mode 100644 index 000000000..df322732f --- /dev/null +++ b/bsp/pico-dev/pikascript/pikascript-api/__asset_pikaModules_py_a.c @@ -0,0 +1,168 @@ +const unsigned char pikaModules_py_a[] = { + 0x7f, 0x70, 0x79, 0x61, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x84, 0x07, 0x00, 0x00, 0xc4, 0x04, 0x00, 0x96, 0x01, 0x00, 0x30, 0x81, + 0x09, 0x00, 0x20, 0x08, 0x12, 0x00, 0x10, 0x02, 0x00, 0x00, 0x00, 0x08, + 0x12, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x96, 0x14, 0x00, 0x00, 0x96, + 0x1f, 0x00, 0x00, 0x82, 0x2b, 0x00, 0x00, 0x04, 0x41, 0x00, 0x00, 0x82, + 0x45, 0x00, 0x00, 0x89, 0x52, 0x00, 0x00, 0x06, 0x76, 0x00, 0x11, 0x83, + 0x78, 0x00, 0x01, 0x02, 0x87, 0x00, 0x11, 0x81, 0x8d, 0x00, 0x01, 0x02, + 0x87, 0x00, 0x11, 0x81, 0x97, 0x00, 0x11, 0x01, 0x9d, 0x00, 0x01, 0x08, + 0xa6, 0x00, 0x01, 0x07, 0x76, 0x00, 0x12, 0x83, 0xa9, 0x00, 0x02, 0x02, + 0x87, 0x00, 0x12, 0x81, 0x8d, 0x00, 0x02, 0x02, 0x87, 0x00, 0x12, 0x83, + 0xb1, 0x00, 0x02, 0x02, 0x87, 0x00, 0x12, 0x81, 0x9d, 0x00, 0x02, 0x02, + 0x87, 0x00, 0x12, 0x83, 0xc2, 0x00, 0x02, 0x02, 0x87, 0x00, 0x12, 0x81, + 0x97, 0x00, 0x02, 0x02, 0x87, 0x00, 0x02, 0x81, 0xd0, 0x00, 0x02, 0x07, + 0xd5, 0x00, 0x03, 0x85, 0x76, 0x00, 0x03, 0x04, 0xd7, 0x00, 0x02, 0x86, + 0xe2, 0x00, 0x01, 0x8b, 0x76, 0x00, 0x12, 0x83, 0xe5, 0x00, 0x02, 0x02, + 0x87, 0x00, 0x01, 0x8a, 0x00, 0x00, 0x00, 0x85, 0xed, 0x00, 0x00, 0x04, + 0xef, 0x00, 0x20, 0x85, 0xed, 0x00, 0x20, 0x05, 0xf1, 0x00, 0x10, 0x02, + 0xf4, 0x00, 0x00, 0x02, 0xfa, 0x00, 0x00, 0x04, 0xff, 0x00, 0x00, 0x01, + 0x03, 0x01, 0x00, 0x01, 0x07, 0x01, 0x00, 0x04, 0x0b, 0x01, 0x00, 0x04, + 0x12, 0x01, 0x00, 0x82, 0x19, 0x01, 0x00, 0x04, 0x26, 0x01, 0x00, 0x0d, + 0x26, 0x01, 0x00, 0x07, 0xd5, 0x00, 0x11, 0x81, 0x26, 0x01, 0x11, 0x05, + 0x28, 0x01, 0x01, 0x08, 0x2a, 0x01, 0x01, 0x07, 0x76, 0x00, 0x02, 0x8f, + 0x00, 0x00, 0x11, 0x81, 0xef, 0x00, 0x11, 0x01, 0x26, 0x01, 0x01, 0x08, + 0x2d, 0x01, 0x01, 0x04, 0xef, 0x00, 0x00, 0x86, 0xe2, 0x00, 0x00, 0x8c, + 0xff, 0x00, 0x10, 0x83, 0x2f, 0x01, 0x10, 0x01, 0xef, 0x00, 0x10, 0x05, + 0x3f, 0x01, 0x00, 0x02, 0x42, 0x01, 0x00, 0x85, 0xed, 0x00, 0x00, 0x04, + 0xef, 0x00, 0x20, 0x85, 0xed, 0x00, 0x20, 0x05, 0xf1, 0x00, 0x10, 0x02, + 0xf4, 0x00, 0x00, 0x02, 0xfa, 0x00, 0x00, 0x04, 0xff, 0x00, 0x00, 0x01, + 0x03, 0x01, 0x00, 0x01, 0x07, 0x01, 0x00, 0x04, 0x0b, 0x01, 0x00, 0x04, + 0x12, 0x01, 0x00, 0x82, 0x19, 0x01, 0x00, 0x04, 0x26, 0x01, 0x00, 0x0d, + 0x26, 0x01, 0x00, 0x07, 0xd5, 0x00, 0x11, 0x81, 0x26, 0x01, 0x11, 0x05, + 0x28, 0x01, 0x01, 0x08, 0x2a, 0x01, 0x01, 0x07, 0x76, 0x00, 0x02, 0x8e, + 0x00, 0x00, 0x11, 0x81, 0xef, 0x00, 0x11, 0x01, 0x26, 0x01, 0x01, 0x08, + 0x2d, 0x01, 0x01, 0x04, 0xef, 0x00, 0x00, 0x86, 0xe2, 0x00, 0x00, 0x8c, + 0xff, 0x00, 0x10, 0x83, 0x4c, 0x01, 0x10, 0x01, 0xef, 0x00, 0x10, 0x05, + 0xf1, 0x00, 0x00, 0x02, 0x42, 0x01, 0x00, 0x85, 0xed, 0x00, 0x00, 0x04, + 0xef, 0x00, 0x20, 0x85, 0xed, 0x00, 0x20, 0x05, 0xf1, 0x00, 0x10, 0x02, + 0xf4, 0x00, 0x00, 0x02, 0xfa, 0x00, 0x00, 0x04, 0xff, 0x00, 0x00, 0x01, + 0x03, 0x01, 0x00, 0x01, 0x07, 0x01, 0x00, 0x04, 0x0b, 0x01, 0x00, 0x04, + 0x12, 0x01, 0x00, 0x82, 0x19, 0x01, 0x00, 0x04, 0x26, 0x01, 0x00, 0x0d, + 0x26, 0x01, 0x00, 0x07, 0xd5, 0x00, 0x21, 0x85, 0xed, 0x00, 0x21, 0x05, + 0x59, 0x01, 0x11, 0x02, 0xf4, 0x00, 0x01, 0x02, 0xfa, 0x00, 0x01, 0x04, + 0x5b, 0x01, 0x01, 0x01, 0x03, 0x01, 0x01, 0x01, 0x07, 0x01, 0x01, 0x04, + 0x5f, 0x01, 0x01, 0x04, 0x66, 0x01, 0x01, 0x82, 0x6d, 0x01, 0x01, 0x04, + 0x7a, 0x01, 0x01, 0x0d, 0x7a, 0x01, 0x01, 0x07, 0xd5, 0x00, 0x12, 0x81, + 0xef, 0x00, 0x12, 0x01, 0x7a, 0x01, 0x02, 0x08, 0x2d, 0x01, 0x02, 0x04, + 0xef, 0x00, 0x01, 0x86, 0xe2, 0x00, 0x01, 0x8c, 0x5b, 0x01, 0x00, 0x86, + 0xe2, 0x00, 0x00, 0x8c, 0xff, 0x00, 0x10, 0x83, 0x7c, 0x01, 0x10, 0x01, + 0xef, 0x00, 0x10, 0x05, 0x8d, 0x01, 0x00, 0x02, 0x42, 0x01, 0x00, 0x85, + 0xed, 0x00, 0x00, 0x04, 0xef, 0x00, 0x20, 0x85, 0xed, 0x00, 0x20, 0x05, + 0xf1, 0x00, 0x10, 0x02, 0xf4, 0x00, 0x00, 0x02, 0xfa, 0x00, 0x00, 0x04, + 0xff, 0x00, 0x00, 0x01, 0x03, 0x01, 0x00, 0x01, 0x07, 0x01, 0x00, 0x04, + 0x0b, 0x01, 0x00, 0x04, 0x12, 0x01, 0x00, 0x82, 0x19, 0x01, 0x00, 0x04, + 0x26, 0x01, 0x00, 0x0d, 0x26, 0x01, 0x00, 0x07, 0xd5, 0x00, 0x11, 0x81, + 0xef, 0x00, 0x11, 0x01, 0x26, 0x01, 0x01, 0x08, 0x2d, 0x01, 0x01, 0x04, + 0xef, 0x00, 0x00, 0x86, 0xe2, 0x00, 0x00, 0x8c, 0xff, 0x00, 0x10, 0x83, + 0x90, 0x01, 0x10, 0x01, 0xef, 0x00, 0x10, 0x05, 0x9d, 0x01, 0x00, 0x02, + 0x42, 0x01, 0x00, 0x82, 0xa0, 0x01, 0x00, 0x04, 0xb1, 0x01, 0x10, 0x85, + 0xb6, 0x01, 0x00, 0x02, 0xb8, 0x01, 0x10, 0x83, 0xc4, 0x01, 0x00, 0x02, + 0xb8, 0x01, 0x00, 0x82, 0xc8, 0x01, 0x00, 0x04, 0xd1, 0x01, 0x10, 0x81, + 0xb1, 0x01, 0x00, 0x02, 0xfa, 0x00, 0x00, 0x04, 0xff, 0x00, 0x00, 0x82, + 0x19, 0x01, 0x00, 0x04, 0xd5, 0x01, 0x00, 0x0d, 0xd5, 0x01, 0x00, 0x07, + 0xd5, 0x00, 0x01, 0x81, 0xd5, 0x01, 0x01, 0x04, 0xef, 0x00, 0x00, 0x86, + 0xe2, 0x00, 0x00, 0x8c, 0xff, 0x00, 0x10, 0x83, 0xda, 0x01, 0x10, 0x01, + 0xef, 0x00, 0x10, 0x03, 0xc4, 0x01, 0x00, 0x02, 0x42, 0x01, 0x00, 0x82, + 0xa0, 0x01, 0x00, 0x04, 0xb1, 0x01, 0x10, 0x85, 0xb6, 0x01, 0x00, 0x02, + 0xb8, 0x01, 0x10, 0x83, 0xc4, 0x01, 0x00, 0x02, 0xb8, 0x01, 0x00, 0x82, + 0xc8, 0x01, 0x00, 0x04, 0xd1, 0x01, 0x10, 0x85, 0xed, 0x00, 0x00, 0x02, + 0xe8, 0x01, 0x00, 0x04, 0xf1, 0x01, 0x10, 0x85, 0x76, 0x00, 0x00, 0x02, + 0xe8, 0x01, 0x00, 0x04, 0xf4, 0x01, 0x10, 0x81, 0xb1, 0x01, 0x00, 0x02, + 0xfa, 0x00, 0x00, 0x04, 0xf7, 0x01, 0x10, 0x83, 0xfa, 0x00, 0x10, 0x01, + 0xf7, 0x01, 0x10, 0x01, 0xb1, 0x01, 0x00, 0x02, 0x42, 0x01, 0x00, 0x82, + 0xfb, 0x01, 0x00, 0x04, 0x0c, 0x02, 0x10, 0x83, 0xef, 0x00, 0x10, 0x05, + 0x76, 0x00, 0x00, 0x02, 0x11, 0x02, 0x10, 0x83, 0x1a, 0x02, 0x10, 0x05, + 0xd5, 0x00, 0x00, 0x02, 0x11, 0x02, 0x10, 0x83, 0x1a, 0x02, 0x00, 0x02, + 0x1c, 0x02, 0x10, 0x83, 0xef, 0x00, 0x00, 0x02, 0x28, 0x02, 0x00, 0x04, + 0xef, 0x00, 0x10, 0x83, 0x1a, 0x02, 0x00, 0x02, 0x28, 0x02, 0x00, 0x04, + 0x1a, 0x02, 0x10, 0x83, 0x1f, 0x00, 0x10, 0x01, 0xef, 0x00, 0x10, 0x05, + 0x76, 0x00, 0x00, 0x02, 0x42, 0x01, 0x10, 0x83, 0x31, 0x02, 0x10, 0x01, + 0x1a, 0x02, 0x10, 0x05, 0xed, 0x00, 0x00, 0x02, 0x42, 0x01, 0x00, 0x85, + 0xed, 0x00, 0x00, 0x04, 0x3f, 0x02, 0x00, 0x85, 0xd5, 0x00, 0x00, 0x04, + 0x26, 0x01, 0x20, 0x85, 0xd5, 0x00, 0x20, 0x05, 0x8d, 0x01, 0x10, 0x02, + 0xf4, 0x00, 0x00, 0x02, 0xfa, 0x00, 0x00, 0x04, 0xff, 0x00, 0x00, 0x01, + 0x03, 0x01, 0x00, 0x01, 0x07, 0x01, 0x00, 0x04, 0x0b, 0x01, 0x00, 0x04, + 0x12, 0x01, 0x00, 0x82, 0x19, 0x01, 0x00, 0x04, 0x26, 0x01, 0x00, 0x0d, + 0x26, 0x01, 0x00, 0x07, 0xd5, 0x00, 0x01, 0x85, 0xd5, 0x00, 0x01, 0x04, + 0x43, 0x02, 0x01, 0x85, 0x76, 0x00, 0x01, 0x04, 0x45, 0x02, 0x21, 0x85, + 0xd5, 0x00, 0x21, 0x01, 0x26, 0x01, 0x11, 0x02, 0xf4, 0x00, 0x01, 0x02, + 0xfa, 0x00, 0x01, 0x04, 0x5b, 0x01, 0x01, 0x01, 0x03, 0x01, 0x01, 0x01, + 0x07, 0x01, 0x01, 0x04, 0x5f, 0x01, 0x01, 0x04, 0x66, 0x01, 0x01, 0x82, + 0x6d, 0x01, 0x01, 0x04, 0x43, 0x02, 0x01, 0x0d, 0x43, 0x02, 0x01, 0x07, + 0xd5, 0x00, 0x22, 0x81, 0x26, 0x01, 0x22, 0x01, 0x43, 0x02, 0x12, 0x08, + 0x4e, 0x02, 0x12, 0x05, 0xed, 0x00, 0x02, 0x08, 0x2a, 0x01, 0x02, 0x07, + 0x76, 0x00, 0x03, 0x85, 0xed, 0x00, 0x03, 0x04, 0x45, 0x02, 0x03, 0x8e, + 0x00, 0x00, 0x01, 0x86, 0xe2, 0x00, 0x01, 0x8c, 0x5b, 0x01, 0x01, 0x81, + 0x45, 0x02, 0x01, 0x07, 0x76, 0x00, 0x12, 0x81, 0x3f, 0x02, 0x12, 0x01, + 0x26, 0x01, 0x02, 0x08, 0x2d, 0x01, 0x02, 0x04, 0x3f, 0x02, 0x00, 0x86, + 0xe2, 0x00, 0x00, 0x8c, 0xff, 0x00, 0x10, 0x83, 0x50, 0x02, 0x10, 0x01, + 0x3f, 0x02, 0x10, 0x05, 0x60, 0x02, 0x00, 0x02, 0x42, 0x01, 0x10, 0x83, + 0x64, 0x02, 0x00, 0x02, 0x87, 0x00, 0x10, 0x83, 0x79, 0x02, 0x00, 0x02, + 0x87, 0x00, 0x10, 0x83, 0x64, 0x02, 0x00, 0x02, 0x87, 0x00, 0x10, 0x83, + 0x8e, 0x02, 0x00, 0x02, 0x87, 0x00, 0x00, 0x82, 0x9c, 0x02, 0x10, 0x83, + 0xa4, 0x02, 0x00, 0x02, 0x87, 0x00, 0x10, 0x83, 0xb1, 0x02, 0x00, 0x02, + 0x87, 0x00, 0xb9, 0x02, 0x00, 0x50, 0x69, 0x6b, 0x61, 0x4f, 0x62, 0x6a, + 0x00, 0x50, 0x69, 0x6b, 0x61, 0x4f, 0x62, 0x6a, 0x2e, 0x00, 0x2a, 0x00, + 0x50, 0x69, 0x6b, 0x61, 0x53, 0x74, 0x64, 0x4c, 0x69, 0x62, 0x00, 0x50, + 0x69, 0x6b, 0x61, 0x53, 0x74, 0x64, 0x44, 0x61, 0x74, 0x61, 0x00, 0x50, + 0x69, 0x6b, 0x61, 0x53, 0x74, 0x64, 0x4c, 0x69, 0x62, 0x2e, 0x4d, 0x65, + 0x6d, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x00, 0x6d, 0x65, 0x6d, + 0x00, 0x6d, 0x65, 0x6d, 0x2e, 0x72, 0x65, 0x73, 0x65, 0x74, 0x4d, 0x61, + 0x78, 0x00, 0x45, 0x58, 0x50, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x51, 0x28, + 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x69, 0x6e, + 0x70, 0x75, 0x74, 0x2c, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x29, 0x00, 0x31, 0x00, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x54, 0x45, 0x53, + 0x54, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x00, 0x70, 0x72, 0x69, 0x6e, 0x74, + 0x00, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x00, 0x69, + 0x6e, 0x70, 0x75, 0x74, 0x00, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x00, 0x21, 0x3d, 0x00, 0x5b, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x5d, + 0x00, 0x5b, 0x69, 0x6e, 0x66, 0x6f, 0x5d, 0x20, 0x45, 0x78, 0x70, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x3a, 0x00, 0x5b, 0x69, 0x6e, 0x66, 0x6f, 0x5d, + 0x20, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x3a, 0x00, 0x54, 0x72, 0x75, 0x65, + 0x00, 0x32, 0x00, 0x69, 0x73, 0x5f, 0x65, 0x72, 0x72, 0x20, 0x6f, 0x72, + 0x20, 0x00, 0x2d, 0x31, 0x00, 0x5b, 0x20, 0x4f, 0x4b, 0x20, 0x20, 0x5d, + 0x00, 0x30, 0x00, 0x61, 0x00, 0x31, 0x30, 0x00, 0x72, 0x61, 0x6e, 0x67, + 0x65, 0x00, 0x69, 0x74, 0x65, 0x72, 0x00, 0x5f, 0x6c, 0x30, 0x00, 0x5f, + 0x72, 0x31, 0x00, 0x5f, 0x72, 0x32, 0x00, 0x5f, 0x6c, 0x30, 0x2e, 0x61, + 0x32, 0x00, 0x5f, 0x6c, 0x30, 0x2e, 0x61, 0x31, 0x00, 0x5f, 0x6c, 0x30, + 0x2e, 0x5f, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x5f, 0x00, 0x69, 0x00, + 0x35, 0x00, 0x3d, 0x3d, 0x00, 0x2b, 0x00, 0x66, 0x6f, 0x72, 0x5f, 0x69, + 0x66, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x00, 0x34, + 0x30, 0x00, 0x45, 0x58, 0x50, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x51, 0x00, + 0x66, 0x6f, 0x72, 0x5f, 0x69, 0x66, 0x5f, 0x62, 0x72, 0x65, 0x61, 0x6b, + 0x00, 0x33, 0x00, 0x5f, 0x6c, 0x31, 0x00, 0x5f, 0x6c, 0x31, 0x2e, 0x61, + 0x32, 0x00, 0x5f, 0x6c, 0x31, 0x2e, 0x61, 0x31, 0x00, 0x5f, 0x6c, 0x31, + 0x2e, 0x5f, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x5f, 0x00, 0x6b, 0x00, + 0x66, 0x6f, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x5f, 0x72, + 0x61, 0x6e, 0x67, 0x65, 0x00, 0x33, 0x30, 0x00, 0x66, 0x6f, 0x72, 0x5f, + 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x00, 0x34, 0x35, 0x00, + 0x50, 0x69, 0x6b, 0x61, 0x53, 0x74, 0x64, 0x44, 0x61, 0x74, 0x61, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x00, 0x6c, 0x69, 0x73, 0x74, 0x00, 0x37, 0x00, + 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x00, + 0x65, 0x65, 0x65, 0x00, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x6c, 0x65, 0x6e, + 0x00, 0x6c, 0x65, 0x6e, 0x00, 0x69, 0x74, 0x65, 0x6d, 0x00, 0x6c, 0x69, + 0x73, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x6c, 0x6f, 0x6f, 0x70, 0x00, + 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x67, 0x65, 0x74, 0x00, 0x61, 0x31, 0x00, + 0x61, 0x32, 0x00, 0x72, 0x65, 0x73, 0x00, 0x50, 0x69, 0x6b, 0x61, 0x53, + 0x74, 0x64, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x69, 0x63, 0x74, 0x00, + 0x64, 0x69, 0x63, 0x74, 0x00, 0x64, 0x69, 0x63, 0x74, 0x2e, 0x73, 0x65, + 0x74, 0x00, 0x62, 0x00, 0x64, 0x69, 0x63, 0x74, 0x2e, 0x72, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x00, 0x64, 0x69, 0x63, 0x74, 0x2e, 0x67, 0x65, 0x74, + 0x00, 0x50, 0x69, 0x6b, 0x61, 0x53, 0x74, 0x64, 0x44, 0x61, 0x74, 0x61, + 0x5f, 0x32, 0x00, 0x6e, 0x75, 0x6d, 0x00, 0x6a, 0x00, 0x69, 0x73, 0x5f, + 0x70, 0x72, 0x69, 0x6d, 0x65, 0x00, 0x25, 0x00, 0x70, 0x72, 0x69, 0x6d, + 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x33, 0x30, 0x00, + 0x31, 0x32, 0x39, 0x00, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, + 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, + 0x00, 0x5b, 0x55, 0x6e, 0x69, 0x74, 0x20, 0x54, 0x65, 0x73, 0x74, 0x73, + 0x20, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x5d, 0x00, 0x6d, 0x65, + 0x6d, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x78, 0x3a, 0x00, + 0x6d, 0x65, 0x6d, 0x2e, 0x6d, 0x61, 0x78, 0x00, 0x74, 0x65, 0x73, 0x74, + 0x5c, 0x72, 0x5c, 0x6e, 0x5c, 0x72, 0x5c, 0x6e, 0x00, 0x65, 0x6e, 0x64, + 0x5c, 0x72, 0x5c, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x00, +}; diff --git a/bsp/pico-dev/pikascript/pikascript-api/compiler-info.txt b/bsp/pico-dev/pikascript/pikascript-api/compiler-info.txt new file mode 100644 index 000000000..168682397 --- /dev/null +++ b/bsp/pico-dev/pikascript/pikascript-api/compiler-info.txt @@ -0,0 +1 @@ +Compiler { dist_path: "pikascript-api/", source_path: "", class_list: {"PikaDebug": ClassInfo { this_class_name: "PikaDebug", this_class_name_without_file: "PikaDebug", super_class_name: "TinyObj", method_list: {"Debuger": MethodInfo { class_name: "PikaDebug", name: "Debuger", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: true }, "PikaDebug_Debuger": ClassInfo { this_class_name: "PikaDebug_Debuger", this_class_name_without_file: "Debuger", super_class_name: "TinyObj", method_list: {"__init__": MethodInfo { class_name: "PikaDebug_Debuger", name: "__init__", arg_list: None, return_type: None, is_constructor: false }, "set_trace": MethodInfo { class_name: "PikaDebug_Debuger", name: "set_trace", arg_list: None, return_type: None, is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaMain": ClassInfo { this_class_name: "PikaMain", this_class_name_without_file: "PikaMain", super_class_name: "PikaStdLib_SysObj", method_list: {}, object_list: {"PikaStdData": ObjectInfo { class_name: "PikaMain", name: "PikaStdData", import_class_name: "PikaStdData" }, "PikaStdLib": ObjectInfo { class_name: "PikaMain", name: "PikaStdLib", import_class_name: "PikaStdLib" }}, import_list: {}, script_list: Script { content: "@BEGIN@import PikaStdLib@END@@BEGIN@import PikaStdData@END@@BEGIN@@END@@BEGIN@mem = PikaStdLib.MemChecker()@END@@BEGIN@mem.resetMax()@END@@BEGIN@def EXPECT_EQ(test_name, input, expected):@END@@BEGIN@ print('-----TEST-----')@END@@BEGIN@ print(test_name)@END@@BEGIN@ if input != expected:@END@@BEGIN@ print('[Error]')@END@@BEGIN@ print(test_name)@END@@BEGIN@ print('[info] Expected:')@END@@BEGIN@ print(expected)@END@@BEGIN@ print('[info] Input:')@END@@BEGIN@ print(input)@END@@BEGIN@ # error@END@@BEGIN@ while True:@END@@BEGIN@ is_error = 1@END@@BEGIN@ else:@END@@BEGIN@ print('[ OK ]')@END@@BEGIN@@END@@BEGIN@a = 0@END@@BEGIN@for i in range(0, 10):@END@@BEGIN@ if i == 5:@END@@BEGIN@ continue@END@@BEGIN@ a = a + i@END@@BEGIN@EXPECT_EQ('for_if_continue', a, 40)@END@@BEGIN@ @END@@BEGIN@a = 0@END@@BEGIN@for i in range(0, 10):@END@@BEGIN@ if i == 5:@END@@BEGIN@ break@END@@BEGIN@ a = a + i@END@@BEGIN@EXPECT_EQ('for_if_break', a, 10)@END@@BEGIN@@END@@BEGIN@a = 0@END@@BEGIN@for i in range(0, 10):@END@@BEGIN@ for k in range(0, 3):@END@@BEGIN@ # print(k)@END@@BEGIN@ a = a + k@END@@BEGIN@EXPECT_EQ('for_for_in_range', a, 30)@END@@BEGIN@@END@@BEGIN@a = 0@END@@BEGIN@for i in range(0, 10):@END@@BEGIN@ # print(i)@END@@BEGIN@ a = a + i@END@@BEGIN@EXPECT_EQ('for_in_range', a, 45)@END@@BEGIN@@END@@BEGIN@list = PikaStdData.List()@END@@BEGIN@list.append(7)@END@@BEGIN@list.append('eee')@END@@BEGIN@len = list.len()@END@@BEGIN@for item in list:@END@@BEGIN@ # print(item)@END@@BEGIN@ a = item@END@@BEGIN@EXPECT_EQ('list_for_loop', a, 'eee')@END@@BEGIN@@END@@BEGIN@@END@@BEGIN@list = PikaStdData.List()@END@@BEGIN@list.append(7)@END@@BEGIN@list.append('eee')@END@@BEGIN@len = list.len()@END@@BEGIN@a1 = list.get(0)@END@@BEGIN@a2 = list.get(1)@END@@BEGIN@res = iter(list)@END@@BEGIN@EXPECT_EQ('iter', res, list)@END@@BEGIN@@END@@BEGIN@dict = PikaStdData.Dict()@END@@BEGIN@dict.set('a', 1)@END@@BEGIN@dict.set('b', 2)@END@@BEGIN@dict.remove('b')@END@@BEGIN@a = dict.get('a')@END@@BEGIN@b = dict.get('b')@END@@BEGIN@EXPECT_EQ('PikaStdData', a, 1)@END@@BEGIN@EXPECT_EQ('PikaStdData_2', b, 0)@END@@BEGIN@@END@@BEGIN@num = 0@END@@BEGIN@i = 2@END@@BEGIN@for i in range(2,30):@END@@BEGIN@ j=2@END@@BEGIN@ is_prime = 1@END@@BEGIN@ for j in range(2,i):@END@@BEGIN@ if i%j==0 :@END@@BEGIN@ is_prime = 0@END@@BEGIN@ break@END@@BEGIN@ if is_prime:@END@@BEGIN@ num = num + i@END@@BEGIN@EXPECT_EQ('prime_number_30', num, 129)@END@@BEGIN@@END@@BEGIN@@END@@BEGIN@print('====================')@END@@BEGIN@print('[Unit Tests Succeed]')@END@@BEGIN@print('====================')@END@@BEGIN@print('mem used max:')@END@@BEGIN@mem.max()@END@@BEGIN@@END@@BEGIN@@END@@BEGIN@print(\"test\\r\\n\\r\\n\")@END@@BEGIN@print(\"end\\r\\n\")@END@" }, is_package: false }, "PikaStdData": ClassInfo { this_class_name: "PikaStdData", this_class_name_without_file: "PikaStdData", super_class_name: "TinyObj", method_list: {"ByteArray": MethodInfo { class_name: "PikaStdData", name: "ByteArray", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }, "Dict": MethodInfo { class_name: "PikaStdData", name: "Dict", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }, "List": MethodInfo { class_name: "PikaStdData", name: "List", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }, "String": MethodInfo { class_name: "PikaStdData", name: "String", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: true }, "PikaStdData_ByteArray": ClassInfo { this_class_name: "PikaStdData_ByteArray", this_class_name_without_file: "ByteArray", super_class_name: "PikaStdData_List", method_list: {"fromString": MethodInfo { class_name: "PikaStdData_ByteArray", name: "fromString", arg_list: Some(ArgList { py_arg_list: "s:str", list: {"s": PyArg { py_type: PyType { type_name: "str" }, name: "s" }} }), return_type: None, is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdData_Dict": ClassInfo { this_class_name: "PikaStdData_Dict", this_class_name_without_file: "Dict", super_class_name: "TinyObj", method_list: {"__get__": MethodInfo { class_name: "PikaStdData_Dict", name: "__get__", arg_list: Some(ArgList { py_arg_list: "__key:any", list: {"__key": PyArg { py_type: PyType { type_name: "any" }, name: "__key" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__init__": MethodInfo { class_name: "PikaStdData_Dict", name: "__init__", arg_list: None, return_type: None, is_constructor: false }, "__iter__": MethodInfo { class_name: "PikaStdData_Dict", name: "__iter__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__next__": MethodInfo { class_name: "PikaStdData_Dict", name: "__next__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__set__": MethodInfo { class_name: "PikaStdData_Dict", name: "__set__", arg_list: Some(ArgList { py_arg_list: "__key:any,__val:any", list: {"__key": PyArg { py_type: PyType { type_name: "any" }, name: "__key" }, "__val": PyArg { py_type: PyType { type_name: "any" }, name: "__val" }} }), return_type: None, is_constructor: false }, "get": MethodInfo { class_name: "PikaStdData_Dict", name: "get", arg_list: Some(ArgList { py_arg_list: "key:str", list: {"key": PyArg { py_type: PyType { type_name: "str" }, name: "key" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "remove": MethodInfo { class_name: "PikaStdData_Dict", name: "remove", arg_list: Some(ArgList { py_arg_list: "key:str", list: {"key": PyArg { py_type: PyType { type_name: "str" }, name: "key" }} }), return_type: None, is_constructor: false }, "set": MethodInfo { class_name: "PikaStdData_Dict", name: "set", arg_list: Some(ArgList { py_arg_list: "key:str,arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }, "key": PyArg { py_type: PyType { type_name: "str" }, name: "key" }} }), return_type: None, is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdData_List": ClassInfo { this_class_name: "PikaStdData_List", this_class_name_without_file: "List", super_class_name: "TinyObj", method_list: {"__get__": MethodInfo { class_name: "PikaStdData_List", name: "__get__", arg_list: Some(ArgList { py_arg_list: "__key:any", list: {"__key": PyArg { py_type: PyType { type_name: "any" }, name: "__key" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__init__": MethodInfo { class_name: "PikaStdData_List", name: "__init__", arg_list: None, return_type: None, is_constructor: false }, "__iter__": MethodInfo { class_name: "PikaStdData_List", name: "__iter__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__next__": MethodInfo { class_name: "PikaStdData_List", name: "__next__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__set__": MethodInfo { class_name: "PikaStdData_List", name: "__set__", arg_list: Some(ArgList { py_arg_list: "__key:any,__val:any", list: {"__key": PyArg { py_type: PyType { type_name: "any" }, name: "__key" }, "__val": PyArg { py_type: PyType { type_name: "any" }, name: "__val" }} }), return_type: None, is_constructor: false }, "append": MethodInfo { class_name: "PikaStdData_List", name: "append", arg_list: Some(ArgList { py_arg_list: "arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }} }), return_type: None, is_constructor: false }, "get": MethodInfo { class_name: "PikaStdData_List", name: "get", arg_list: Some(ArgList { py_arg_list: "i:int", list: {"i": PyArg { py_type: PyType { type_name: "int" }, name: "i" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "len": MethodInfo { class_name: "PikaStdData_List", name: "len", arg_list: None, return_type: Some(PyType { type_name: "int" }), is_constructor: false }, "set": MethodInfo { class_name: "PikaStdData_List", name: "set", arg_list: Some(ArgList { py_arg_list: "i:int,arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }, "i": PyArg { py_type: PyType { type_name: "int" }, name: "i" }} }), return_type: None, is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdData_String": ClassInfo { this_class_name: "PikaStdData_String", this_class_name_without_file: "String", super_class_name: "TinyObj", method_list: {"__get__": MethodInfo { class_name: "PikaStdData_String", name: "__get__", arg_list: Some(ArgList { py_arg_list: "__key:any", list: {"__key": PyArg { py_type: PyType { type_name: "any" }, name: "__key" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__init__": MethodInfo { class_name: "PikaStdData_String", name: "__init__", arg_list: Some(ArgList { py_arg_list: "s:str", list: {"s": PyArg { py_type: PyType { type_name: "str" }, name: "s" }} }), return_type: None, is_constructor: false }, "__iter__": MethodInfo { class_name: "PikaStdData_String", name: "__iter__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__next__": MethodInfo { class_name: "PikaStdData_String", name: "__next__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__set__": MethodInfo { class_name: "PikaStdData_String", name: "__set__", arg_list: Some(ArgList { py_arg_list: "__key:any,__val:any", list: {"__key": PyArg { py_type: PyType { type_name: "any" }, name: "__key" }, "__val": PyArg { py_type: PyType { type_name: "any" }, name: "__val" }} }), return_type: None, is_constructor: false }, "get": MethodInfo { class_name: "PikaStdData_String", name: "get", arg_list: None, return_type: Some(PyType { type_name: "str" }), is_constructor: false }, "set": MethodInfo { class_name: "PikaStdData_String", name: "set", arg_list: Some(ArgList { py_arg_list: "s:str", list: {"s": PyArg { py_type: PyType { type_name: "str" }, name: "s" }} }), return_type: None, is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdLib": ClassInfo { this_class_name: "PikaStdLib", this_class_name_without_file: "PikaStdLib", super_class_name: "TinyObj", method_list: {"MemChecker": MethodInfo { class_name: "PikaStdLib", name: "MemChecker", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }, "PikaObj": MethodInfo { class_name: "PikaStdLib", name: "PikaObj", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }, "RangeObj": MethodInfo { class_name: "PikaStdLib", name: "RangeObj", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }, "StringObj": MethodInfo { class_name: "PikaStdLib", name: "StringObj", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }, "SysObj": MethodInfo { class_name: "PikaStdLib", name: "SysObj", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: true }, "PikaStdLib_MemChecker": ClassInfo { this_class_name: "PikaStdLib_MemChecker", this_class_name_without_file: "MemChecker", super_class_name: "TinyObj", method_list: {"getMax": MethodInfo { class_name: "PikaStdLib_MemChecker", name: "getMax", arg_list: None, return_type: Some(PyType { type_name: "float" }), is_constructor: false }, "getNow": MethodInfo { class_name: "PikaStdLib_MemChecker", name: "getNow", arg_list: None, return_type: Some(PyType { type_name: "float" }), is_constructor: false }, "max": MethodInfo { class_name: "PikaStdLib_MemChecker", name: "max", arg_list: None, return_type: None, is_constructor: false }, "now": MethodInfo { class_name: "PikaStdLib_MemChecker", name: "now", arg_list: None, return_type: None, is_constructor: false }, "resetMax": MethodInfo { class_name: "PikaStdLib_MemChecker", name: "resetMax", arg_list: None, return_type: None, is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdLib_PikaObj": ClassInfo { this_class_name: "PikaStdLib_PikaObj", this_class_name_without_file: "PikaObj", super_class_name: "TinyObj", method_list: {}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdLib_RangeObj": ClassInfo { this_class_name: "PikaStdLib_RangeObj", this_class_name_without_file: "RangeObj", super_class_name: "TinyObj", method_list: {"__next__": MethodInfo { class_name: "PikaStdLib_RangeObj", name: "__next__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdLib_StringObj": ClassInfo { this_class_name: "PikaStdLib_StringObj", this_class_name_without_file: "StringObj", super_class_name: "TinyObj", method_list: {"__next__": MethodInfo { class_name: "PikaStdLib_StringObj", name: "__next__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdLib_SysObj": ClassInfo { this_class_name: "PikaStdLib_SysObj", this_class_name_without_file: "SysObj", super_class_name: "BaseObj", method_list: {"__get__": MethodInfo { class_name: "PikaStdLib_SysObj", name: "__get__", arg_list: Some(ArgList { py_arg_list: "obj:any,key:any", list: {"key": PyArg { py_type: PyType { type_name: "any" }, name: "key" }, "obj": PyArg { py_type: PyType { type_name: "any" }, name: "obj" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__set__": MethodInfo { class_name: "PikaStdLib_SysObj", name: "__set__", arg_list: Some(ArgList { py_arg_list: "obj:any,key:any,val:any,obj_str:str", list: {"key": PyArg { py_type: PyType { type_name: "any" }, name: "key" }, "obj": PyArg { py_type: PyType { type_name: "any" }, name: "obj" }, "obj_str": PyArg { py_type: PyType { type_name: "str" }, name: "obj_str" }, "val": PyArg { py_type: PyType { type_name: "any" }, name: "val" }} }), return_type: None, is_constructor: false }, "dict": MethodInfo { class_name: "PikaStdLib_SysObj", name: "dict", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "float": MethodInfo { class_name: "PikaStdLib_SysObj", name: "float", arg_list: Some(ArgList { py_arg_list: "arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }} }), return_type: Some(PyType { type_name: "float" }), is_constructor: false }, "int": MethodInfo { class_name: "PikaStdLib_SysObj", name: "int", arg_list: Some(ArgList { py_arg_list: "arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }} }), return_type: Some(PyType { type_name: "int" }), is_constructor: false }, "iter": MethodInfo { class_name: "PikaStdLib_SysObj", name: "iter", arg_list: Some(ArgList { py_arg_list: "arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "len": MethodInfo { class_name: "PikaStdLib_SysObj", name: "len", arg_list: Some(ArgList { py_arg_list: "arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }} }), return_type: Some(PyType { type_name: "int" }), is_constructor: false }, "list": MethodInfo { class_name: "PikaStdLib_SysObj", name: "list", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "range": MethodInfo { class_name: "PikaStdLib_SysObj", name: "range", arg_list: Some(ArgList { py_arg_list: "a1:int,a2:int", list: {"a1": PyArg { py_type: PyType { type_name: "int" }, name: "a1" }, "a2": PyArg { py_type: PyType { type_name: "int" }, name: "a2" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "remove": MethodInfo { class_name: "PikaStdLib_SysObj", name: "remove", arg_list: Some(ArgList { py_arg_list: "argPath:str", list: {"argPath": PyArg { py_type: PyType { type_name: "str" }, name: "argPath" }} }), return_type: None, is_constructor: false }, "str": MethodInfo { class_name: "PikaStdLib_SysObj", name: "str", arg_list: Some(ArgList { py_arg_list: "arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }} }), return_type: Some(PyType { type_name: "str" }), is_constructor: false }, "type": MethodInfo { class_name: "PikaStdLib_SysObj", name: "type", arg_list: Some(ArgList { py_arg_list: "arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }} }), return_type: None, is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdTask": ClassInfo { this_class_name: "PikaStdTask", this_class_name_without_file: "PikaStdTask", super_class_name: "TinyObj", method_list: {"Task": MethodInfo { class_name: "PikaStdTask", name: "Task", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: true }, "PikaStdTask_Task": ClassInfo { this_class_name: "PikaStdTask_Task", this_class_name_without_file: "Task", super_class_name: "TinyObj", method_list: {"__init__": MethodInfo { class_name: "PikaStdTask_Task", name: "__init__", arg_list: None, return_type: None, is_constructor: false }, "call_always": MethodInfo { class_name: "PikaStdTask_Task", name: "call_always", arg_list: Some(ArgList { py_arg_list: "fun_todo:any", list: {"fun_todo": PyArg { py_type: PyType { type_name: "any" }, name: "fun_todo" }} }), return_type: None, is_constructor: false }, "call_period_ms": MethodInfo { class_name: "PikaStdTask_Task", name: "call_period_ms", arg_list: Some(ArgList { py_arg_list: "fun_todo:any,period_ms:int", list: {"fun_todo": PyArg { py_type: PyType { type_name: "any" }, name: "fun_todo" }, "period_ms": PyArg { py_type: PyType { type_name: "int" }, name: "period_ms" }} }), return_type: None, is_constructor: false }, "call_when": MethodInfo { class_name: "PikaStdTask_Task", name: "call_when", arg_list: Some(ArgList { py_arg_list: "fun_todo:any,fun_when:any", list: {"fun_todo": PyArg { py_type: PyType { type_name: "any" }, name: "fun_todo" }, "fun_when": PyArg { py_type: PyType { type_name: "any" }, name: "fun_when" }} }), return_type: None, is_constructor: false }, "platformGetTick": MethodInfo { class_name: "PikaStdTask_Task", name: "platformGetTick", arg_list: None, return_type: None, is_constructor: false }, "run_forever": MethodInfo { class_name: "PikaStdTask_Task", name: "run_forever", arg_list: None, return_type: None, is_constructor: false }, "run_once": MethodInfo { class_name: "PikaStdTask_Task", name: "run_once", arg_list: None, return_type: None, is_constructor: false }, "run_until_ms": MethodInfo { class_name: "PikaStdTask_Task", name: "run_until_ms", arg_list: Some(ArgList { py_arg_list: "until_ms:int", list: {"until_ms": PyArg { py_type: PyType { type_name: "int" }, name: "until_ms" }} }), return_type: None, is_constructor: false }}, object_list: {"calls": ObjectInfo { class_name: "PikaStdTask_Task", name: "calls", import_class_name: "PikaStdData_List" }}, import_list: {}, script_list: Script { content: "" }, is_package: false }}, class_now_name: Some("PikaDebug_Debuger"), package_now_name: Some("PikaDebug"), compiled_list: ["main", "PikaStdLib", "PikaStdData", "PikaStdTask", "PikaStdData", "PikaStdData", "PikaDebug"] } \ No newline at end of file diff --git a/bsp/pico-dev/pikascript/pikascript-api/pikaModules.py.a b/bsp/pico-dev/pikascript/pikascript-api/pikaModules.py.a new file mode 100644 index 000000000..cb6cdeee7 Binary files /dev/null and b/bsp/pico-dev/pikascript/pikascript-api/pikaModules.py.a differ diff --git a/bsp/pico-dev/pikascript/pikascript-api/pikaScript.c b/bsp/pico-dev/pikascript/pikascript-api/pikaScript.c new file mode 100644 index 000000000..570f71be8 --- /dev/null +++ b/bsp/pico-dev/pikascript/pikascript-api/pikaScript.c @@ -0,0 +1,109 @@ +/* ******************************** */ +/* Warning! Don't modify this file! */ +/* ******************************** */ +#include "PikaMain.h" +#include +#include + +PikaObj *__pikaMain; +PikaObj *pikaScriptInit(void){ + __platform_printf("======[pikascript packages installed]======\r\n"); + __platform_printf("===========================================\r\n"); + __pikaMain = newRootObj("pikaMain", New_PikaMain); + extern unsigned char pikaModules_py_a[]; + obj_linkLibrary(__pikaMain, pikaModules_py_a); +#if PIKA_INIT_STRING_ENABLE + obj_run(__pikaMain, + "import PikaStdLib\n" + "import PikaStdData\n" + "mem = PikaStdLib.MemChecker()\n" + "mem.resetMax()\n" + "def EXPECT_EQ(test_name, input, expected):\n" + " print('-----TEST-----')\n" + " print(test_name)\n" + " if input != expected:\n" + " print('[Error]')\n" + " print(test_name)\n" + " print('[info] Expected:')\n" + " print(expected)\n" + " print('[info] Input:')\n" + " print(input)\n" + " # error\n" + " while True:\n" + " is_error = 1\n" + " else:\n" + " print('[ OK ]')\n" + "a = 0\n" + "for i in range(0, 10):\n" + " if i == 5:\n" + " continue\n" + " a = a + i\n" + "EXPECT_EQ('for_if_continue', a, 40)\n" + " \n" + "a = 0\n" + "for i in range(0, 10):\n" + " if i == 5:\n" + " break\n" + " a = a + i\n" + "EXPECT_EQ('for_if_break', a, 10)\n" + "a = 0\n" + "for i in range(0, 10):\n" + " for k in range(0, 3):\n" + " # print(k)\n" + " a = a + k\n" + "EXPECT_EQ('for_for_in_range', a, 30)\n" + "a = 0\n" + "for i in range(0, 10):\n" + " # print(i)\n" + " a = a + i\n" + "EXPECT_EQ('for_in_range', a, 45)\n" + "list = PikaStdData.List()\n" + "list.append(7)\n" + "list.append('eee')\n" + "len = list.len()\n" + "for item in list:\n" + " # print(item)\n" + " a = item\n" + "EXPECT_EQ('list_for_loop', a, 'eee')\n" + "list = PikaStdData.List()\n" + "list.append(7)\n" + "list.append('eee')\n" + "len = list.len()\n" + "a1 = list.get(0)\n" + "a2 = list.get(1)\n" + "res = iter(list)\n" + "EXPECT_EQ('iter', res, list)\n" + "dict = PikaStdData.Dict()\n" + "dict.set('a', 1)\n" + "dict.set('b', 2)\n" + "dict.remove('b')\n" + "a = dict.get('a')\n" + "b = dict.get('b')\n" + "EXPECT_EQ('PikaStdData', a, 1)\n" + "EXPECT_EQ('PikaStdData_2', b, 0)\n" + "num = 0\n" + "i = 2\n" + "for i in range(2,30):\n" + " j=2\n" + " is_prime = 1\n" + " for j in range(2,i):\n" + " if i%j==0 :\n" + " is_prime = 0\n" + " break\n" + " if is_prime:\n" + " num = num + i\n" + "EXPECT_EQ('prime_number_30', num, 129)\n" + "print('====================')\n" + "print('[Unit Tests Succeed]')\n" + "print('====================')\n" + "print('mem used max:')\n" + "mem.max()\n" + "print(\"test\\r\\n\\r\\n\")\n" + "print(\"end\\r\\n\")\n" + "\n"); +#else + obj_runModule(__pikaMain, "main"); +#endif + return __pikaMain; +} + diff --git a/bsp/pico-dev/pikascript/pikascript-api/pikaScript.h b/bsp/pico-dev/pikascript/pikascript-api/pikaScript.h new file mode 100644 index 000000000..3b5c169f2 --- /dev/null +++ b/bsp/pico-dev/pikascript/pikascript-api/pikaScript.h @@ -0,0 +1,13 @@ +/* ******************************** */ +/* Warning! Don't modify this file! */ +/* ******************************** */ +#ifndef __pikaScript__H +#define __pikaScript__H +#include +#include +#include "PikaObj.h" +#include "PikaMain.h" + +PikaObj * pikaScriptInit(void); + +#endif diff --git a/bsp/pico-dev/pikascript/rust-msc-latest-win10.exe b/bsp/pico-dev/pikascript/rust-msc-latest-win10.exe index 2d9fee590..e84369603 100644 Binary files a/bsp/pico-dev/pikascript/rust-msc-latest-win10.exe and b/bsp/pico-dev/pikascript/rust-msc-latest-win10.exe differ