FunctionCallExpression

This commit is contained in:
2013-06-01 03:09:32 +02:00
parent 71abd2b56f
commit ec77b23a11
4 changed files with 52 additions and 0 deletions

View File

@@ -77,6 +77,7 @@ SET(SCULLY_SOURCE
src/AST/Type.cpp src/AST/Type.cpp
src/AST/VariableDefinition.cpp src/AST/VariableDefinition.cpp
src/AST/ValueList.cpp src/AST/ValueList.cpp
src/AST/FunctionCallExpression.cpp
${CMAKE_CURRENT_BINARY_DIR}/grammar.cpp ${CMAKE_CURRENT_BINARY_DIR}/grammar.cpp
) )

View File

@@ -15,6 +15,7 @@
#include "StatementList.h" #include "StatementList.h"
#include "ValueList.h" #include "ValueList.h"
#include "VariableDefinition.h" #include "VariableDefinition.h"
#include "FunctionCallExpression.h"
class ASTVisitor { class ASTVisitor {
@@ -36,6 +37,8 @@ public:
virtual void visit(StatementList* e) = 0; virtual void visit(StatementList* e) = 0;
virtual void visit(ValueList* e) = 0; virtual void visit(ValueList* e) = 0;
virtual void visit(VariableDefinition* e) = 0; virtual void visit(VariableDefinition* e) = 0;
virtual void visit(FunctionCallExpression* e) = 0;
}; };
#endif // ASTVISITOR_H #endif // ASTVISITOR_H

View File

@@ -0,0 +1,23 @@
#ifndef FUNCTIONCALLEXPRESSION_H
#define FUNCTIONCALLEXPRESSION_H
#include <string>
#include "AST/ValueList.h"
class FunctionCallExpression : public Expression
{
public:
FunctionCallExpression(std::string id, ValueList* values);
virtual ~FunctionCallExpression();
virtual void accept(ASTVisitor* visitor);
std::string getId();
ValueList* getValues();
private:
std::string id_;
ValueList* values_;
};
#endif // FUNCTIONCALLEXPRESSION_H

View File

@@ -0,0 +1,25 @@
#include "AST/FunctionCallExpression.h"
#include "AST/ASTVisitor.h"
FunctionCallExpression::FunctionCallExpression(std::string id, ValueList* values):
id_(id), values_(values) {
//
}
FunctionCallExpression::~FunctionCallExpression() {
//
}
void FunctionCallExpression::accept(ASTVisitor* visitor) {
visitor->visit(this);
}
std::string FunctionCallExpression::getId() {
return id_;
}
ValueList*FunctionCallExpression::getValues() {
return values_;
}