Lines Matching refs:pn

193 STATIC void compile_error_set_line(compiler_t *comp, mp_parse_node_t pn) {  in compile_error_set_line()  argument
195 if (comp->compile_error_line == 0 && MP_PARSE_NODE_IS_STRUCT(pn)) { in compile_error_set_line()
196 comp->compile_error_line = ((mp_parse_node_struct_t *)pn)->source_line; in compile_error_set_line()
200 STATIC void compile_syntax_error(compiler_t *comp, mp_parse_node_t pn, mp_rom_error_text_t msg) { in compile_syntax_error() argument
204 compile_error_set_line(comp, pn); in compile_syntax_error()
211 STATIC void compile_node(compiler_t *comp, mp_parse_node_t pn);
242 STATIC scope_t *scope_new_and_link(compiler_t *comp, scope_kind_t kind, mp_parse_node_t pn, uint em… in scope_new_and_link() argument
243 scope_t *scope = scope_new(kind, pn, comp->source_file, emit_options); in scope_new_and_link()
258 typedef void (*apply_list_fun_t)(compiler_t *comp, mp_parse_node_t pn);
260 STATIC void apply_to_single_or_list(compiler_t *comp, mp_parse_node_t pn, pn_kind_t pn_list_kind, a… in apply_to_single_or_list() argument
261 if (MP_PARSE_NODE_IS_STRUCT_KIND(pn, pn_list_kind)) { in apply_to_single_or_list()
262 mp_parse_node_struct_t *pns = (mp_parse_node_struct_t *)pn; in apply_to_single_or_list()
267 } else if (!MP_PARSE_NODE_IS_NULL(pn)) { in apply_to_single_or_list()
268 f(comp, pn); in apply_to_single_or_list()
320 STATIC void c_tuple(compiler_t *comp, mp_parse_node_t pn, mp_parse_node_struct_t *pns_list) { in c_tuple() argument
322 if (!MP_PARSE_NODE_IS_NULL(pn)) { in c_tuple()
323 compile_node(comp, pn); in c_tuple()
341 STATIC void c_if_cond(compiler_t *comp, mp_parse_node_t pn, bool jump_if, int label) { in c_if_cond() argument
342 if (mp_parse_node_is_const_false(pn)) { in c_if_cond()
347 } else if (mp_parse_node_is_const_true(pn)) { in c_if_cond()
352 } else if (MP_PARSE_NODE_IS_STRUCT(pn)) { in c_if_cond()
353 mp_parse_node_struct_t *pns = (mp_parse_node_struct_t *)pn; in c_if_cond()
399 compile_node(comp, pn); in c_if_cond()
404 STATIC void c_assign(compiler_t *comp, mp_parse_node_t pn, assign_kind_t kind);
496 STATIC void c_assign(compiler_t *comp, mp_parse_node_t pn, assign_kind_t assign_kind) { in c_assign() argument
497 assert(!MP_PARSE_NODE_IS_NULL(pn)); in c_assign()
498 if (MP_PARSE_NODE_IS_LEAF(pn)) { in c_assign()
499 if (MP_PARSE_NODE_IS_ID(pn)) { in c_assign()
500 qstr arg = MP_PARSE_NODE_LEAF_ARG(pn); in c_assign()
516 mp_parse_node_struct_t *pns = (mp_parse_node_struct_t *)pn; in c_assign()
597 compile_syntax_error(comp, pn, MP_ERROR_TEXT("can't assign to expression")); in c_assign()
646 STATIC void compile_funcdef_lambdef_param(compiler_t *comp, mp_parse_node_t pn) { in compile_funcdef_lambdef_param() argument
649 if (MP_PARSE_NODE_IS_ID(pn)) { in compile_funcdef_lambdef_param()
652 assert(MP_PARSE_NODE_IS_STRUCT(pn)); in compile_funcdef_lambdef_param()
653 pn_kind = MP_PARSE_NODE_STRUCT_KIND((mp_parse_node_struct_t *)pn); in compile_funcdef_lambdef_param()
677 pn_id = pn; in compile_funcdef_lambdef_param()
683 mp_parse_node_struct_t *pns = (mp_parse_node_struct_t *)pn; in compile_funcdef_lambdef_param()
692 mp_parse_node_struct_t *pns = (mp_parse_node_struct_t *)pn; in compile_funcdef_lambdef_param()
702 … compile_syntax_error(comp, pn, MP_ERROR_TEXT("non-default argument follows default argument")); in compile_funcdef_lambdef_param()
948 STATIC void c_del_stmt(compiler_t *comp, mp_parse_node_t pn) { in c_del_stmt() argument
949 if (MP_PARSE_NODE_IS_ID(pn)) { in c_del_stmt()
950 compile_delete_id(comp, MP_PARSE_NODE_LEAF_ARG(pn)); in c_del_stmt()
951 } else if (MP_PARSE_NODE_IS_STRUCT_KIND(pn, PN_atom_expr_normal)) { in c_del_stmt()
952 mp_parse_node_struct_t *pns = (mp_parse_node_struct_t *)pn; in c_del_stmt()
979 } else if (MP_PARSE_NODE_IS_STRUCT_KIND(pn, PN_atom_paren)) { in c_del_stmt()
980 pn = ((mp_parse_node_struct_t *)pn)->nodes[0]; in c_del_stmt()
981 if (MP_PARSE_NODE_IS_NULL(pn)) { in c_del_stmt()
984 assert(MP_PARSE_NODE_IS_STRUCT_KIND(pn, PN_testlist_comp)); in c_del_stmt()
985 mp_parse_node_struct_t *pns = (mp_parse_node_struct_t *)pn; in c_del_stmt()
1022 compile_syntax_error(comp, (mp_parse_node_t)pn, MP_ERROR_TEXT("can't delete expression")); in c_del_stmt()
1096 STATIC void do_import_name(compiler_t *comp, mp_parse_node_t pn, qstr *q_base) { in do_import_name() argument
1098 if (MP_PARSE_NODE_IS_STRUCT_KIND(pn, PN_dotted_as_name)) { in do_import_name()
1099 mp_parse_node_struct_t *pns = (mp_parse_node_struct_t *)pn; in do_import_name()
1102 pn = pns->nodes[0]; in do_import_name()
1105 if (MP_PARSE_NODE_IS_NULL(pn)) { in do_import_name()
1109 } else if (MP_PARSE_NODE_IS_ID(pn)) { in do_import_name()
1111 qstr q_full = MP_PARSE_NODE_LEAF_ARG(pn); in do_import_name()
1117 assert(MP_PARSE_NODE_IS_STRUCT_KIND(pn, PN_dotted_name)); // should be in do_import_name()
1118 mp_parse_node_struct_t *pns = (mp_parse_node_struct_t *)pn; in do_import_name()
1152 STATIC void compile_dotted_as_name(compiler_t *comp, mp_parse_node_t pn) { in compile_dotted_as_name() argument
1156 do_import_name(comp, pn, &q_base); in compile_dotted_as_name()
1252 STATIC void compile_declare_global(compiler_t *comp, mp_parse_node_t pn, id_info_t *id_info) { in compile_declare_global() argument
1254 compile_syntax_error(comp, pn, MP_ERROR_TEXT("identifier redefined as global")); in compile_declare_global()
1266 STATIC void compile_declare_nonlocal(compiler_t *comp, mp_parse_node_t pn, id_info_t *id_info) { in compile_declare_nonlocal() argument
1271 compile_syntax_error(comp, pn, MP_ERROR_TEXT("no binding for nonlocal found")); in compile_declare_nonlocal()
1274 compile_syntax_error(comp, pn, MP_ERROR_TEXT("identifier redefined as nonlocal")); in compile_declare_nonlocal()
2562 mp_parse_node_t pn = pns->nodes[0]; in compile_atom_brace_helper() local
2563 if (MP_PARSE_NODE_IS_NULL(pn)) { in compile_atom_brace_helper()
2568 } else if (MP_PARSE_NODE_IS_STRUCT(pn)) { in compile_atom_brace_helper()
2569 pns = (mp_parse_node_struct_t *)pn; in compile_atom_brace_helper()
2575 compile_node(comp, pn); in compile_atom_brace_helper()
2655 compile_node(comp, pn); in compile_atom_brace_helper()
2694 mp_parse_node_t pn = pns->nodes[0]; in compile_subscript() local
2695 if (MP_PARSE_NODE_IS_NULL(pn)) { in compile_subscript()
2699 } else if (MP_PARSE_NODE_IS_STRUCT(pn)) { in compile_subscript()
2700 pns = (mp_parse_node_struct_t *)pn; in compile_subscript()
2703 pn = pns->nodes[0]; in compile_subscript()
2704 if (MP_PARSE_NODE_IS_NULL(pn)) { in compile_subscript()
2709 compile_node(comp, pn); in compile_subscript()
2727 compile_node(comp, pn); in compile_subscript()
2732 compile_node(comp, pn); in compile_subscript()
2807 STATIC void compile_node(compiler_t *comp, mp_parse_node_t pn) { in compile_node() argument
2808 if (MP_PARSE_NODE_IS_NULL(pn)) { in compile_node()
2810 } else if (MP_PARSE_NODE_IS_SMALL_INT(pn)) { in compile_node()
2811 mp_int_t arg = MP_PARSE_NODE_LEAF_SMALL_INT(pn); in compile_node()
2829 } else if (MP_PARSE_NODE_IS_LEAF(pn)) { in compile_node()
2830 uintptr_t arg = MP_PARSE_NODE_LEAF_ARG(pn); in compile_node()
2831 switch (MP_PARSE_NODE_LEAF_KIND(pn)) { in compile_node()
2860 mp_parse_node_struct_t *pns = (mp_parse_node_struct_t *)pn; in compile_node()
2887 STATIC void compile_scope_func_lambda_param(compiler_t *comp, mp_parse_node_t pn, pn_kind_t pn_name… in compile_scope_func_lambda_param() argument
2892 compile_syntax_error(comp, pn, MP_ERROR_TEXT("invalid syntax")); in compile_scope_func_lambda_param()
2899 if (MP_PARSE_NODE_IS_ID(pn)) { in compile_scope_func_lambda_param()
2900 param_name = MP_PARSE_NODE_LEAF_ARG(pn); in compile_scope_func_lambda_param()
2909 assert(MP_PARSE_NODE_IS_STRUCT(pn)); in compile_scope_func_lambda_param()
2910 pns = (mp_parse_node_struct_t *)pn; in compile_scope_func_lambda_param()
2924 compile_syntax_error(comp, pn, MP_ERROR_TEXT("invalid syntax")); in compile_scope_func_lambda_param()
2958 compile_syntax_error(comp, pn, MP_ERROR_TEXT("argument name reused")); in compile_scope_func_lambda_param()
2974 STATIC void compile_scope_func_param(compiler_t *comp, mp_parse_node_t pn) { in compile_scope_func_param() argument
2975 …compile_scope_func_lambda_param(comp, pn, PN_typedargslist_name, PN_typedargslist_star, PN_typedar… in compile_scope_func_param()
2978 STATIC void compile_scope_lambda_param(compiler_t *comp, mp_parse_node_t pn) { in compile_scope_lambda_param() argument
2979 …compile_scope_func_lambda_param(comp, pn, PN_varargslist_name, PN_varargslist_star, PN_varargslist… in compile_scope_lambda_param()
3021 STATIC void check_for_doc_string(compiler_t *comp, mp_parse_node_t pn) { in check_for_doc_string() argument
3026 if (MP_PARSE_NODE_IS_STRUCT_KIND(pn, PN_expr_stmt)) { in check_for_doc_string()
3028 } else if (MP_PARSE_NODE_IS_STRUCT_KIND(pn, PN_file_input_2)) { in check_for_doc_string()
3030 mp_parse_node_struct_t *pns = (mp_parse_node_struct_t *)pn; in check_for_doc_string()
3033 pn = pns->nodes[i]; in check_for_doc_string()
3034 …if (!(MP_PARSE_NODE_IS_LEAF(pn) && MP_PARSE_NODE_LEAF_KIND(pn) == MP_PARSE_NODE_TOKEN && MP_PARSE_… in check_for_doc_string()
3040 } else if (MP_PARSE_NODE_IS_STRUCT_KIND(pn, PN_suite_block_stmts)) { in check_for_doc_string()
3042 pn = ((mp_parse_node_struct_t *)pn)->nodes[0]; in check_for_doc_string()
3048 if (MP_PARSE_NODE_IS_STRUCT_KIND(pn, PN_expr_stmt)) { in check_for_doc_string()
3049 mp_parse_node_struct_t *pns = (mp_parse_node_struct_t *)pn; in check_for_doc_string()
3062 (void)pn; in check_for_doc_string()
3081 if (MP_PARSE_NODE_IS_STRUCT_KIND(scope->pn, PN_eval_input)) { in compile_scope()
3083 mp_parse_node_struct_t *pns = (mp_parse_node_struct_t *)scope->pn; in compile_scope()
3088 check_for_doc_string(comp, scope->pn); in compile_scope()
3090 compile_node(comp, scope->pn); in compile_scope()
3094 assert(MP_PARSE_NODE_IS_STRUCT(scope->pn)); in compile_scope()
3095 mp_parse_node_struct_t *pns = (mp_parse_node_struct_t *)scope->pn; in compile_scope()
3119 assert(MP_PARSE_NODE_IS_STRUCT(scope->pn)); in compile_scope()
3120 mp_parse_node_struct_t *pns = (mp_parse_node_struct_t *)scope->pn; in compile_scope()
3144 assert(MP_PARSE_NODE_IS_STRUCT(scope->pn)); in compile_scope()
3145 mp_parse_node_struct_t *pns = (mp_parse_node_struct_t *)scope->pn; in compile_scope()
3194 assert(MP_PARSE_NODE_IS_STRUCT(scope->pn)); in compile_scope()
3195 mp_parse_node_struct_t *pns = (mp_parse_node_struct_t *)scope->pn; in compile_scope()
3246 assert(MP_PARSE_NODE_IS_STRUCT(scope->pn)); in compile_scope_inline_asm()
3247 mp_parse_node_struct_t *pns = (mp_parse_node_struct_t *)scope->pn; in compile_scope_inline_asm()
3632 compile_error_set_line(comp, comp->scope_cur->pn); in mp_compile_to_raw_code()