mirror of
https://gitee.com/Lyon1998/pikapython.git
synced 2025-01-29 17:22:56 +08:00
update bytecode_gen to v1.5.2
This commit is contained in:
parent
f4b1b5fbd8
commit
4ddb60726a
0
tools/pikaByteCodeGen/.vs/CMake Overview
Normal file
0
tools/pikaByteCodeGen/.vs/CMake Overview
Normal file
3
tools/pikaByteCodeGen/.vs/ProjectSettings.json
Normal file
3
tools/pikaByteCodeGen/.vs/ProjectSettings.json
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"CurrentProjectSetting": "x64-Debug"
|
||||||
|
}
|
8
tools/pikaByteCodeGen/.vs/VSWorkspaceState.json
Normal file
8
tools/pikaByteCodeGen/.vs/VSWorkspaceState.json
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"ExpandedNodes": [
|
||||||
|
"",
|
||||||
|
"\\pikascript"
|
||||||
|
],
|
||||||
|
"SelectedNode": "\\main.c",
|
||||||
|
"PreviewInSolutionExplorer": false
|
||||||
|
}
|
BIN
tools/pikaByteCodeGen/.vs/cmake.db
Normal file
BIN
tools/pikaByteCodeGen/.vs/cmake.db
Normal file
Binary file not shown.
BIN
tools/pikaByteCodeGen/.vs/pikaByteCodeGen/v17/.suo
Normal file
BIN
tools/pikaByteCodeGen/.vs/pikaByteCodeGen/v17/.suo
Normal file
Binary file not shown.
BIN
tools/pikaByteCodeGen/.vs/pikaByteCodeGen/v17/Browse.VC.db
Normal file
BIN
tools/pikaByteCodeGen/.vs/pikaByteCodeGen/v17/Browse.VC.db
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
tools/pikaByteCodeGen/.vs/slnx.sqlite
Normal file
BIN
tools/pikaByteCodeGen/.vs/slnx.sqlite
Normal file
Binary file not shown.
@ -5,6 +5,8 @@
|
|||||||
#include "PikaParser.h"
|
#include "PikaParser.h"
|
||||||
#include "dataStrs.h"
|
#include "dataStrs.h"
|
||||||
|
|
||||||
|
PikaObj* __pikaMain;
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
FILE* file_mian_py = fopen("main.py", "rb");
|
FILE* file_mian_py = fopen("main.py", "rb");
|
||||||
if (NULL == file_mian_py) {
|
if (NULL == file_mian_py) {
|
||||||
@ -29,55 +31,3 @@ void main() {
|
|||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* portable */
|
|
||||||
void __platformDisableIrqHandle(void) {
|
|
||||||
/* disable irq to support thread */
|
|
||||||
}
|
|
||||||
void __platformEnableIrqHandle(void) {
|
|
||||||
/* disable irq to support thread */
|
|
||||||
}
|
|
||||||
void* __platformMalloc(size_t size) {
|
|
||||||
return malloc(size);
|
|
||||||
}
|
|
||||||
void __platformFree(void* ptr) {
|
|
||||||
free(ptr);
|
|
||||||
}
|
|
||||||
void* __impl_pikaMalloc(size_t size) {
|
|
||||||
return __platformMalloc(size);
|
|
||||||
}
|
|
||||||
void __impl_pikaFree(void* ptrm, size_t size) {
|
|
||||||
__platformFree(ptrm);
|
|
||||||
}
|
|
||||||
void __platformPoolInit(void) {}
|
|
||||||
uint8_t __is_quick_malloc(void) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
void __quick_malloc_enable(void) {}
|
|
||||||
void __quick_malloc_disable(void) {}
|
|
||||||
uint8_t __isLocked_pikaMemory(void) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
void __platformPrintf(char* fmt, ...) {
|
|
||||||
va_list args;
|
|
||||||
va_start(args, fmt);
|
|
||||||
vprintf(fmt, args);
|
|
||||||
va_end(args);
|
|
||||||
}
|
|
||||||
char* __platformLoadPikaAsm(void) {
|
|
||||||
/* faild */
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
int32_t __platformSavePikaAsm(char* PikaAsm) {
|
|
||||||
/* faild */
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
uint8_t __platformAsmIsToFlash(char* pyMultiLine) {
|
|
||||||
/* not to flash */
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
int32_t __platformSavePikaAsmEOF(void) {
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
@ -1,28 +1,95 @@
|
|||||||
time = STM32.Time()
|
import PikaStdLib
|
||||||
uart = STM32.UART()
|
import PikaStdData
|
||||||
adc = STM32.ADC()
|
|
||||||
pin = STM32.GPIO()
|
|
||||||
pwm = STM32.PWM()
|
|
||||||
uart = STM32.UART()
|
|
||||||
rgb = PikaPiZero.RGB()
|
|
||||||
mem = PikaStdLib.MemChecker()
|
mem = PikaStdLib.MemChecker()
|
||||||
op = PikaMath.Operator()
|
mem.resetMax()
|
||||||
|
def EXPECT_EQ(test_name, input, expected):
|
||||||
|
print('-----TEST-----')
|
||||||
|
print(test_name)
|
||||||
|
if input != expected:
|
||||||
|
print('[Error]')
|
||||||
|
print(test_name)
|
||||||
|
print('[info] Expected:')
|
||||||
|
print(expected)
|
||||||
|
print('[info] Input:')
|
||||||
|
print(input)
|
||||||
|
# error
|
||||||
|
while True:
|
||||||
|
is_error = 1
|
||||||
|
else:
|
||||||
|
print('[ OK ]')
|
||||||
|
|
||||||
uart.init()
|
a = 0
|
||||||
uart.setId(1)
|
for i in range(0, 10):
|
||||||
uart.setBaudRate(115200)
|
if i == 5:
|
||||||
uart.enable()
|
continue
|
||||||
|
a = a + i
|
||||||
|
EXPECT_EQ('for_if_continue', a, 40)
|
||||||
|
|
||||||
|
a = 0
|
||||||
|
for i in range(0, 10):
|
||||||
|
if i == 5:
|
||||||
|
break
|
||||||
|
a = a + i
|
||||||
|
EXPECT_EQ('for_if_break', a, 10)
|
||||||
|
|
||||||
rgb.init()
|
a = 0
|
||||||
rgb.enable()
|
for i in range(0, 10):
|
||||||
|
for k in range(0, 3):
|
||||||
|
# print(k)
|
||||||
|
a = a + k
|
||||||
|
EXPECT_EQ('for_for_in_range', a, 30)
|
||||||
|
|
||||||
print('hello 2')
|
a = 0
|
||||||
|
for i in range(0, 10):
|
||||||
|
# print(i)
|
||||||
|
a = a + i
|
||||||
|
EXPECT_EQ('for_in_range', a, 45)
|
||||||
|
|
||||||
|
list = PikaStdData.List()
|
||||||
|
list.append(7)
|
||||||
|
list.append('eee')
|
||||||
|
len = list.len()
|
||||||
|
for item in list:
|
||||||
|
# print(item)
|
||||||
|
a = item
|
||||||
|
EXPECT_EQ('list_for_loop', a, 'eee')
|
||||||
|
|
||||||
|
|
||||||
|
list = PikaStdData.List()
|
||||||
|
list.append(7)
|
||||||
|
list.append('eee')
|
||||||
|
len = list.len()
|
||||||
|
a1 = list.get(0)
|
||||||
|
a2 = list.get(1)
|
||||||
|
res = iter(list)
|
||||||
|
EXPECT_EQ('iter', res, list)
|
||||||
|
|
||||||
|
dict = PikaStdData.Dict()
|
||||||
|
dict.set('a', 1)
|
||||||
|
dict.set('b', 2)
|
||||||
|
dict.remove('b')
|
||||||
|
a = dict.get('a')
|
||||||
|
b = dict.get('b')
|
||||||
|
EXPECT_EQ('PikaStdData', a, 1)
|
||||||
|
EXPECT_EQ('PikaStdData_2', b, 0)
|
||||||
|
|
||||||
|
num = 0
|
||||||
|
i = 2
|
||||||
|
for i in range(2,30):
|
||||||
|
j=2
|
||||||
|
is_prime = 1
|
||||||
|
for j in range(2,i):
|
||||||
|
if i%j==0 :
|
||||||
|
is_prime = 0
|
||||||
|
break
|
||||||
|
if is_prime:
|
||||||
|
num = num + i
|
||||||
|
EXPECT_EQ('prime_number_30', num, 129)
|
||||||
|
|
||||||
|
|
||||||
|
print('====================')
|
||||||
|
print('[Unit Tests Succeed]')
|
||||||
|
print('====================')
|
||||||
print('mem used max:')
|
print('mem used max:')
|
||||||
mem.max()
|
mem.max()
|
||||||
|
|
||||||
while True:
|
|
||||||
time.sleep_ms(10)
|
|
||||||
rgb.flow()
|
|
||||||
print('flowing')
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,68 +1,426 @@
|
|||||||
B0
|
B0
|
||||||
0 RUN STM32.Time
|
0 REF importPikaStdLib
|
||||||
0 OUT time
|
|
||||||
B0
|
B0
|
||||||
0 RUN STM32.UART
|
0 REF importPikaStdData
|
||||||
0 OUT uart
|
|
||||||
B0
|
B0
|
||||||
0 RUN STM32.ADC
|
|
||||||
0 OUT adc
|
|
||||||
B0
|
|
||||||
0 RUN STM32.GPIO
|
|
||||||
0 OUT pin
|
|
||||||
B0
|
|
||||||
0 RUN STM32.PWM
|
|
||||||
0 OUT pwm
|
|
||||||
B0
|
|
||||||
0 RUN STM32.UART
|
|
||||||
0 OUT uart
|
|
||||||
B0
|
|
||||||
0 RUN PikaPiZero.RGB
|
|
||||||
0 OUT rgb
|
|
||||||
B0
|
B0
|
||||||
0 RUN PikaStdLib.MemChecker
|
0 RUN PikaStdLib.MemChecker
|
||||||
0 OUT mem
|
0 OUT mem
|
||||||
B0
|
B0
|
||||||
0 RUN PikaMath.Operator
|
0 RUN mem.resetMax
|
||||||
0 OUT op
|
B0
|
||||||
|
0 DEF EXPECT_EQ(test_name,input,expected)
|
||||||
|
0 JMP 1
|
||||||
|
B1
|
||||||
|
1 STR -----TEST-----
|
||||||
|
0 RUN print
|
||||||
|
B1
|
||||||
|
1 REF test_name
|
||||||
|
0 RUN print
|
||||||
|
B1
|
||||||
|
1 REF input
|
||||||
|
1 REF expected
|
||||||
|
0 OPT !=
|
||||||
|
0 JEZ 1
|
||||||
|
B2
|
||||||
|
1 STR [Error]
|
||||||
|
0 RUN print
|
||||||
|
B2
|
||||||
|
1 REF test_name
|
||||||
|
0 RUN print
|
||||||
|
B2
|
||||||
|
1 STR [info] Expected:
|
||||||
|
0 RUN print
|
||||||
|
B2
|
||||||
|
1 REF expected
|
||||||
|
0 RUN print
|
||||||
|
B2
|
||||||
|
1 STR [info] Input:
|
||||||
|
0 RUN print
|
||||||
|
B2
|
||||||
|
1 REF input
|
||||||
|
0 RUN print
|
||||||
|
B2
|
||||||
|
0 REF True
|
||||||
|
0 JEZ 2
|
||||||
|
B3
|
||||||
|
0 NUM 1
|
||||||
|
0 OUT is_err or
|
||||||
|
B2
|
||||||
|
0 JMP -1
|
||||||
|
B1
|
||||||
|
0 NEL 1
|
||||||
|
B2
|
||||||
|
1 STR [ OK ]
|
||||||
|
0 RUN print
|
||||||
|
B1
|
||||||
|
0 RET
|
||||||
B0
|
B0
|
||||||
B0
|
B0
|
||||||
0 RUN uart.init
|
0 NUM 0
|
||||||
|
0 OUT a
|
||||||
|
B0
|
||||||
|
2 NUM 0
|
||||||
|
2 NUM 10
|
||||||
|
1 RUN range
|
||||||
|
0 RUN iter
|
||||||
|
0 OUT _l0
|
||||||
|
0 REF _r1
|
||||||
|
0 REF _r2
|
||||||
|
0 REF _r3
|
||||||
|
0 OUT _l0.a1
|
||||||
|
0 OUT _l0.a2
|
||||||
|
0 OUT _l0.a3
|
||||||
|
B0
|
||||||
|
0 RUN _l0.__next__
|
||||||
|
0 OUT i
|
||||||
|
0 EST i
|
||||||
|
0 JEZ 2
|
||||||
|
B1
|
||||||
|
1 REF i
|
||||||
|
1 NUM 5
|
||||||
|
0 OPT ==
|
||||||
|
0 JEZ 1
|
||||||
|
B2
|
||||||
|
0 CTN
|
||||||
|
B1
|
||||||
|
1 REF a
|
||||||
|
1 REF i
|
||||||
|
0 OPT +
|
||||||
|
0 OUT a
|
||||||
|
B0
|
||||||
|
0 JMP -1
|
||||||
|
B0
|
||||||
|
0 DEL _l0
|
||||||
|
B0
|
||||||
|
1 STR for_if_continue
|
||||||
|
1 REF a
|
||||||
|
1 NUM 40
|
||||||
|
0 RUN EXPECT_EQ
|
||||||
|
B0
|
||||||
|
B0
|
||||||
|
0 NUM 0
|
||||||
|
0 OUT a
|
||||||
|
B0
|
||||||
|
2 NUM 0
|
||||||
|
2 NUM 10
|
||||||
|
1 RUN range
|
||||||
|
0 RUN iter
|
||||||
|
0 OUT _l0
|
||||||
|
0 REF _r1
|
||||||
|
0 REF _r2
|
||||||
|
0 REF _r3
|
||||||
|
0 OUT _l0.a1
|
||||||
|
0 OUT _l0.a2
|
||||||
|
0 OUT _l0.a3
|
||||||
|
B0
|
||||||
|
0 RUN _l0.__next__
|
||||||
|
0 OUT i
|
||||||
|
0 EST i
|
||||||
|
0 JEZ 2
|
||||||
|
B1
|
||||||
|
1 REF i
|
||||||
|
1 NUM 5
|
||||||
|
0 OPT ==
|
||||||
|
0 JEZ 1
|
||||||
|
B2
|
||||||
|
0 BRK
|
||||||
|
B1
|
||||||
|
1 REF a
|
||||||
|
1 REF i
|
||||||
|
0 OPT +
|
||||||
|
0 OUT a
|
||||||
|
B0
|
||||||
|
0 JMP -1
|
||||||
|
B0
|
||||||
|
0 DEL _l0
|
||||||
|
B0
|
||||||
|
1 STR for_if_break
|
||||||
|
1 REF a
|
||||||
|
1 NUM 10
|
||||||
|
0 RUN EXPECT_EQ
|
||||||
|
B0
|
||||||
|
B0
|
||||||
|
0 NUM 0
|
||||||
|
0 OUT a
|
||||||
|
B0
|
||||||
|
2 NUM 0
|
||||||
|
2 NUM 10
|
||||||
|
1 RUN range
|
||||||
|
0 RUN iter
|
||||||
|
0 OUT _l0
|
||||||
|
0 REF _r1
|
||||||
|
0 REF _r2
|
||||||
|
0 REF _r3
|
||||||
|
0 OUT _l0.a1
|
||||||
|
0 OUT _l0.a2
|
||||||
|
0 OUT _l0.a3
|
||||||
|
B0
|
||||||
|
0 RUN _l0.__next__
|
||||||
|
0 OUT i
|
||||||
|
0 EST i
|
||||||
|
0 JEZ 2
|
||||||
|
B1
|
||||||
|
2 NUM 0
|
||||||
|
2 NUM 3
|
||||||
|
1 RUN range
|
||||||
|
0 RUN iter
|
||||||
|
0 OUT _l1
|
||||||
|
0 REF _r1
|
||||||
|
0 REF _r2
|
||||||
|
0 REF _r3
|
||||||
|
0 OUT _l1.a1
|
||||||
|
0 OUT _l1.a2
|
||||||
|
0 OUT _l1.a3
|
||||||
|
B1
|
||||||
|
0 RUN _l1.__next__
|
||||||
|
0 OUT k
|
||||||
|
0 EST k
|
||||||
|
0 JEZ 2
|
||||||
|
B2
|
||||||
|
1 REF a
|
||||||
|
1 REF k
|
||||||
|
0 OPT +
|
||||||
|
0 OUT a
|
||||||
|
B1
|
||||||
|
0 JMP -1
|
||||||
|
B1
|
||||||
|
0 DEL _l1
|
||||||
|
B0
|
||||||
|
0 JMP -1
|
||||||
|
B0
|
||||||
|
0 DEL _l0
|
||||||
|
B0
|
||||||
|
1 STR for_for_in_range
|
||||||
|
1 REF a
|
||||||
|
1 NUM 30
|
||||||
|
0 RUN EXPECT_EQ
|
||||||
|
B0
|
||||||
|
B0
|
||||||
|
0 NUM 0
|
||||||
|
0 OUT a
|
||||||
|
B0
|
||||||
|
2 NUM 0
|
||||||
|
2 NUM 10
|
||||||
|
1 RUN range
|
||||||
|
0 RUN iter
|
||||||
|
0 OUT _l0
|
||||||
|
0 REF _r1
|
||||||
|
0 REF _r2
|
||||||
|
0 REF _r3
|
||||||
|
0 OUT _l0.a1
|
||||||
|
0 OUT _l0.a2
|
||||||
|
0 OUT _l0.a3
|
||||||
|
B0
|
||||||
|
0 RUN _l0.__next__
|
||||||
|
0 OUT i
|
||||||
|
0 EST i
|
||||||
|
0 JEZ 2
|
||||||
|
B1
|
||||||
|
1 REF a
|
||||||
|
1 REF i
|
||||||
|
0 OPT +
|
||||||
|
0 OUT a
|
||||||
|
B0
|
||||||
|
0 JMP -1
|
||||||
|
B0
|
||||||
|
0 DEL _l0
|
||||||
|
B0
|
||||||
|
1 STR for_in_range
|
||||||
|
1 REF a
|
||||||
|
1 NUM 45
|
||||||
|
0 RUN EXPECT_EQ
|
||||||
|
B0
|
||||||
|
B0
|
||||||
|
0 RUN PikaStdData.List
|
||||||
|
0 OUT list
|
||||||
|
B0
|
||||||
|
1 NUM 7
|
||||||
|
0 RUN list.append
|
||||||
|
B0
|
||||||
|
1 STR eee
|
||||||
|
0 RUN list.append
|
||||||
|
B0
|
||||||
|
0 RUN list.len
|
||||||
|
0 OUT len
|
||||||
|
B0
|
||||||
|
1 REF list
|
||||||
|
0 RUN iter
|
||||||
|
0 OUT _l0
|
||||||
|
B0
|
||||||
|
0 RUN _l0.__next__
|
||||||
|
0 OUT item
|
||||||
|
0 EST item
|
||||||
|
0 JEZ 2
|
||||||
|
B1
|
||||||
|
0 REF item
|
||||||
|
0 OUT a
|
||||||
|
B0
|
||||||
|
0 JMP -1
|
||||||
|
B0
|
||||||
|
0 DEL _l0
|
||||||
|
B0
|
||||||
|
1 STR list_for_loop
|
||||||
|
1 REF a
|
||||||
|
1 STR eee
|
||||||
|
0 RUN EXPECT_EQ
|
||||||
|
B0
|
||||||
|
B0
|
||||||
|
B0
|
||||||
|
0 RUN PikaStdData.List
|
||||||
|
0 OUT list
|
||||||
|
B0
|
||||||
|
1 NUM 7
|
||||||
|
0 RUN list.append
|
||||||
|
B0
|
||||||
|
1 STR eee
|
||||||
|
0 RUN list.append
|
||||||
|
B0
|
||||||
|
0 RUN list.len
|
||||||
|
0 OUT len
|
||||||
|
B0
|
||||||
|
1 NUM 0
|
||||||
|
0 RUN list.get
|
||||||
|
0 OUT a1
|
||||||
B0
|
B0
|
||||||
1 NUM 1
|
1 NUM 1
|
||||||
0 RUN uart.setId
|
0 RUN list.get
|
||||||
|
0 OUT a2
|
||||||
B0
|
B0
|
||||||
1 NUM 115200
|
1 REF list
|
||||||
0 RUN uart.setBaudRate
|
0 RUN iter
|
||||||
|
0 OUT res
|
||||||
B0
|
B0
|
||||||
0 RUN uart.enable
|
1 STR iter
|
||||||
|
1 REF res
|
||||||
|
1 REF list
|
||||||
|
0 RUN EXPECT_EQ
|
||||||
B0
|
B0
|
||||||
B0
|
B0
|
||||||
0 RUN rgb.init
|
0 RUN PikaStdData.Dict
|
||||||
|
0 OUT dict
|
||||||
B0
|
B0
|
||||||
0 RUN rgb.enable
|
1 STR a
|
||||||
|
1 NUM 1
|
||||||
|
0 RUN dict.set
|
||||||
|
B0
|
||||||
|
1 STR b
|
||||||
|
1 NUM 2
|
||||||
|
0 RUN dict.set
|
||||||
|
B0
|
||||||
|
1 STR b
|
||||||
|
0 RUN dict.remove
|
||||||
|
B0
|
||||||
|
1 STR a
|
||||||
|
0 RUN dict.get
|
||||||
|
0 OUT a
|
||||||
|
B0
|
||||||
|
1 STR b
|
||||||
|
0 RUN dict.get
|
||||||
|
0 OUT b
|
||||||
|
B0
|
||||||
|
1 STR PikaStdData
|
||||||
|
1 REF a
|
||||||
|
1 NUM 1
|
||||||
|
0 RUN EXPECT_EQ
|
||||||
|
B0
|
||||||
|
1 STR PikaStdData_2
|
||||||
|
1 REF b
|
||||||
|
1 NUM 0
|
||||||
|
0 RUN EXPECT_EQ
|
||||||
B0
|
B0
|
||||||
B0
|
B0
|
||||||
1 STR hello 2
|
0 NUM 0
|
||||||
|
0 OUT num
|
||||||
|
B0
|
||||||
|
0 NUM 2
|
||||||
|
0 OUT i
|
||||||
|
B0
|
||||||
|
2 NUM 2
|
||||||
|
2 NUM 30
|
||||||
|
1 RUN range
|
||||||
|
0 RUN iter
|
||||||
|
0 OUT _l0
|
||||||
|
0 REF _r1
|
||||||
|
0 REF _r2
|
||||||
|
0 REF _r3
|
||||||
|
0 OUT _l0.a1
|
||||||
|
0 OUT _l0.a2
|
||||||
|
0 OUT _l0.a3
|
||||||
|
B0
|
||||||
|
0 RUN _l0.__next__
|
||||||
|
0 OUT i
|
||||||
|
0 EST i
|
||||||
|
0 JEZ 2
|
||||||
|
B1
|
||||||
|
0 NUM 2
|
||||||
|
0 OUT j
|
||||||
|
B1
|
||||||
|
0 NUM 1
|
||||||
|
0 OUT is_prime
|
||||||
|
B1
|
||||||
|
2 NUM 2
|
||||||
|
2 REF i
|
||||||
|
1 RUN range
|
||||||
|
0 RUN iter
|
||||||
|
0 OUT _l1
|
||||||
|
0 REF _r1
|
||||||
|
0 REF _r2
|
||||||
|
0 REF _r3
|
||||||
|
0 OUT _l1.a1
|
||||||
|
0 OUT _l1.a2
|
||||||
|
0 OUT _l1.a3
|
||||||
|
B1
|
||||||
|
0 RUN _l1.__next__
|
||||||
|
0 OUT j
|
||||||
|
0 EST j
|
||||||
|
0 JEZ 2
|
||||||
|
B2
|
||||||
|
2 REF i
|
||||||
|
2 REF j
|
||||||
|
1 OPT %
|
||||||
|
1 NUM 0
|
||||||
|
0 OPT ==
|
||||||
|
0 JEZ 1
|
||||||
|
B3
|
||||||
|
0 NUM 0
|
||||||
|
0 OUT is_prime
|
||||||
|
B3
|
||||||
|
0 BRK
|
||||||
|
B1
|
||||||
|
0 JMP -1
|
||||||
|
B1
|
||||||
|
0 DEL _l1
|
||||||
|
B1
|
||||||
|
0 REF is_prime
|
||||||
|
0 JEZ 1
|
||||||
|
B2
|
||||||
|
1 REF num
|
||||||
|
1 REF i
|
||||||
|
0 OPT +
|
||||||
|
0 OUT num
|
||||||
|
B0
|
||||||
|
0 JMP -1
|
||||||
|
B0
|
||||||
|
0 DEL _l0
|
||||||
|
B0
|
||||||
|
1 STR prime_number_30
|
||||||
|
1 REF num
|
||||||
|
1 NUM 129
|
||||||
|
0 RUN EXPECT_EQ
|
||||||
|
B0
|
||||||
|
B0
|
||||||
|
B0
|
||||||
|
1 STR ====================
|
||||||
|
0 RUN print
|
||||||
|
B0
|
||||||
|
1 STR [Unit Tests Succeed]
|
||||||
|
0 RUN print
|
||||||
|
B0
|
||||||
|
1 STR ====================
|
||||||
0 RUN print
|
0 RUN print
|
||||||
B0
|
B0
|
||||||
1 STR mem used max:
|
1 STR mem used max:
|
||||||
0 RUN print
|
0 RUN print
|
||||||
B0
|
B0
|
||||||
0 RUN mem.max
|
0 RUN mem.max
|
||||||
B0
|
|
||||||
B0
|
|
||||||
0 REF True
|
|
||||||
0 JEZ 2
|
|
||||||
B1
|
|
||||||
1 NUM 10
|
|
||||||
0 RUN time.sleep_ms
|
|
||||||
B1
|
|
||||||
0 RUN rgb.flow
|
|
||||||
B1
|
|
||||||
1 STR flowing
|
|
||||||
0 RUN print
|
|
||||||
B0
|
|
||||||
0 JMP -1
|
|
||||||
B0
|
|
||||||
B0
|
|
||||||
|
Binary file not shown.
@ -1 +1 @@
|
|||||||
pikascript-core==v1.2.6
|
pikascript-core==v1.5.2
|
Loading…
x
Reference in New Issue
Block a user