74 lines
2.7 KiB
C++
74 lines
2.7 KiB
C++
#ifndef MALACHSCRIPT_PARSEDSTATEMENTKIND_HPP
|
|
#define MALACHSCRIPT_PARSEDSTATEMENTKIND_HPP
|
|
|
|
namespace MalachScript::Parser {
|
|
enum class ParsedStatementKind : uint8_t {
|
|
Unknown,
|
|
Script,
|
|
Class,
|
|
TypeDef,
|
|
Namespace,
|
|
Type,
|
|
ParamList,
|
|
Func,
|
|
VirtProp,
|
|
StatBlock,
|
|
Var,
|
|
If,
|
|
Assign,
|
|
BinaryExpression,
|
|
Void,
|
|
Literal,
|
|
Return,
|
|
VarAccess,
|
|
Increment,
|
|
Decrement,
|
|
Continue,
|
|
Break,
|
|
For,
|
|
While,
|
|
DoWhile,
|
|
Try,
|
|
Switch,
|
|
Case,
|
|
};
|
|
|
|
class ParsedStatementKindHelper {
|
|
public:
|
|
static std::string_view ToString(ParsedStatementKind kind) {
|
|
switch (kind) {
|
|
case ParsedStatementKind::Unknown: return "Unknown";
|
|
case ParsedStatementKind::Script: return "Script";
|
|
case ParsedStatementKind::Class: return "Class";
|
|
case ParsedStatementKind::TypeDef: return "TypeDef";
|
|
case ParsedStatementKind::Namespace: return "Namespace";
|
|
case ParsedStatementKind::Type: return "Type";
|
|
case ParsedStatementKind::ParamList: return "ParamList";
|
|
case ParsedStatementKind::Func: return "Func";
|
|
case ParsedStatementKind::VirtProp: return "VirtProp";
|
|
case ParsedStatementKind::StatBlock: return "StatBlock";
|
|
case ParsedStatementKind::Var: return "Var";
|
|
case ParsedStatementKind::If: return "If";
|
|
case ParsedStatementKind::Assign: return "Assign";
|
|
case ParsedStatementKind::BinaryExpression: return "BinaryExpression";
|
|
case ParsedStatementKind::Void: return "Void";
|
|
case ParsedStatementKind::Literal: return "Literal";
|
|
case ParsedStatementKind::Return: return "Return";
|
|
case ParsedStatementKind::VarAccess: return "VarAccess";
|
|
case ParsedStatementKind::Increment: return "Increment";
|
|
case ParsedStatementKind::Decrement: return "Decrement";
|
|
case ParsedStatementKind::Continue: return "Continue";
|
|
case ParsedStatementKind::Break: return "Break";
|
|
case ParsedStatementKind::For: return "For";
|
|
case ParsedStatementKind::While: return "While";
|
|
case ParsedStatementKind::DoWhile: return "DoWhile";
|
|
case ParsedStatementKind::Try: return "Try";
|
|
case ParsedStatementKind::Switch: return "Switch";
|
|
case ParsedStatementKind::Case: return "Case";
|
|
}
|
|
}
|
|
};
|
|
}
|
|
|
|
#endif // MALACHSCRIPT_PARSEDSTATEMENTKIND_HPP
|