Changed naming
This commit is contained in:
@@ -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));
|
||||||
|
|||||||
@@ -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));
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ enum class ExpressionKind {
|
|||||||
UNARY,
|
UNARY,
|
||||||
BINARY,
|
BINARY,
|
||||||
IF_ELSE,
|
IF_ELSE,
|
||||||
VAR,
|
VARIABLE,
|
||||||
CALL,
|
CALL,
|
||||||
BLOCK
|
BLOCK
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
Reference in New Issue
Block a user