Changed naming

This commit is contained in:
Rafał Grodziński
2025-08-12 13:11:34 +09:00
parent d159b81c46
commit c0188e16bc
8 changed files with 31 additions and 30 deletions

View File

@@ -229,7 +229,7 @@ void ModuleBuilder::buildAssignment(shared_ptr<StatementAssignment> statement) {
llvm::Value *value = valueForExpression(statement->getValueExpression()); llvm::Value *value = valueForExpression(statement->getValueExpression());
switch (statement->getAssignmentKind()) { switch (statement->getAssignmentKind()) {
case StatementAssignmentKind::VARIABLE: { case StatementAssignmentKind::SIMPLE: {
builder->CreateStore(value, alloca); builder->CreateStore(value, alloca);
break; break;
} }
@@ -364,7 +364,7 @@ llvm::Value *ModuleBuilder::valueForExpression(shared_ptr<Expression> expression
return valueForUnary(dynamic_pointer_cast<ExpressionUnary>(expression)); return valueForUnary(dynamic_pointer_cast<ExpressionUnary>(expression));
case ExpressionKind::IF_ELSE: case ExpressionKind::IF_ELSE:
return valueForIfElse(dynamic_pointer_cast<ExpressionIfElse>(expression)); return valueForIfElse(dynamic_pointer_cast<ExpressionIfElse>(expression));
case ExpressionKind::VAR: case ExpressionKind::VARIABLE:
return valueForVariable(dynamic_pointer_cast<ExpressionVariable>(expression)); return valueForVariable(dynamic_pointer_cast<ExpressionVariable>(expression));
case ExpressionKind::CALL: case ExpressionKind::CALL:
return valueForCall(dynamic_pointer_cast<ExpressionCall>(expression)); return valueForCall(dynamic_pointer_cast<ExpressionCall>(expression));

View File

@@ -334,7 +334,7 @@ string Logger::toString(shared_ptr<StatementBlock> statement) {
string Logger::toString(shared_ptr<StatementAssignment> statement) { string Logger::toString(shared_ptr<StatementAssignment> statement) {
switch (statement->getAssignmentKind()) { switch (statement->getAssignmentKind()) {
case StatementAssignmentKind::VARIABLE: case StatementAssignmentKind::SIMPLE:
return format("{} <- {}", statement->getIdentifier(), toString(statement->getValueExpression())); return format("{} <- {}", statement->getIdentifier(), toString(statement->getValueExpression()));
case StatementAssignmentKind::DATA: case StatementAssignmentKind::DATA:
return format("{}[{}] <- {}", statement->getIdentifier(), toString(statement->getIndexExpression()), toString(statement->getValueExpression())); return format("{}[{}] <- {}", statement->getIdentifier(), toString(statement->getIndexExpression()), toString(statement->getValueExpression()));
@@ -384,7 +384,7 @@ string Logger::toString(shared_ptr<Expression> expression) {
return toString(dynamic_pointer_cast<ExpressionUnary>(expression)); return toString(dynamic_pointer_cast<ExpressionUnary>(expression));
case ExpressionKind::IF_ELSE: case ExpressionKind::IF_ELSE:
return toString(dynamic_pointer_cast<ExpressionIfElse>(expression)); return toString(dynamic_pointer_cast<ExpressionIfElse>(expression));
case ExpressionKind::VAR: case ExpressionKind::VARIABLE:
return toString(dynamic_pointer_cast<ExpressionVariable>(expression)); return toString(dynamic_pointer_cast<ExpressionVariable>(expression));
case ExpressionKind::GROUPING: case ExpressionKind::GROUPING:
return toString(dynamic_pointer_cast<ExpressionGrouping>(expression)); return toString(dynamic_pointer_cast<ExpressionGrouping>(expression));

View File

@@ -15,7 +15,7 @@ enum class ExpressionKind {
UNARY, UNARY,
BINARY, BINARY,
IF_ELSE, IF_ELSE,
VAR, VARIABLE,
CALL, CALL,
BLOCK BLOCK
}; };

View File

@@ -1,13 +1,13 @@
#include "ExpressionVariable.h" #include "ExpressionVariable.h"
shared_ptr<ExpressionVariable> ExpressionVariable::simpleVariable(string identifier) { shared_ptr<ExpressionVariable> ExpressionVariable::simple(string identifier) {
shared_ptr<ExpressionVariable> expression = make_shared<ExpressionVariable>(); shared_ptr<ExpressionVariable> expression = make_shared<ExpressionVariable>();
expression->variableKind = ExpressionVariableKind::SIMPLE; expression->variableKind = ExpressionVariableKind::SIMPLE;
expression->identifier = identifier; expression->identifier = identifier;
return expression; return expression;
} }
shared_ptr<ExpressionVariable> ExpressionVariable::dataVariable(string identifier, shared_ptr<Expression> indexExpression) { shared_ptr<ExpressionVariable> ExpressionVariable::data(string identifier, shared_ptr<Expression> indexExpression) {
shared_ptr<ExpressionVariable> expression = make_shared<ExpressionVariable>(); shared_ptr<ExpressionVariable> expression = make_shared<ExpressionVariable>();
expression->variableKind = ExpressionVariableKind::DATA; expression->variableKind = ExpressionVariableKind::DATA;
expression->identifier = identifier; expression->identifier = identifier;
@@ -15,7 +15,7 @@ shared_ptr<ExpressionVariable> ExpressionVariable::dataVariable(string identifie
return expression; return expression;
} }
shared_ptr<ExpressionVariable> ExpressionVariable::blobVariable(string identifier, string memberName) { shared_ptr<ExpressionVariable> ExpressionVariable::blob(string identifier, string memberName) {
shared_ptr<ExpressionVariable> expression = make_shared<ExpressionVariable>(); shared_ptr<ExpressionVariable> expression = make_shared<ExpressionVariable>();
expression->variableKind = ExpressionVariableKind::BLOB; expression->variableKind = ExpressionVariableKind::BLOB;
expression->identifier = identifier; expression->identifier = identifier;
@@ -24,7 +24,7 @@ shared_ptr<ExpressionVariable> ExpressionVariable::blobVariable(string identifie
} }
ExpressionVariable::ExpressionVariable(): ExpressionVariable::ExpressionVariable():
Expression(ExpressionKind::VAR, nullptr) { } Expression(ExpressionKind::VARIABLE, nullptr) { }
ExpressionVariableKind ExpressionVariable::getVariableKind() { ExpressionVariableKind ExpressionVariable::getVariableKind() {
return variableKind; return variableKind;

View File

@@ -14,9 +14,9 @@ private:
string memberName; string memberName;
public: public:
static shared_ptr<ExpressionVariable> simpleVariable(string identifer); static shared_ptr<ExpressionVariable> simple(string identifer);
static shared_ptr<ExpressionVariable> dataVariable(string identifier, shared_ptr<Expression> indexExpression); static shared_ptr<ExpressionVariable> data(string identifier, shared_ptr<Expression> indexExpression);
static shared_ptr<ExpressionVariable> blobVariable(string identifier, string memberName); static shared_ptr<ExpressionVariable> blob(string identifier, string memberName);
ExpressionVariable(); ExpressionVariable();
ExpressionVariableKind getVariableKind(); ExpressionVariableKind getVariableKind();

View File

@@ -495,7 +495,7 @@ shared_ptr<Statement> Parser::matchStatementAssignment() {
case ParseeResultsGroupKind::SUCCESS: { case ParseeResultsGroupKind::SUCCESS: {
string identifier = resultsGroup.getResults().at(0).getToken()->getLexme(); string identifier = resultsGroup.getResults().at(0).getToken()->getLexme();
shared_ptr<Expression> valueExpression = resultsGroup.getResults().at(1).getExpression(); shared_ptr<Expression> valueExpression = resultsGroup.getResults().at(1).getExpression();
return StatementAssignment::variableAssignment(identifier, valueExpression); return StatementAssignment::simple(identifier, valueExpression);
} }
case ParseeResultsGroupKind::NO_MATCH: case ParseeResultsGroupKind::NO_MATCH:
break; break;
@@ -525,7 +525,7 @@ shared_ptr<Statement> Parser::matchStatementAssignment() {
string identifier = resultsGroup.getResults().at(0).getToken()->getLexme(); string identifier = resultsGroup.getResults().at(0).getToken()->getLexme();
shared_ptr<Expression> indexExpression = resultsGroup.getResults().at(1).getExpression(); shared_ptr<Expression> indexExpression = resultsGroup.getResults().at(1).getExpression();
shared_ptr<Expression> valueExpression = resultsGroup.getResults().at(2).getExpression(); shared_ptr<Expression> valueExpression = resultsGroup.getResults().at(2).getExpression();
return StatementAssignment::dataAssignment(identifier, indexExpression, valueExpression); return StatementAssignment::data(identifier, indexExpression, valueExpression);
} }
case ParseeResultsGroupKind::NO_MATCH: case ParseeResultsGroupKind::NO_MATCH:
break; break;
@@ -554,7 +554,7 @@ shared_ptr<Statement> Parser::matchStatementAssignment() {
string identifier = resultsGroup.getResults().at(0).getToken()->getLexme(); string identifier = resultsGroup.getResults().at(0).getToken()->getLexme();
string memberName = resultsGroup.getResults().at(1).getToken()->getLexme(); string memberName = resultsGroup.getResults().at(1).getToken()->getLexme();
shared_ptr<Expression> valueExpression = resultsGroup.getResults().at(2).getExpression(); shared_ptr<Expression> valueExpression = resultsGroup.getResults().at(2).getExpression();
return StatementAssignment::blobAssignment(identifier, memberName, valueExpression); return StatementAssignment::blob(identifier, memberName, valueExpression);
} }
case ParseeResultsGroupKind::NO_MATCH: case ParseeResultsGroupKind::NO_MATCH:
break; break;
@@ -832,8 +832,8 @@ shared_ptr<Expression> Parser::matchExpressionVariable() {
switch (resultsGroup.getKind()) { switch (resultsGroup.getKind()) {
case ParseeResultsGroupKind::SUCCESS: { case ParseeResultsGroupKind::SUCCESS: {
string identifier = resultsGroup.getResults().at(0).getToken()->getLexme(); string identifier = resultsGroup.getResults().at(0).getToken()->getLexme();
shared_ptr<Expression> indexExpression = indexExpression = resultsGroup.getResults().at(1).getExpression(); shared_ptr<Expression> indexExpression = resultsGroup.getResults().at(1).getExpression();
return ExpressionVariable::dataVariable(identifier, indexExpression); return ExpressionVariable::data(identifier, indexExpression);
} }
case ParseeResultsGroupKind::NO_MATCH: case ParseeResultsGroupKind::NO_MATCH:
break; break;
@@ -858,7 +858,7 @@ shared_ptr<Expression> Parser::matchExpressionVariable() {
case ParseeResultsGroupKind::SUCCESS: { case ParseeResultsGroupKind::SUCCESS: {
string identifier = resultsGroup.getResults().at(0).getToken()->getLexme(); string identifier = resultsGroup.getResults().at(0).getToken()->getLexme();
string memberName = resultsGroup.getResults().at(1).getToken()->getLexme(); string memberName = resultsGroup.getResults().at(1).getToken()->getLexme();
return ExpressionVariable::blobVariable(identifier, memberName); return ExpressionVariable::blob(identifier, memberName);
} }
case ParseeResultsGroupKind::NO_MATCH: case ParseeResultsGroupKind::NO_MATCH:
break; break;
@@ -879,7 +879,7 @@ shared_ptr<Expression> Parser::matchExpressionVariable() {
switch (resultsGroup.getKind()) { switch (resultsGroup.getKind()) {
case ParseeResultsGroupKind::SUCCESS: { case ParseeResultsGroupKind::SUCCESS: {
string identifier = resultsGroup.getResults().at(0).getToken()->getLexme(); string identifier = resultsGroup.getResults().at(0).getToken()->getLexme();
return ExpressionVariable::simpleVariable(identifier); return ExpressionVariable::simple(identifier);
} }
case ParseeResultsGroupKind::NO_MATCH: case ParseeResultsGroupKind::NO_MATCH:
break; break;

View File

@@ -1,17 +1,14 @@
#include "StatementAssignment.h" #include "StatementAssignment.h"
StatementAssignment::StatementAssignment(): shared_ptr<StatementAssignment> StatementAssignment::simple(string identifier, shared_ptr<Expression> valueExpression) {
Statement(StatementKind::ASSIGNMENT) { }
shared_ptr<StatementAssignment> StatementAssignment::variableAssignment(string identifier, shared_ptr<Expression> valueExpression) {
shared_ptr<StatementAssignment> statement = make_shared<StatementAssignment>(); shared_ptr<StatementAssignment> statement = make_shared<StatementAssignment>();
statement->assignmentKind = StatementAssignmentKind::VARIABLE; statement->assignmentKind = StatementAssignmentKind::SIMPLE;
statement->identifier = identifier; statement->identifier = identifier;
statement->valueExpression = valueExpression; statement->valueExpression = valueExpression;
return statement; return statement;
} }
shared_ptr<StatementAssignment> StatementAssignment::dataAssignment(string identifier, shared_ptr<Expression> indexExpression, shared_ptr<Expression> valueExpression) { shared_ptr<StatementAssignment> StatementAssignment::data(string identifier, shared_ptr<Expression> indexExpression, shared_ptr<Expression> valueExpression) {
shared_ptr<StatementAssignment> statement = make_shared<StatementAssignment>(); shared_ptr<StatementAssignment> statement = make_shared<StatementAssignment>();
statement->assignmentKind = StatementAssignmentKind::DATA; statement->assignmentKind = StatementAssignmentKind::DATA;
statement->identifier = identifier; statement->identifier = identifier;
@@ -20,7 +17,7 @@ shared_ptr<StatementAssignment> StatementAssignment::dataAssignment(string ident
return statement; return statement;
} }
shared_ptr<StatementAssignment> StatementAssignment::blobAssignment(string identifier, string memberName, shared_ptr<Expression> valueExpression) { shared_ptr<StatementAssignment> StatementAssignment::blob(string identifier, string memberName, shared_ptr<Expression> valueExpression) {
shared_ptr<StatementAssignment> statement = make_shared<StatementAssignment>(); shared_ptr<StatementAssignment> statement = make_shared<StatementAssignment>();
statement->assignmentKind = StatementAssignmentKind::BLOB; statement->assignmentKind = StatementAssignmentKind::BLOB;
statement->identifier = identifier; statement->identifier = identifier;
@@ -29,6 +26,9 @@ shared_ptr<StatementAssignment> StatementAssignment::blobAssignment(string ident
return statement; return statement;
} }
StatementAssignment::StatementAssignment():
Statement(StatementKind::ASSIGNMENT) { }
StatementAssignmentKind StatementAssignment::getAssignmentKind() { StatementAssignmentKind StatementAssignment::getAssignmentKind() {
return assignmentKind; return assignmentKind;
} }

View File

@@ -3,7 +3,7 @@
class Expression; class Expression;
enum class StatementAssignmentKind { enum class StatementAssignmentKind {
VARIABLE, SIMPLE,
DATA, DATA,
BLOB BLOB
}; };
@@ -17,10 +17,11 @@ private:
shared_ptr<Expression> valueExpression; shared_ptr<Expression> valueExpression;
public: public:
static shared_ptr<StatementAssignment> simple(string identifier, shared_ptr<Expression> valueExpression);
static shared_ptr<StatementAssignment> data(string identifier, shared_ptr<Expression> indexExpression, shared_ptr<Expression> valueExpression);
static shared_ptr<StatementAssignment> blob(string identifier, string memberName, shared_ptr<Expression> valueExpression);
StatementAssignment(); StatementAssignment();
static shared_ptr<StatementAssignment> variableAssignment(string identifier, shared_ptr<Expression> valueExpression);
static shared_ptr<StatementAssignment> dataAssignment(string identifier, shared_ptr<Expression> indexExpression, shared_ptr<Expression> valueExpression);
static shared_ptr<StatementAssignment> blobAssignment(string identifier, string memberName, shared_ptr<Expression> valueExpression);
StatementAssignmentKind getAssignmentKind(); StatementAssignmentKind getAssignmentKind();
string getIdentifier(); string getIdentifier();
shared_ptr<Expression> getIndexExpression(); shared_ptr<Expression> getIndexExpression();