441 Commits

Author SHA1 Message Date
lyon
c823ad0879 support isinstance() for simple type 2023-05-21 01:19:13 +08:00
lyon
0ff4ecd028 VM support l[0]() nad test()() stmt 2023-05-20 00:26:27 +08:00
lyon
fa97fbb788 support parse for 'test()()' and 'test[]()' 2023-05-18 23:15:33 +08:00
pikastech
f4762304d3 fix eventloop remove event crash 2023-05-16 21:49:05 +08:00
pikastech
68ace04b0c fix kernal dump when import (null) 2023-05-15 09:39:09 +08:00
lyon
384e05068c support val hint 2023-05-15 00:05:56 +08:00
lyon
f276fdadfb support class script 2023-05-14 23:54:57 +08:00
lyon
03e6b89980 support lua table to list/dict 2023-05-14 22:50:24 +08:00
lyon
bb21c7b7fe support method_proxy for pika_lua 2023-05-14 12:57:24 +08:00
pikastech
cf9d535235 update news 2023-05-07 09:33:06 +08:00
pikastech
0c5cd8340d fixing workspace when find arg form obj
fixed
2023-05-06 20:03:33 +08:00
pikastech
bf129bb398 fix parse err for 'test'.split()[0]
add test
2023-05-05 21:47:52 +08:00
pikastech
4e9816f9a1 support max(), min() builtin 2023-05-02 23:54:11 +08:00
lyon
31bcc66a75 support REPL_HISTORY 2023-05-02 23:54:10 +08:00
lyon
c5751ae48f supporting REPL key_up 2023-05-01 00:27:33 +08:00
lyon
72ec29fbe0 support XXX is not YYY 2023-04-30 21:40:27 +08:00
lyon
f5b0bf5b5c support tuple,list,dict as default arg 2023-04-29 18:38:02 +08:00
pikastech
95e19ac08a try to support tuple as default arg, not pass 2023-04-29 12:21:29 +08:00
pikastech
44c23ee10f fix function call err with pos and default args 2023-04-28 11:19:44 +08:00
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
c487912fc5 cancel GIL yiled between bc to avoid data race 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
4dd7331f61 fix vm dump when run one char script: "=" 2023-04-19 17:38:38 +08:00
pikastech
3f3c267756 support no_buff vprintf 2023-04-16 10:41:25 +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
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
34dedcde2d add os_path support 2023-03-26 20:43:51 +08:00
pikastech
aeef23fc3b fix align issue on unpack file 2023-03-23 16:30:26 +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
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
ee9d1e696a auto release packages form linux port 2023-03-15 16:20:59 +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
7e8241ab15 (fix) fix multi comment err on one line 2023-03-11 00:18:12 +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
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
lyon
57a04ca87e fix built-in function print 2023-03-01 22:15:22 +08:00