feat(parser): 完善类型解析和表达式解析功能
完善了scc_parse_type函数以正确解析基本类型,修复了条件表达式解析逻辑, 实现了for循环中声明和表达式的混合处理,并添加了对赋值语句和复杂表达式的支持。 fix(parser): 修复内存泄漏和解析器状态管理问题 修复了当tok参数为null时的内存泄漏问题,在标签语句解析中正确处理解析器状态回退, 并改进了表达式和声明的错误处理机制。 test(parser): 更新单元测试以验证修复的功能 更新了返回语句的测试值,添加了包含变量声明、赋值语句和复杂表达式的综合测试用例, 验证了赋值运算符的右结合性和复杂表达式的解析正确性。
This commit is contained in:
@@ -525,9 +525,6 @@ static scc_ast_expr_t *parse_assignment_expression(scc_parser_t *parser) {
|
||||
// unary-expression)
|
||||
scc_ast_expr_t *left = null;
|
||||
left = parse_conditional_expression(parser);
|
||||
if (left)
|
||||
return left;
|
||||
left = parse_unary_expression(parser);
|
||||
if (!left)
|
||||
return null;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user