From fefde721c025c949a9dc95bf1db5dfb1e1bc970a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Grodzi=C5=84ski?= Date: Mon, 23 Jun 2025 11:33:57 +0900 Subject: [PATCH] Changed statement kinds --- src/Compiler/ModuleBuilder.cpp | 4 ++-- src/Parser/Parser.cpp | 2 +- src/Parser/Parser.h | 2 ++ src/Parser/Statement/Statement.h | 13 +++---------- src/Parser/Statement/StatementBlock.h | 2 ++ src/Parser/Statement/StatementFunction.cpp | 2 +- src/Parser/Statement/StatementVariable.cpp | 2 +- 7 files changed, 12 insertions(+), 15 deletions(-) diff --git a/src/Compiler/ModuleBuilder.cpp b/src/Compiler/ModuleBuilder.cpp index c64e96d..264193d 100644 --- a/src/Compiler/ModuleBuilder.cpp +++ b/src/Compiler/ModuleBuilder.cpp @@ -29,10 +29,10 @@ shared_ptr ModuleBuilder::getModule() { void ModuleBuilder::buildStatement(shared_ptr statement) { switch (statement->getKind()) { - case StatementKind::FUNCTION_DECLARATION: + case StatementKind::FUNCTION: buildFunctionDeclaration(dynamic_pointer_cast(statement)); break; - case StatementKind::VAR_DECLARATION: + case StatementKind::VARIABLE: buildVarDeclaration(dynamic_pointer_cast(statement)); break; case StatementKind::BLOCK: diff --git a/src/Parser/Parser.cpp b/src/Parser/Parser.cpp index 6a6f802..323719f 100644 --- a/src/Parser/Parser.cpp +++ b/src/Parser/Parser.cpp @@ -2,9 +2,9 @@ #include "Parser/Statement/StatementExpression.h" #include "Parser/Statement/StatementBlock.h" +#include "Parser/Statement/StatementReturn.h" #include "Parser/Statement/StatementFunction.h" #include "Parser/Statement/StatementVariable.h" -#include "Parser/Statement/StatementReturn.h" #include "Parser/Statement/StatementMetaExternFunction.h" #include "Parser/Statement/StatementInvalid.h" diff --git a/src/Parser/Parser.h b/src/Parser/Parser.h index 4e2d87c..8ac7780 100644 --- a/src/Parser/Parser.h +++ b/src/Parser/Parser.h @@ -7,6 +7,8 @@ #include "Expression.h" #include "Parser/Statement/Statement.h" +class StatementInvalid; + using namespace std; class Parser { diff --git a/src/Parser/Statement/Statement.h b/src/Parser/Statement/Statement.h index bd0df67..83bbf91 100644 --- a/src/Parser/Statement/Statement.h +++ b/src/Parser/Statement/Statement.h @@ -5,21 +5,14 @@ #include "Types.h" -class Expression; -class Statement; -class StatementBlock; -class StatementReturn; -class StatementExpression; -class StatementInvalid; - using namespace std; enum class StatementKind { - FUNCTION_DECLARATION, - VAR_DECLARATION, + EXPRESSION, BLOCK, RETURN, - EXPRESSION, + FUNCTION, + VARIABLE, META_EXTERN_FUNCTION, INVALID }; diff --git a/src/Parser/Statement/StatementBlock.h b/src/Parser/Statement/StatementBlock.h index eb91eca..52d5e18 100644 --- a/src/Parser/Statement/StatementBlock.h +++ b/src/Parser/Statement/StatementBlock.h @@ -1,5 +1,7 @@ #include "Parser/Statement/Statement.h" +class StatementExpression; + class StatementBlock: public Statement { private: vector> statements; diff --git a/src/Parser/Statement/StatementFunction.cpp b/src/Parser/Statement/StatementFunction.cpp index 6f540d8..c6f4811 100644 --- a/src/Parser/Statement/StatementFunction.cpp +++ b/src/Parser/Statement/StatementFunction.cpp @@ -16,7 +16,7 @@ static string valueTypeToString(ValueType valueType) { } StatementFunction::StatementFunction(string name, vector> arguments, ValueType returnValueType, shared_ptr statementBlock): -Statement(StatementKind::FUNCTION_DECLARATION), name(name), arguments(arguments), returnValueType(returnValueType), statementBlock(statementBlock) { } +Statement(StatementKind::FUNCTION), name(name), arguments(arguments), returnValueType(returnValueType), statementBlock(statementBlock) { } string StatementFunction::getName() { return name; diff --git a/src/Parser/Statement/StatementVariable.cpp b/src/Parser/Statement/StatementVariable.cpp index 5f85054..01c3116 100644 --- a/src/Parser/Statement/StatementVariable.cpp +++ b/src/Parser/Statement/StatementVariable.cpp @@ -16,7 +16,7 @@ static string valueTypeToString(ValueType valueType) { } StatementVariable::StatementVariable(string name, ValueType valueType, shared_ptr expression): -Statement(StatementKind::VAR_DECLARATION), name(name), valueType(valueType), expression(expression) { } +Statement(StatementKind::VARIABLE), name(name), valueType(valueType), expression(expression) { } string StatementVariable::getName() { return name;