309 Commits

Author SHA1 Message Date
pikastech
09dfed3f20 support single_item tuple like (1,) or ('test',)
fix format
2023-04-24 22:30:37 +08:00
pikastech
11080aa513 add circlequeue.py 2023-04-23 20:55:20 +08:00
pikastech
3d7a087598 add abs() builtin 2023-04-22 18:46:45 +08:00
pikastech
c487912fc5 cancel GIL yiled between bc to avoid data race 2023-04-22 13:46:59 +08:00
pikastech
ce0999ec95 add test for modbus parse error 2023-04-22 13:46:59 +08:00
lyon
6d3d8b3658 support delay for eventloop 2023-04-21 01:06:02 +08:00
pikastech
70aabb81ad fix thread and eventloop for onec args 2023-04-20 19:26:04 +08:00
pikastech
9b140e90a3 add eventloop module, support get_tick for _time 2023-04-20 17:06:16 +08:00
pikastech
a468012f2f fix __setattr__ mem leak when @value is not reg 2023-04-19 22:24:10 +08:00
pikastech
9094c13a57 add proxy2 test 2023-04-19 21:18:17 +08:00
pikastech
4dd7331f61 fix vm dump when run one char script: "=" 2023-04-19 17:38:38 +08:00
pikastech
eed2e11a20 fix typo 2023-04-15 11:32:19 +08:00
pikastech
ea4d42bbea fix thread mem error when args is void 2023-04-15 11:20:11 +08:00
pikastech
c89f873fab optimize for pure string on printf
support unlimited pika_printf impl
2023-04-14 19:42:26 +08:00
pikastech
afc99c7b35 test issue_start_dict.py 2023-04-14 15:15:48 +08:00
pikastech
03c3a25bbc fix mem err when pikafs_open_pack() 2023-04-08 21:36:41 +08:00
lyon
a0d7defa9b fix kernal crash on some invalid syntax 2023-04-07 15:51:54 +08:00
pikastech
e2a526944e fix CI on os.path 2023-03-28 09:41:52 +08:00
pikastech
7aaeffeeb0 add cpp support for kernal .h 2023-03-28 09:37:30 +08:00
pikastech
06150d0133 fix os_split 2023-03-26 21:30:18 +08:00
pikastech
34dedcde2d add os_path support 2023-03-26 20:43:51 +08:00
pikastech
938cf0efdc fix string size for packread 2023-03-23 16:56:25 +08:00
pikastech
49fc3ceb0a fix num of pack_files, support string and binary 2023-03-23 16:47:22 +08:00
pikastech
aeef23fc3b fix align issue on unpack file 2023-03-23 16:30:26 +08:00
pikastech
b2db11e608 fix \n for docgen 2023-03-20 10:37:17 +08:00
pikastech
9633b7a3cc fix indent for docgen 2023-03-20 09:59:50 +08:00
pikastech
d8405c4f1a add doc backend
support file2doc, can draw function

use HELPER_MACRO in parser_test

fixing dostring parse

fix docstring

generate md with class and function ok

succeed to generate docstring to markdown

generate API doc ok

support --docgen and --docgen -o arg for compiler

update msc
2023-03-19 21:10:38 +08:00
pikastech
62d1d40618 remove parse_line test
move block inner parser

formatting line2Ast
2023-03-18 18:05:10 +08:00
pikastech
f39ad4077b format parser
clear the parse-test

fix time sleep on linux from `uint32_t` to `int64_t`

using parser object on pikaparer
2023-03-18 16:49:37 +08:00
pikastech
e9f832c517 enhance int() for int('1234', 8) 2023-03-17 14:28:10 +08:00
lyon
83d5bd8379 support type hint `data: dict[str, DataItem] = {} 2023-03-15 22:17:26 +08:00
pikastech
a3b402ae36 add os module
fix color for GC DUMP

add os module and test

support ESP32
2023-03-15 03:20:25 +00:00
dreamcmi
4fb6ae1f37 Merge branch 'master' into add/iotcloud 2023-03-15 00:54:48 +08:00
lyon
8d3795b179 fix complex default parse 2023-03-12 12:14:00 +08:00
lyon
02de084767 fix README details
fix multiline comment parse

add csv.py

parse csv no clashed
2023-03-12 00:24:56 +08:00
lyon
ec8405d304 support str.join()
fix VM for nano mode
2023-03-11 22:36:12 +08:00
lyon
7889c4028c (vm) raise err when slice of get out of range 2023-03-11 13:14:54 +08:00
lyon
7e8241ab15 (fix) fix multi comment err on one line 2023-03-11 00:18:12 +08:00
lyon
814db1ad55 movd L Regestor to Locals
fix mem lack on for_return
2023-03-10 20:50:23 +08:00
pikastech
28fc4b9403 mark_sweep test passed on pikaui 2023-03-09 20:45:55 +08:00
pikastech
2a633d0a63 skip pikaui test 2023-03-09 16:53:21 +08:00
pikastech
ca65efd1fa fix args_foreach handler
add PikaGC class

add gc.onMarkObj

add GC DUMP

support gcdump()

improve gcdump
2023-03-09 16:52:57 +08:00
lyon
cae2955697 skip pack test 2023-03-09 11:23:33 +08:00
lyon
8d565f4af3 move test file 2023-03-09 11:23:33 +08:00
lyon
01be7b7ad7 try to add runbytecodereturn
switch to runbytecodereturn

gc test pass except pikaui

skip pikaui test, local root not work
2023-03-09 11:23:33 +08:00
lyon
8ad1427f51 fix parse err, open assert on rust-msc-
add test about while data[:]

add test for list_list slice

release cross build
2023-03-08 20:54:42 +08:00
lyon
ecfb8cb62f fix CI err 2023-03-08 09:53:39 +08:00
pikastech
7f5edaf090 add objCnt
ready to check where enable the mark_sweep

auto gc with threshold failed, add some assert

more assert about obj alive, dict mark not correct

add pikaGC_try, but cannot run at any time

markSweep crashed on keyword

save gcRoot for obj to debug

add debug point

add kernal_debug config to keep more debug info

use @res_<opt> to mark operation

found self reference on __iter__()

can not fix gc err around iter

remove lock, only keep the self lock

more obj info for debug

only pikaui not pass

only pikaui not pass
2023-03-08 09:35:27 +08:00
lyon
9d4aa3c38c try to fix gc about __pikaMain
fix format

can not markSweep after deinit root

support markRoot if not root

add clang-format

fix path

enable compile-commonds on to support clangd

set markSweep not default

use no_gc object for function frame

only gc for tinyobj, not pikaobj

restore add gc chain when init pikaObj

add clang-format in docker

set for default formatter to clang-format

all Object is GC_ROOT on create

only enable mark sweep to collect after OUT

markSweep after deinit __pikaMain

more mark sweep collect
2023-03-06 10:57:08 +08:00
lyon
38388625ca support mark-sweep gc
change project name and url on kernal sources

rename global Value

format name

use g_PikaObjState

add gc chain

add gc_mark()

add printCanFree

add sub locals init

try use mark-sweep to solve circle-ref

use mark sweep to collect circle ref succeed

import mark-sweep GC

config_default

update
2023-03-05 12:57:27 +08:00