🛰️航天仿真算法库 SpaceAST 0.3.1
载入中...
搜索中...
未找到
ast::Parser类 参考

#include <Parser.hpp>

Public 成员函数

 Parser (Lexer &lexer)
 
int currentTokenType () const
 
StringView currentLexeme () const
 
void advance ()
 
bool match (int type)
 
bool check (int type) const
 
Expr * parseExpression ()
 
Expr * parseAssignExpr ()
 
Expr * parseConditionalExpr ()
 
Expr * parseLogicalOrExpr ()
 
Expr * parseLogicalAndExpr ()
 
Expr * parseBitwiseOrExpr ()
 
Expr * parseBitwiseXorExpr ()
 
Expr * parseBitwiseAndExpr ()
 
Expr * parseEqualityExpr ()
 
Expr * parseRelationalExpr ()
 
Expr * parseRangeExpr ()
 
Expr * parseShiftExpr ()
 
Expr * parseAdditiveExpr ()
 
Expr * parseMultiplicativeExpr ()
 
Expr * parseExponentiationExpr ()
 
Expr * parseUnaryExpr ()
 
Expr * parseBeginEndBlock ()
 
Expr * parseStatementSequence ()
 
Expr * parseBlockExpr ()
 
Expr * parsePrimaryExpr ()
 
Expr * parseIfStatement ()
 
Expr * parseWhileLoop ()
 
Expr * parseForRangeLoop ()
 
bool canStartExpression () const
 

静态 Public 成员函数

static Expr * parseExpr (StringView script)
 

详细描述

脚本语法解析器

成员函数说明

◆ advance()

void ast::Parser::advance ( )

获取当前行号

前进到下一个令牌

◆ canStartExpression()

bool ast::Parser::canStartExpression ( ) const

检查当前令牌是否可以作为表达式的开始

返回
true 如果当前令牌可以作为表达式的开始

◆ parseAssignExpr()

Expr * ast::Parser::parseAssignExpr ( )

解析语句序列(多个表达式,用分号或换行分隔)

解析赋值表达式

◆ parseBitwiseAndExpr()

Expr * ast::Parser::parseBitwiseAndExpr ( )

解析按位与表达式

解析位与表达式

◆ parseBitwiseOrExpr()

Expr * ast::Parser::parseBitwiseOrExpr ( )

解析按位或表达式

解析位或表达式

◆ parseBitwiseXorExpr()

Expr * ast::Parser::parseBitwiseXorExpr ( )

解析按位异或表达式

解析位异或表达式

◆ parseExponentiationExpr()

Expr * ast::Parser::parseExponentiationExpr ( )

解析幂指数表达式

解析幂指数表达式(右结合)

◆ parseExpr()

Expr * ast::Parser::parseExpr ( StringView script)
static

解析表达式

参数
script脚本文本
返回
Expr* 解析得到的表达式对象,解析失败返回nullptr

◆ parseShiftExpr()

Expr * ast::Parser::parseShiftExpr ( )

从给定的起始表达式解析范围表达式

解析移位表达式

解析位移表达式


该类的文档由以下文件生成: