PN_S 37 core/ast.h if (PN_PART(endname) == AST_EXPR) endname = PN_TUPLE_AT(PN_S(endname, 0), 0); \ PN_S 39 core/ast.h endname = PN_S(endname, 0); \ PN_S 185 core/compile.c if (PN_PART(t->a[n]) == AST_LIST && PN_PART(PN_TUPLE_AT(PN_S(t->a[n],0), 0)) == AST_EXPR) { \ PN_S 186 core/compile.c PN test = PN_S(PN_TUPLE_AT(PN_S(t->a[n],0), 0), 0); \ PN_S 197 core/compile.c if (PN_PART(t->a[n]) == AST_EXPR && PN_PART(PN_TUPLE_AT(PN_S(t->a[n],0), 0)) == AST_LIST) { \ PN_S 198 core/compile.c PN test = PN_S(PN_TUPLE_AT(PN_S(t->a[n],0), 0), 0); \ PN_S 251 core/compile.c #define SRC_TUPLE_AT(src,i) PN_SRC((PN_TUPLE_AT(PN_S(src,0), i))) PN_S 282 core/compile.c args = PN_S(args,0); PN_S 290 core/compile.c vPN(Source) lhs = PN_SRC(PN_S(v,0)); PN_S 292 core/compile.c if (lhs->part == AST_EXPR && PN_TUPLE_LEN(PN_S(lhs,0)) == 1) PN_S 297 core/compile.c PN_OP op; op.a = PN_S(lhs,0); //12 bit! PN_S 298 core/compile.c if (!PN_IS_PTR(PN_S(lhs,0)) && PN_S(lhs,0) == op.a) { PN_S 299 core/compile.c PN_ASM2(OP_LOADPN, sreg, PN_S(lhs,0)); PN_S 301 core/compile.c PN_SIZE num = PN_PUT(f->values, PN_S(lhs,0)); PN_S 339 core/compile.c if (PN_S(t,0) != PN_NIL) { PN_S 341 core/compile.c t->part == AST_CODE?"":AS_STR(PN_S(t,0))); PN_S 342 core/compile.c PN_TUPLE_EACH(PN_S(t,0), i, v, { PN_S 349 core/compile.c if (PN_S(t,0) != PN_NIL) { PN_S 350 core/compile.c PN e = PN_S(t,0); PN_S 359 core/compile.c PN_BLOCK(reg, PN_S(t,1), PN_S(t,0)); PN_S 363 core/compile.c PN_OP op; op.a = PN_S(t,0); PN_S 364 core/compile.c if (!PN_IS_PTR(PN_S(t,0)) && PN_S(t,0) == (PN)op.a) { PN_S 365 core/compile.c PN_ASM2(OP_LOADPN, reg, PN_S(t,0)); PN_S 367 core/compile.c PN_SIZE num = PN_PUT(f->values, PN_S(t,0)); PN_S 371 core/compile.c if (PN_S(t,1) != PN_NIL) { PN_S 374 core/compile.c PN_ARG_TABLE(PN_S(t,1), breg, 1); PN_S 375 core/compile.c if (PN_S(t,2) != PN_NIL) { PN_S 377 core/compile.c PN_BLOCK(breg, PN_S(t,2), PN_NIL); PN_S 392 core/compile.c c = PN_TUPLE_LEN(PN_S(lhs,0)) - 1; PN_S 403 core/compile.c char first_letter = PN_STR_PTR(PN_S(lhs,0))[0]; PN_S 406 core/compile.c AS_STR(PN_S(lhs,0))); PN_S 410 core/compile.c num = PN_PUT(f->values, PN_S(lhs,0)); PN_S 418 core/compile.c num = PN_UPVAL(PN_S(lhs,0)); PN_S 420 core/compile.c num = PN_PUT(f->locals, PN_S(lhs,0)); PN_S 426 core/compile.c fname = PN_S(lhs,0); PN_S 433 core/compile.c num = PN_PUT(f->values, PN_S(lhs,0)); PN_S 441 core/compile.c num = PN_PUT(f->values, PN_S(lhs,0)); PN_S 458 core/compile.c PN_ARG_TABLE(PN_S(lhs,1), breg, 1); PN_S 496 core/compile.c PN_SIZE num = PN_UPVAL(PN_S(lhs,0)); PN_S 499 core/compile.c num = PN_PUT(f->locals, PN_S(lhs,0)); PN_S 508 core/compile.c if (PN_IS_NUM(PN_S(t,1))) { PN_S 512 core/compile.c PN_ASM2(OP_LOADPN, breg + 1, (PN_S(t,1) | PN_FNUMBER)); PN_S 564 core/compile.c int arg = (PN_S(t,1) != PN_NIL); PN_S 565 core/compile.c int call = (PN_S(t,2) != PN_NIL || arg); PN_S 568 core/compile.c if (t->part == AST_MSG && PN_S(t,0) == PN_use) { PN_S 570 core/compile.c PN use = PN_TUPLE_AT(PN_S(t,1), 0); PN_S 571 core/compile.c PN name = PN_TUPLE_AT(PN_S(t,1), 1); PN_S 572 core/compile.c PN list = potion_tuple_at(P,0,PN_S(t,1),2); PN_S 581 core/compile.c if (t->part == AST_MSG && PN_S(t,0) == PN_if) { PN_S 596 core/compile.c ifconst = PN_S(t->a[1], 0); PN_S 605 core/compile.c PN_ARG_TABLE(PN_S(t,1), breg, 0); PN_S 611 core/compile.c } else if (t->part == AST_MSG && PN_S(t,0) == PN_elsif) { PN_S 629 core/compile.c ifconst = PN_S(t->a[1], 0); PN_S 639 core/compile.c PN_ARG_TABLE(PN_S(t,1), breg, 0); PN_S 646 core/compile.c } else if (t->part == AST_MSG && PN_S(t,0) == PN_else) { PN_S 672 core/compile.c } else if (t->part == AST_MSG && PN_S(t,0) == PN_class) { PN_S 676 core/compile.c if (PN_S(t,2) != PN_NIL) { PN_S 679 core/compile.c if (PN_S(blk, 0) == PN_NIL) PN_S 681 core/compile.c PN ctor = PN_S(blk, 0); PN_S 686 core/compile.c PN_BLOCK(breg, (PN)blk, PN_S(t,1)); PN_S 689 core/compile.c } else if (t->part == AST_MSG && (PN_S(t,0) == PN_while || PN_S(t,0) == PN_loop)) { PN_S 693 core/compile.c if (PN_S(t,0) == PN_while) { PN_S 694 core/compile.c PN_ARG_TABLE(PN_S(t,1), breg, 0); PN_S 697 core/compile.c } else if (PN_S(t,1) || !t->a[2]) { PN_S 704 core/compile.c if (PN_S(t,0) == PN_while) { PN_S 713 core/compile.c } else if (t->part == AST_MSG && PN_S(t,0) == PN_return) { PN_S 714 core/compile.c PN_ARG_TABLE(PN_S(t,1), reg, 0); PN_S 716 core/compile.c } else if (t->part == AST_MSG && PN_S(t,0) == PN_break) { PN_S 723 core/compile.c } else if (t->part == AST_MSG && PN_S(t,0) == PN_continue) { PN_S 730 core/compile.c } else if (t->part == AST_MSG && PN_S(t,0) == PN_self) { PN_S 736 core/compile.c PN v = PN_S(t,0); PN_S 746 core/compile.c if (num == PN_NONE && PN_S(t,0) != PN_NIL) { PN_S 749 core/compile.c num = PN_PUT(f->values, PN_S(t,0)); PN_S 757 core/compile.c if (PN_S(t,2) != PN_NIL && (PN_PART(PN_S(t,2)) == AST_MSG)) { PN_S 761 core/compile.c num = PN_PUT(f->values, PN_S(t2,0)); PN_S 765 core/compile.c PN_ASM2(PN_S(t,1) != PN_NIL || PN_S(t,2) != PN_NIL ? OP_MSG : OP_BIND, reg, breg); PN_S 767 core/compile.c if (t->part == AST_QUERY && PN_S(t,1) != PN_NIL) { PN_S 771 core/compile.c #define LOAD_ARG() PN_ARG_TABLE(PN_S(t,1), breg, 1) PN_S 773 core/compile.c u8 part1 = PN_PART(PN_S(t,1)); PN_S 774 core/compile.c if (part1 == AST_VALUE || (part1 == AST_LIST && PN_S(t,2) == PN_NIL)) { PN_S 778 core/compile.c if (PN_S(t,2) != PN_NIL && (PN_PART(PN_S(t,2)) == AST_PROTO)) { PN_S 781 core/compile.c PN_BLOCK(breg, PN_S(t2,1), PN_S(t2,0)); PN_S 783 core/compile.c if (PN_S(t,1) == PN_NIL && PN_S(t,2) == PN_NIL) PN_S 785 core/compile.c if (PN_S(t,2) != PN_NIL && PN_PART(PN_S(t,2)) == AST_BLOCK) { PN_S 787 core/compile.c PN_BLOCK(breg, PN_S(t,2), PN_S(t,1)); PN_S 795 core/compile.c if (PN_S(t,1) != PN_NIL) { PN_S 808 core/compile.c PN_ARG_TABLE(PN_S(t,1), breg, 1); PN_S 809 core/compile.c if (PN_S(t,2) != PN_NIL) { PN_S 811 core/compile.c PN_BLOCK(breg, PN_S(t,2), PN_NIL); PN_S 824 core/compile.c PN_SIZE num = PN_PUT(f->values, PN_S(t,0)); PN_S 841 core/compile.c PN_SIZE num = PN_PUT(f->values, PN_S(t,0)); PN_S 844 core/compile.c if (PN_S(t,1) != PN_NIL) PN_S 846 core/compile.c else if (PN_S(t,2) != PN_NIL) PN_S 848 core/compile.c if (PN_S(t,2) != PN_NIL) PN_S 857 core/compile.c if (PN_S(t,0) != PN_NIL) { PN_S 858 core/compile.c PN_TUPLE_EACH(PN_S(t,0), i, v, { PN_S 861 core/compile.c vPN(Source) lhs = PN_SRC(PN_S(v,0)); PN_S 862 core/compile.c if (lhs->part == AST_EXPR && PN_TUPLE_LEN(PN_S(lhs,0)) == 1) PN_S 867 core/compile.c PN_SIZE num = PN_PUT(f->values, PN_S(lhs,0)); PN_S 895 core/compile.c name = PN_S(t,0); \ PN_S 926 core/compile.c PN sig = PN_S(t,0); PN_S 937 core/compile.c if (t->part == AST_LIST && PN_S(t,0) != PN_NIL) { PN_S 939 core/compile.c ({ struct PNTuple * volatile __tv = ((struct PNTuple *)potion_fwd(PN_S(t,0))); PN_S 951 core/compile.c PN v = PN_S(lhs,0); PN_S 971 core/compile.c if (lhs->part == AST_EXPR && PN_TUPLE_LEN(PN_S(lhs,0)) == 1) { PN_S 988 core/compile.c PN v = PN_NUM(PN_STR_PTR(PN_S(rhs,0))[0]); // = type. TODO: one-char => VTABLE PN_S 1004 core/compile.c PN v = PN_S(SRC_TUPLE_AT(rhs,0),0); PN_S 1010 core/compile.c PN v = PN_S(rhs,0); PN_S 171 syn/syntax-p5.y { PN s1 = PN_TUP0(); PN_TUPLE_EACH(PN_S(l,0), i, v, { PN_S 173 syn/syntax-p5.y s1 = PN_PUSH(s1, PN_AST2(ASSIGN, v, potion_tuple_at(P,0,PN_S(r,0),PN_NUM(i)))); PN_S 176 syn/syntax-p5.y { PN s1 = PN_TUP0(); PN_TUPLE_EACH(PN_S(l,0), i, v, { PN_S 177 syn/syntax-p5.y s1 = PN_PUSH(s1, PN_AST2(ASSIGN, v, potion_tuple_at(P,0,PN_S(r,0),PN_NUM(i)))); PN_S 248 syn/syntax-p5.y | c:call e:expr { $$ = PN_AST(EXPR, PN_PUSH(PN_TUPIF(PN_S(e,0)), PN_S 250 syn/syntax-p5.y | c:call l:listexprs { $$ = PN_SHIFT(PN_S(l,0)); PN_S 251 syn/syntax-p5.y if (!PN_S(l, 0)) { PN_SRC(c)->a[1] = PN_SRC($$); } PN_S 529 syn/syntax-p5.y { SRC_TPL3(n, PN_NUM(':'), PN_S(d,0)) } PN_S 552 syn/syntax-p5.y | n:arg2-name - assign d:value { SRC_TPL3(n,PN_NUM(':'), PN_S(d,0)) } PN_S 356 syn/syntax.y { SRC_TPL3(n, PN_NUM(':'), PN_S(d,0)) }