PN_S 38 core/ast.h if (PN_PART(endname) == AST_EXPR) endname = PN_TUPLE_AT(PN_S(endname, 0), 0); \ PN_S 40 core/ast.h endname = PN_S(endname, 0); \ PN_S 188 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 189 core/compile.c PN test = PN_S(PN_TUPLE_AT(PN_S(t->a[n],0), 0), 0); \ PN_S 241 core/compile.c #define SRC_TUPLE_AT(src,i) PN_SRC(PN_TUPLE_AT(PN_S(src,0), i)) PN_S 272 core/compile.c args = PN_S(args,0); PN_S 280 core/compile.c vPN(Source) lhs = PN_SRC(PN_S(v,0)); PN_S 282 core/compile.c if (lhs->part == AST_EXPR && PN_TUPLE_LEN(PN_S(lhs,0)) == 1) PN_S 287 core/compile.c PN_OP op; op.a = PN_S(lhs,0); //12 bit! PN_S 288 core/compile.c if (!PN_IS_PTR(PN_S(lhs,0)) && PN_S(lhs,0) == op.a) { PN_S 289 core/compile.c PN_ASM2(OP_LOADPN, sreg, PN_S(lhs,0)); PN_S 291 core/compile.c PN_SIZE num = PN_PUT(f->values, PN_S(lhs,0)); PN_S 329 core/compile.c if (PN_S(t,0) != PN_NIL) { PN_S 331 core/compile.c t->part == AST_CODE?"":AS_STR(PN_S(t,0))); PN_S 332 core/compile.c PN_TUPLE_EACH(PN_S(t,0), i, v, { PN_S 339 core/compile.c if (PN_S(t,0) != PN_NIL) { PN_S 340 core/compile.c PN e = PN_S(t,0); PN_S 349 core/compile.c PN_BLOCK(reg, PN_S(t,1), PN_S(t,0)); PN_S 354 core/compile.c PN_OP op; op.a = PN_S(t,0); // but 12bit only PN_S 356 core/compile.c PN_ASM2(OP_LOADPN, reg, PN_S(t,0)); PN_S 360 core/compile.c PN tpl = PN_S(msg, 0); PN_S 364 core/compile.c PN key = PN_S(PN_TUPLE_AT(a->a[1]->a[0], 0), 0); PN_S 381 core/compile.c PN k = PN_S(key, 0); PN_S 409 core/compile.c if (PN_S(t,1) != PN_NIL && a->part != AST_LICK) { PN_S 412 core/compile.c PN_ARG_TABLE(PN_S(t,1), breg, 1); PN_S 413 core/compile.c if (PN_S(t,2) != PN_NIL) { PN_S 415 core/compile.c PN_BLOCK(breg, PN_S(t,2), PN_NIL); PN_S 430 core/compile.c c = PN_TUPLE_LEN(PN_S(lhs,0)) - 1; PN_S 440 core/compile.c char first_letter = PN_STR_PTR(PN_S(lhs,0))[0]; PN_S 442 core/compile.c AS_STR(PN_S(lhs,0))); PN_S 444 core/compile.c num = PN_PUT(f->values, PN_S(lhs,0)); PN_S 450 core/compile.c num = PN_UPVAL(PN_S(lhs,0)); PN_S 452 core/compile.c num = PN_PUT(f->locals, PN_S(lhs,0)); PN_S 458 core/compile.c PN fname = PN_S(lhs,0); PN_S 465 core/compile.c num = PN_PUT(f->values, PN_S(lhs,0)); PN_S 473 core/compile.c num = PN_PUT(f->values, PN_S(lhs,0)); PN_S 492 core/compile.c PN_ARG_TABLE(PN_S(lhs,1), breg, 1); PN_S 530 core/compile.c PN_SIZE num = PN_UPVAL(PN_S(lhs,0)); PN_S 533 core/compile.c num = PN_PUT(f->locals, PN_S(lhs,0)); PN_S 542 core/compile.c if (PN_IS_INT(PN_S(t,1))) { PN_S 546 core/compile.c PN_ASM2(OP_LOADPN, breg + 1, (PN_S(t,1) | PN_FINTEGER)); PN_S 598 core/compile.c int arg = (PN_S(t,1) != PN_NIL); PN_S 599 core/compile.c int call = (PN_S(t,2) != PN_NIL || arg); PN_S 600 core/compile.c if (t->part == AST_MSG && PN_S(t,0) == PN_if) { PN_S 604 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 616 core/compile.c PN_ARG_TABLE(PN_S(t,1), breg, 0); PN_S 624 core/compile.c } else if (t->part == AST_MSG && PN_S(t,0) == PN_else) { PN_S 631 core/compile.c } else if (t->part == AST_MSG && PN_S(t,0) == PN_class) { PN_S 635 core/compile.c if (PN_S(t,2) != PN_NIL) { PN_S 638 core/compile.c if (PN_S(blk, 0) == PN_NIL) PN_S 640 core/compile.c PN ctor = PN_S(blk, 0); PN_S 645 core/compile.c PN_BLOCK(breg, (PN)blk, PN_S(t,1)); PN_S 649 core/compile.c } else if (t->part == AST_MSG && PN_S(t,0) == PN_extern) { // ffi PN_S 652 core/compile.c PN msg = PN_S(t,1); PN_S 653 core/compile.c char *name = PN_STR_PTR(PN_S(PN_TUPLE_AT(msg,0),0)); PN_S 670 core/compile.c cl->name = PN_S(PN_TUPLE_AT(msg,0),0); PN_S 700 core/compile.c } else if (t->part == AST_MSG && (PN_S(t,0) == PN_while || PN_S(t,0) == PN_loop)) { PN_S 704 core/compile.c if (PN_S(t,0) == PN_while) { PN_S 705 core/compile.c PN_ARG_TABLE(PN_S(t,1), breg, 0); PN_S 708 core/compile.c } else if (PN_S(t,1) || !t->a[2]) { PN_S 714 core/compile.c if (PN_S(t,0) == PN_while) PN_S 721 core/compile.c if (PN_S(t,0) == PN_while) { PN_S 730 core/compile.c } else if (t->part == AST_MSG && PN_S(t,0) == PN_return) { PN_S 733 core/compile.c PN_ARG_TABLE(PN_S(t,1), reg, 0); PN_S 735 core/compile.c } else if (t->part == AST_MSG && PN_S(t,0) == PN_break) { PN_S 742 core/compile.c } else if (t->part == AST_MSG && PN_S(t,0) == PN_continue) { PN_S 749 core/compile.c } else if (t->part == AST_MSG && PN_S(t,0) == PN_self) { PN_S 756 core/compile.c PN v = PN_S(t,0); PN_S 766 core/compile.c if (num == PN_NONE && PN_S(t,0) != PN_NIL) { PN_S 769 core/compile.c num = PN_PUT(f->values, PN_S(t,0)); PN_S 777 core/compile.c if (PN_S(t,2) != PN_NIL && (PN_PART(PN_S(t,2)) == AST_MSG)) { PN_S 781 core/compile.c num = PN_PUT(f->values, PN_S(t2,0)); PN_S 785 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 787 core/compile.c if (t->part == AST_QUERY && PN_S(t,1) != PN_NIL) { PN_S 791 core/compile.c #define LOAD_ARG() PN_ARG_TABLE(PN_S(t,1), breg, 1) PN_S 793 core/compile.c u8 part1 = PN_PART(PN_S(t,1)); PN_S 794 core/compile.c if (part1 == AST_VALUE || (part1 == AST_LIST && PN_S(t,2) == PN_NIL)) { PN_S 798 core/compile.c if (PN_S(t,2) != PN_NIL && (PN_PART(PN_S(t,2)) == AST_PROTO)) { PN_S 801 core/compile.c PN_BLOCK(breg, PN_S(t2,1), PN_S(t2,0)); PN_S 803 core/compile.c if (PN_S(t,1) == PN_NIL && PN_S(t,2) == PN_NIL) PN_S 805 core/compile.c if (PN_S(t,2) != PN_NIL && PN_PART(PN_S(t,2)) == AST_BLOCK) { PN_S 807 core/compile.c PN_BLOCK(breg, PN_S(t,2), PN_S(t,1)); PN_S 815 core/compile.c if (PN_S(t,1) != PN_NIL) { PN_S 828 core/compile.c PN_ARG_TABLE(PN_S(t,1), breg, 1); PN_S 829 core/compile.c if (PN_S(t,2) != PN_NIL) { PN_S 831 core/compile.c PN_BLOCK(breg, PN_S(t,2), PN_NIL); PN_S 844 core/compile.c PN_SIZE num = PN_PUT(f->values, PN_S(t,0)); PN_S 861 core/compile.c PN_SIZE num = PN_PUT(f->values, PN_S(t,0)); PN_S 864 core/compile.c if (PN_S(t,1) != PN_NIL) PN_S 866 core/compile.c else if (PN_S(t,2) != PN_NIL) PN_S 868 core/compile.c if (PN_S(t,2) != PN_NIL) PN_S 877 core/compile.c if (PN_S(t,0) != PN_NIL) { PN_S 878 core/compile.c PN_TUPLE_EACH(PN_S(t,0), i, v, { PN_S 881 core/compile.c vPN(Source) lhs = PN_SRC(PN_S(v,0)); PN_S 882 core/compile.c if (lhs->part == AST_EXPR && PN_TUPLE_LEN(PN_S(lhs,0)) == 1) PN_S 887 core/compile.c PN_SIZE num = PN_PUT(f->values, PN_S(lhs,0)); PN_S 915 core/compile.c name = PN_S(t,0); \ PN_S 945 core/compile.c if (t->part == AST_LIST && PN_S(t,0) != PN_NIL) { PN_S 947 core/compile.c ({ struct PNTuple * volatile __tv = ((struct PNTuple *)potion_fwd(PN_S(t,0))); PN_S 959 core/compile.c PN v = PN_S(lhs,0); PN_S 979 core/compile.c if (lhs->part == AST_EXPR && PN_TUPLE_LEN(PN_S(lhs,0)) == 1) { PN_S 996 core/compile.c PN v = PN_NUM(PN_STR_PTR(PN_S(rhs,0))[0]); // = type. TODO: one-char => VTABLE PN_S 1012 core/compile.c PN v = PN_S(SRC_TUPLE_AT(rhs,0),0); PN_S 1018 core/compile.c PN v = PN_S(rhs,0); PN_S 371 core/syntax.y { SRC_TPL3(n, PN_NUM(':'), PN_S(d,0)) }