all: Reformat C and Python source code with tools/codeformat.py.
This is run with uncrustify 0.70.1, and black 19.10b0.
This commit is contained in:
70
py/parse.c
70
py/parse.c
@@ -260,7 +260,7 @@ STATIC void *parser_alloc(parser_t *parser, size_t num_bytes) {
|
||||
|
||||
if (chunk != NULL && chunk->union_.used + num_bytes > chunk->alloc) {
|
||||
// not enough room at end of previously allocated chunk so try to grow
|
||||
mp_parse_chunk_t *new_data = (mp_parse_chunk_t*)m_renew_maybe(byte, chunk,
|
||||
mp_parse_chunk_t *new_data = (mp_parse_chunk_t *)m_renew_maybe(byte, chunk,
|
||||
sizeof(mp_parse_chunk_t) + chunk->alloc,
|
||||
sizeof(mp_parse_chunk_t) + chunk->alloc + num_bytes, false);
|
||||
if (new_data == NULL) {
|
||||
@@ -283,7 +283,7 @@ STATIC void *parser_alloc(parser_t *parser, size_t num_bytes) {
|
||||
if (alloc < num_bytes) {
|
||||
alloc = num_bytes;
|
||||
}
|
||||
chunk = (mp_parse_chunk_t*)m_new(byte, sizeof(mp_parse_chunk_t) + alloc);
|
||||
chunk = (mp_parse_chunk_t *)m_new(byte, sizeof(mp_parse_chunk_t) + alloc);
|
||||
chunk->alloc = alloc;
|
||||
chunk->union_.used = 0;
|
||||
parser->cur_chunk = chunk;
|
||||
@@ -322,12 +322,12 @@ STATIC uint8_t pop_rule(parser_t *parser, size_t *arg_i, size_t *src_line) {
|
||||
|
||||
bool mp_parse_node_is_const_false(mp_parse_node_t pn) {
|
||||
return MP_PARSE_NODE_IS_TOKEN_KIND(pn, MP_TOKEN_KW_FALSE)
|
||||
|| (MP_PARSE_NODE_IS_SMALL_INT(pn) && MP_PARSE_NODE_LEAF_SMALL_INT(pn) == 0);
|
||||
|| (MP_PARSE_NODE_IS_SMALL_INT(pn) && MP_PARSE_NODE_LEAF_SMALL_INT(pn) == 0);
|
||||
}
|
||||
|
||||
bool mp_parse_node_is_const_true(mp_parse_node_t pn) {
|
||||
return MP_PARSE_NODE_IS_TOKEN_KIND(pn, MP_TOKEN_KW_TRUE)
|
||||
|| (MP_PARSE_NODE_IS_SMALL_INT(pn) && MP_PARSE_NODE_LEAF_SMALL_INT(pn) != 0);
|
||||
|| (MP_PARSE_NODE_IS_SMALL_INT(pn) && MP_PARSE_NODE_LEAF_SMALL_INT(pn) != 0);
|
||||
}
|
||||
|
||||
bool mp_parse_node_get_int_maybe(mp_parse_node_t pn, mp_obj_t *o) {
|
||||
@@ -335,7 +335,7 @@ bool mp_parse_node_get_int_maybe(mp_parse_node_t pn, mp_obj_t *o) {
|
||||
*o = MP_OBJ_NEW_SMALL_INT(MP_PARSE_NODE_LEAF_SMALL_INT(pn));
|
||||
return true;
|
||||
} else if (MP_PARSE_NODE_IS_STRUCT_KIND(pn, RULE_const_object)) {
|
||||
mp_parse_node_struct_t *pns = (mp_parse_node_struct_t*)pn;
|
||||
mp_parse_node_struct_t *pns = (mp_parse_node_struct_t *)pn;
|
||||
#if MICROPY_OBJ_REPR == MICROPY_OBJ_REPR_D
|
||||
// nodes are 32-bit pointers, but need to extract 64-bit object
|
||||
*o = (uint64_t)pns->nodes[0] | ((uint64_t)pns->nodes[1] << 32);
|
||||
@@ -356,7 +356,7 @@ int mp_parse_node_extract_list(mp_parse_node_t *pn, size_t pn_kind, mp_parse_nod
|
||||
*nodes = pn;
|
||||
return 1;
|
||||
} else {
|
||||
mp_parse_node_struct_t *pns = (mp_parse_node_struct_t*)(*pn);
|
||||
mp_parse_node_struct_t *pns = (mp_parse_node_struct_t *)(*pn);
|
||||
if (MP_PARSE_NODE_STRUCT_KIND(pns) != pn_kind) {
|
||||
*nodes = pn;
|
||||
return 1;
|
||||
@@ -370,7 +370,7 @@ int mp_parse_node_extract_list(mp_parse_node_t *pn, size_t pn_kind, mp_parse_nod
|
||||
#if MICROPY_DEBUG_PRINTERS
|
||||
void mp_parse_node_print(mp_parse_node_t pn, size_t indent) {
|
||||
if (MP_PARSE_NODE_IS_STRUCT(pn)) {
|
||||
printf("[% 4d] ", (int)((mp_parse_node_struct_t*)pn)->source_line);
|
||||
printf("[% 4d] ", (int)((mp_parse_node_struct_t *)pn)->source_line);
|
||||
} else {
|
||||
printf(" ");
|
||||
}
|
||||
@@ -385,16 +385,23 @@ void mp_parse_node_print(mp_parse_node_t pn, size_t indent) {
|
||||
} else if (MP_PARSE_NODE_IS_LEAF(pn)) {
|
||||
uintptr_t arg = MP_PARSE_NODE_LEAF_ARG(pn);
|
||||
switch (MP_PARSE_NODE_LEAF_KIND(pn)) {
|
||||
case MP_PARSE_NODE_ID: printf("id(%s)\n", qstr_str(arg)); break;
|
||||
case MP_PARSE_NODE_STRING: printf("str(%s)\n", qstr_str(arg)); break;
|
||||
case MP_PARSE_NODE_BYTES: printf("bytes(%s)\n", qstr_str(arg)); break;
|
||||
case MP_PARSE_NODE_ID:
|
||||
printf("id(%s)\n", qstr_str(arg));
|
||||
break;
|
||||
case MP_PARSE_NODE_STRING:
|
||||
printf("str(%s)\n", qstr_str(arg));
|
||||
break;
|
||||
case MP_PARSE_NODE_BYTES:
|
||||
printf("bytes(%s)\n", qstr_str(arg));
|
||||
break;
|
||||
default:
|
||||
assert(MP_PARSE_NODE_LEAF_KIND(pn) == MP_PARSE_NODE_TOKEN);
|
||||
printf("tok(%u)\n", (uint)arg); break;
|
||||
printf("tok(%u)\n", (uint)arg);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
// node must be a mp_parse_node_struct_t
|
||||
mp_parse_node_struct_t *pns = (mp_parse_node_struct_t*)pn;
|
||||
mp_parse_node_struct_t *pns = (mp_parse_node_struct_t *)pn;
|
||||
if (MP_PARSE_NODE_STRUCT_KIND(pns) == RULE_const_object) {
|
||||
#if MICROPY_OBJ_REPR == MICROPY_OBJ_REPR_D
|
||||
printf("literal const(%016llx)\n", (uint64_t)pns->nodes[0] | ((uint64_t)pns->nodes[1] << 32));
|
||||
@@ -521,7 +528,7 @@ STATIC void push_result_token(parser_t *parser, uint8_t rule_id) {
|
||||
// not interned, make a node holding a pointer to the string/bytes object
|
||||
mp_obj_t o = mp_obj_new_str_copy(
|
||||
lex->tok_kind == MP_TOKEN_STRING ? &mp_type_str : &mp_type_bytes,
|
||||
(const byte*)lex->vstr.buf, lex->vstr.len);
|
||||
(const byte *)lex->vstr.buf, lex->vstr.len);
|
||||
pn = make_node_const_object(parser, lex->tok_line, o);
|
||||
}
|
||||
} else {
|
||||
@@ -634,8 +641,8 @@ STATIC bool fold_constants(parser_t *parser, uint8_t rule_id, size_t num_args) {
|
||||
arg0 = mp_binary_op(op, arg0, arg1);
|
||||
}
|
||||
} else if (rule_id == RULE_shift_expr
|
||||
|| rule_id == RULE_arith_expr
|
||||
|| rule_id == RULE_term) {
|
||||
|| rule_id == RULE_arith_expr
|
||||
|| rule_id == RULE_term) {
|
||||
// folding for binary ops: << >> + - * @ / % //
|
||||
mp_parse_node_t pn = peek_result(parser, num_args - 1);
|
||||
if (!mp_parse_node_get_int_maybe(pn, &arg0)) {
|
||||
@@ -688,14 +695,14 @@ STATIC bool fold_constants(parser_t *parser, uint8_t rule_id, size_t num_args) {
|
||||
mp_parse_node_t pn1 = peek_result(parser, 0);
|
||||
if (!MP_PARSE_NODE_IS_NULL(pn1)
|
||||
&& !(MP_PARSE_NODE_IS_STRUCT_KIND(pn1, RULE_expr_stmt_augassign)
|
||||
|| MP_PARSE_NODE_IS_STRUCT_KIND(pn1, RULE_expr_stmt_assign_list))) {
|
||||
|| MP_PARSE_NODE_IS_STRUCT_KIND(pn1, RULE_expr_stmt_assign_list))) {
|
||||
// this node is of the form <x> = <y>
|
||||
mp_parse_node_t pn0 = peek_result(parser, 1);
|
||||
if (MP_PARSE_NODE_IS_ID(pn0)
|
||||
&& MP_PARSE_NODE_IS_STRUCT_KIND(pn1, RULE_atom_expr_normal)
|
||||
&& MP_PARSE_NODE_IS_ID(((mp_parse_node_struct_t*)pn1)->nodes[0])
|
||||
&& MP_PARSE_NODE_LEAF_ARG(((mp_parse_node_struct_t*)pn1)->nodes[0]) == MP_QSTR_const
|
||||
&& MP_PARSE_NODE_IS_STRUCT_KIND(((mp_parse_node_struct_t*)pn1)->nodes[1], RULE_trailer_paren)
|
||||
&& MP_PARSE_NODE_IS_ID(((mp_parse_node_struct_t *)pn1)->nodes[0])
|
||||
&& MP_PARSE_NODE_LEAF_ARG(((mp_parse_node_struct_t *)pn1)->nodes[0]) == MP_QSTR_const
|
||||
&& MP_PARSE_NODE_IS_STRUCT_KIND(((mp_parse_node_struct_t *)pn1)->nodes[1], RULE_trailer_paren)
|
||||
) {
|
||||
// code to assign dynamic constants: id = const(value)
|
||||
|
||||
@@ -703,13 +710,13 @@ STATIC bool fold_constants(parser_t *parser, uint8_t rule_id, size_t num_args) {
|
||||
qstr id = MP_PARSE_NODE_LEAF_ARG(pn0);
|
||||
|
||||
// get the value
|
||||
mp_parse_node_t pn_value = ((mp_parse_node_struct_t*)((mp_parse_node_struct_t*)pn1)->nodes[1])->nodes[0];
|
||||
mp_parse_node_t pn_value = ((mp_parse_node_struct_t *)((mp_parse_node_struct_t *)pn1)->nodes[1])->nodes[0];
|
||||
mp_obj_t value;
|
||||
if (!mp_parse_node_get_int_maybe(pn_value, &value)) {
|
||||
mp_obj_t exc = mp_obj_new_exception_msg(&mp_type_SyntaxError,
|
||||
"constant must be an integer");
|
||||
mp_obj_exception_add_traceback(exc, parser->lexer->source_name,
|
||||
((mp_parse_node_struct_t*)pn1)->source_line, MP_QSTRnull);
|
||||
((mp_parse_node_struct_t *)pn1)->source_line, MP_QSTRnull);
|
||||
nlr_raise(exc);
|
||||
}
|
||||
|
||||
@@ -743,16 +750,16 @@ STATIC bool fold_constants(parser_t *parser, uint8_t rule_id, size_t num_args) {
|
||||
mp_parse_node_t pn0 = peek_result(parser, 1);
|
||||
mp_parse_node_t pn1 = peek_result(parser, 0);
|
||||
if (!(MP_PARSE_NODE_IS_ID(pn0)
|
||||
&& MP_PARSE_NODE_IS_STRUCT_KIND(pn1, RULE_trailer_period))) {
|
||||
&& MP_PARSE_NODE_IS_STRUCT_KIND(pn1, RULE_trailer_period))) {
|
||||
return false;
|
||||
}
|
||||
// id1.id2
|
||||
// look it up in constant table, see if it can be replaced with an integer
|
||||
mp_parse_node_struct_t *pns1 = (mp_parse_node_struct_t*)pn1;
|
||||
mp_parse_node_struct_t *pns1 = (mp_parse_node_struct_t *)pn1;
|
||||
assert(MP_PARSE_NODE_IS_ID(pns1->nodes[0]));
|
||||
qstr q_base = MP_PARSE_NODE_LEAF_ARG(pn0);
|
||||
qstr q_attr = MP_PARSE_NODE_LEAF_ARG(pns1->nodes[0]);
|
||||
mp_map_elem_t *elem = mp_map_lookup((mp_map_t*)&mp_constants_map, MP_OBJ_NEW_QSTR(q_base), MP_MAP_LOOKUP);
|
||||
mp_map_elem_t *elem = mp_map_lookup((mp_map_t *)&mp_constants_map, MP_OBJ_NEW_QSTR(q_base), MP_MAP_LOOKUP);
|
||||
if (elem == NULL) {
|
||||
return false;
|
||||
}
|
||||
@@ -845,9 +852,14 @@ mp_parse_tree_t mp_parse(mp_lexer_t *lex, mp_parse_input_kind_t input_kind) {
|
||||
// work out the top-level rule to use, and push it on the stack
|
||||
size_t top_level_rule;
|
||||
switch (input_kind) {
|
||||
case MP_PARSE_SINGLE_INPUT: top_level_rule = RULE_single_input; break;
|
||||
case MP_PARSE_EVAL_INPUT: top_level_rule = RULE_eval_input; break;
|
||||
default: top_level_rule = RULE_file_input;
|
||||
case MP_PARSE_SINGLE_INPUT:
|
||||
top_level_rule = RULE_single_input;
|
||||
break;
|
||||
case MP_PARSE_EVAL_INPUT:
|
||||
top_level_rule = RULE_eval_input;
|
||||
break;
|
||||
default:
|
||||
top_level_rule = RULE_file_input;
|
||||
}
|
||||
push_rule(&parser, lex->tok_line, top_level_rule, 0);
|
||||
|
||||
@@ -856,7 +868,7 @@ mp_parse_tree_t mp_parse(mp_lexer_t *lex, mp_parse_input_kind_t input_kind) {
|
||||
bool backtrack = false;
|
||||
|
||||
for (;;) {
|
||||
next_rule:
|
||||
next_rule:
|
||||
if (parser.rule_stack_top == 0) {
|
||||
break;
|
||||
}
|
||||
@@ -1028,7 +1040,7 @@ mp_parse_tree_t mp_parse(mp_lexer_t *lex, mp_parse_input_kind_t input_kind) {
|
||||
// n=3 is: item (sep item)* [sep]
|
||||
bool had_trailing_sep;
|
||||
if (backtrack) {
|
||||
list_backtrack:
|
||||
list_backtrack:
|
||||
had_trailing_sep = false;
|
||||
if (n == 2) {
|
||||
if (i == 1) {
|
||||
|
||||
Reference in New Issue
Block a user