Skip to content

Commit db54438

Browse files
committed
support pass
support pass
1 parent d3026c7 commit db54438

File tree

6 files changed

+73
-3
lines changed

6 files changed

+73
-3
lines changed

port/linux/test/VM-test.cpp

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1666,3 +1666,27 @@ TEST(vm, exit_fn) {
16661666
EXPECT_EQ(pikaMemNow(), 0);
16671667
}
16681668
#endif
1669+
1670+
TEST(vm, pass_) {
1671+
/* init */
1672+
pikaMemInfo.heapUsedMax = 0;
1673+
PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
1674+
extern unsigned char pikaModules_py_a[];
1675+
obj_linkLibrary(pikaMain, pikaModules_py_a);
1676+
/* run */
1677+
__platform_printf("BEGIN\r\n");
1678+
obj_run(pikaMain,
1679+
"pass\n"
1680+
"def testpass():\n"
1681+
" pass\n"
1682+
"for i in range(10):\n"
1683+
" pass\n"
1684+
"testpass()\n"
1685+
"print('after pass')\n");
1686+
/* collect */
1687+
/* assert */
1688+
EXPECT_STREQ(log_buff[0], "after pass\r\n");
1689+
/* deinit */
1690+
obj_deinit(pikaMain);
1691+
EXPECT_EQ(pikaMemNow(), 0);
1692+
}

port/linux/test/parse-test.cpp

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4270,4 +4270,45 @@ TEST(parser, for_multi) {
42704270
EXPECT_EQ(pikaMemNow(), 0);
42714271
}
42724272

4273+
TEST(parser, pass_) {
4274+
pikaMemInfo.heapUsedMax = 0;
4275+
Args* buffs = New_strBuff();
4276+
char* lines =
4277+
"pass\n"
4278+
"def testpass():\n"
4279+
" pass\n"
4280+
"for i in range(10):\n"
4281+
" pass\n";
4282+
__platform_printf("%s\n", lines);
4283+
char* pikaAsm = Parser_linesToAsm(buffs, lines);
4284+
__platform_printf("%s", pikaAsm);
4285+
EXPECT_STREQ(pikaAsm,
4286+
"B0\n"
4287+
"B0\n"
4288+
"0 DEF testpass()\n"
4289+
"0 JMP 1\n"
4290+
"B1\n"
4291+
"B1\n"
4292+
"0 RET \n"
4293+
"B0\n"
4294+
"2 NUM 10\n"
4295+
"1 RUN range\n"
4296+
"0 RUN iter\n"
4297+
"0 OUT $l0\n"
4298+
"B0\n"
4299+
"0 RUN $l0.__next__\n"
4300+
"0 OUT i\n"
4301+
"0 EST i\n"
4302+
"0 JEZ 2\n"
4303+
"B1\n"
4304+
"B0\n"
4305+
"0 JMP -1\n"
4306+
"B0\n"
4307+
"0 DEL $l0\n"
4308+
"B0\n");
4309+
4310+
args_deinit(buffs);
4311+
EXPECT_EQ(pikaMemNow(), 0);
4312+
}
4313+
42734314
#endif

port/linux/version_config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
MajorVersion = "1"
22
MinorVersion = "10"
3-
MicroVersion = "8"
3+
MicroVersion = "9"

src/PikaParser.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,11 @@ static enum StmtType Lexer_matchStmtType(char* right) {
226226
if (strEqu(cs.token1.pyload, "...")) {
227227
goto iter_continue;
228228
}
229+
230+
if (strEqu(cs.token1.pyload, "pass")){
231+
goto iter_continue;
232+
}
233+
229234
if (strIsStartWith(cs.token1.pyload, ".")) {
230235
if (cs.iter_index != 1) {
231236
is_get_chain = PIKA_TRUE;

src/PikaVersion.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#define PIKA_VERSION_MAJOR 1
22
#define PIKA_VERSION_MINOR 10
3-
#define PIKA_VERSION_MICRO 8
3+
#define PIKA_VERSION_MICRO 9
44

5-
#define PIKA_EDIT_TIME "2022/09/09 13:10:15"
5+
#define PIKA_EDIT_TIME "2022/09/15 18:43:26"
10.6 KB
Binary file not shown.

0 commit comments

Comments
 (0)