83 Commits

Author SHA1 Message Date
李昂
76db2494a5 !46 try to support [][], not ok yeat
* fix typo in test
* Merge branch 'master' into slice
* adding slice to parser from suger
2022-07-11 03:14:14 +00:00
lyon
1bd3b367f4 fix str(None) return other string 2022-07-06 15:13:23 +08:00
李昂
4a943b479c !41 Support chain invoke like < String('test').split() >
* support chain invoke ok
* add test for S(S.replace()).replace()
* parse to RUN .split
* try to support chain invoke, not ok
* can devide a chain
2022-07-05 06:23:49 +00:00
Lyon
74050112e1 fit ac5 2022-07-01 23:40:41 +08:00
pikastech
9d087a934b fix ci error 2022-07-01 23:10:51 +08:00
pikastech
8aaf317689 fix print normal object 2022-06-30 17:33:06 +08:00
pikastech
944503cd23 support return val from type() 2022-06-30 16:10:38 +08:00
pikastech
865290df74 support len() for object and __len__().
* list, dict, dict_keys is ok
2022-06-24 18:18:06 +08:00
pikastech
3e371e9e57 fix a[1] = 1 not work inner function() 2022-06-24 16:08:27 +08:00
李昂
e6a33c058e !34 Support __str__() for PikaStdData.List(),PikaStdData.Dict(),PikaStdData.dict_keys(),
* print list as '[x,x,x]'
* support __str__ for Dict
* support __str__ for dict_keys()
2022-06-24 03:30:56 +00:00
pikastech
77f1879180 add id() built-in 2022-06-14 12:06:56 +08:00
李昂
6acc0f9ecd !25 support format output for print()
* test for format with tuple is ok
* 'format'%var is ok (tuple var is not ok)
* rename _cformat to cformat()
* optimize the memory usage of format_list
* add string-test.cpp
* cformat() is ok
* fix variable par load issue
* use test_common.h
* use test_common to simplify the gtest case
* Merge branch 'master' into dev
* fix float->double for bytecodegen
* update to /package
* Use double in C for float in python
2022-06-14 03:20:17 +00:00
李昂
5148412411 !24 support double in C Module
* Merge branch 'master' into dev
* fix float->double for bytecodegen
* update to /package
* Use double in C for float in python
2022-06-13 10:02:59 +00:00
李昂
b02672b130 !21 Support variable pars for print()
* update pre-compiler
* test passed for variable pars of print()
* variable pars is tested ok for print()
* skip arg_num check for variable
* support *val in the preCompiler
* add file
* Merge branch 'dev' of https://gitee.com/lyon1998/pikascript into dev
* fix warning
* both update ByteCodeGen
* use super instead of parent
* create PikaList C list struct
* use args inner the PikaStdData.List()
* use PikaDict in PikaStdData.Dict()
* support dict in c
* support dict in c
* clean Tinyobj
2022-06-11 14:56:51 +00:00
pikastech
a87da14c7d move print() and print_no_end from BaseObj to SysObj 2022-06-10 12:04:06 +08:00
pikastech
2afaea6e7c support str() from bytes to string 2022-06-10 11:34:46 +08:00
pikastech
f0b5be9c92 support len() for bytes 2022-06-10 10:55:48 +08:00
pikastech
2c17be4191 __slice__ equal to __get__ when SLICE_ENABLE off 2022-06-08 10:27:23 +08:00
pikastech
0daf46c269 fix for_loop runError in module 2022-06-08 10:00:54 +08:00
pikastech
30209aff77 support return Object in CModule 2022-06-06 09:13:27 +08:00
lyon
19a0b52ea3 use argType_isObject in not importent place 2022-06-01 14:39:59 +08:00
lyon
a97d6f3f76 support __str__ for String(), find mem leak when print(String('test')) 2022-06-01 11:46:59 +08:00
lyon
c0a925d42d support [:i] and [i:] for str and bytes 2022-05-31 20:17:26 +08:00
lyon
0a48afb444 cutoff the __slice__ fn in SysObj 2022-05-30 16:38:58 +08:00
lyon
d96d01d8a9 support slice for str and bytes, tested 2022-05-30 14:35:44 +08:00
lyon
a41d206509 test slice for str 2022-05-30 14:22:19 +08:00
lyon
c0581b4408 support nagtive index for str and bytes 2022-05-30 14:01:59 +08:00
lyon
3c7b765a3f support int() for bytes 2022-05-27 10:29:57 +08:00
lyon
ffe8e85db9 use __slice__ to call __get__ indirectly 2022-05-26 17:03:58 +08:00
lyon
6b63c13bef support bytes() built-in 2022-05-26 15:46:34 +08:00
lyon
d3fd9512b4 support and tested char() and ord() builtin-fun 2022-05-25 15:53:39 +08:00
lyon
09bb50a98c support hex() and tested ok 2022-05-25 15:42:25 +08:00
lyon
db45bd9964 str(obj) from __str__ is test ok 2022-05-25 13:57:02 +08:00
lyon
ee3a2c8f53 support [] index for bytes 2022-05-21 19:23:34 +08:00
lyon
876ea81576 support type(b'test') -> <class 'bytes'> 2022-04-28 16:04:14 +08:00
lyon
5cbe98d212 keep both meta obj and direct obj, meta obj cannot init with arg 2022-04-28 00:42:06 +08:00
lyon
ceb8de7c81 format arg_new[]Obj api 2022-04-28 00:29:32 +08:00
lyon
7f70e2a9df import type() 2022-04-27 23:38:00 +08:00
lyon
d8560dd24d task not pass, class not pass 2022-04-26 11:09:18 +08:00
lyon
df0db6a390 combine object and ref object 2022-04-26 10:43:50 +08:00
lyon
16886ec594 remove '__res' after run __iter__() 2022-04-26 10:12:34 +08:00
lyon
059096a7b1 divide POINTER and REF_OBJECT OK 2022-04-25 15:01:58 +08:00
lyon
e03af6c5a7 rename __POINTER_ to REF_OBJECT 2022-04-25 14:43:44 +08:00
lyon1998
f6f38bdb73 fix typo of list_enable and dict_enable 2022-04-14 16:37:34 +08:00
lyon1998
45a364aa3d built-in dict is enabled by default 2022-04-14 16:12:18 +08:00
lyon1998
eae58359f1 set enable builtin list as default 2022-04-14 15:58:24 +08:00
lyon1998
52e69f45a7 support built-in list and dict 2022-04-13 12:03:10 +08:00
lyon1998
757f00893a support len() for string, support int() for string 2022-04-09 01:15:21 +08:00
lyon1998
6e7ffdade1 still faild in pikaMain class_def test 2022-03-29 18:02:55 +08:00
lyon1998
b254dd02f9 use bytecode in stdlib 2022-03-18 23:00:51 +08:00