feat: 优化表达式解析器,添加终止符重置功能及代码格式调整

This commit is contained in:
2026-02-23 15:03:53 +08:00
parent abdb1d2fb0
commit 852dd27836
3 changed files with 56 additions and 21 deletions

View File

@@ -188,7 +188,9 @@ namespace Fig
Result<IndexExpr *, Error> parseIndexExpr(Expr *); // 由 parseExpression调用, 当前token为 `[`
Result<CallExpr *, Error> parseCallExpr(Expr *); // 由 parseExpression调用, 当前token为 `(`
std::unordered_set<TokenType> getTerminators(); // 返回固定的终止符
const std::unordered_set<TokenType> &getBaseTerminators();
std::unordered_set<TokenType> &getTerminators(); // 返回固定的终止符
void resetTermintors();
bool shouldTerminate(); // 判断是否终结
Result<Expr *, Error> parseExpression(BindingPower = 0, TokenType stop = TokenType::Semicolon, TokenType stop2 = TokenType::Semicolon);