Skip to content

Commit 8a8737c

Browse files
committed
Fix function declaration
1 parent 164f122 commit 8a8737c

File tree

6 files changed

+19
-16
lines changed

6 files changed

+19
-16
lines changed

README.md

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +0,0 @@
1-
## Dependencies
2-
- GLEW (OpenGL Extension Wrangler Library) - Version 2.1.0
3-
- GLFW (OpenGL Framework) - Version 3.3
4-
- GLM (OpenGL Mathematics) - Version 0.9.9.7
5-
- lodepng - Version 20160124
6-
7-
*to be upgraded*

interpreter/main.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ int main(int argc, char* argv[])
6262
interpreter.registerBuiltInMethod("rotateRight()");
6363
interpreter.registerBuiltInMethod("push()");
6464

65-
std::shared_ptr<AstNode> tree = interpreter.buildTree(input);
65+
std::shared_ptr<AstNode> tree = interpreter.buildTree();
6666

6767
st::SymbolTable& stRef = interpreter.symbolTable();
6868
SymbolTableBuilder stb;

interpreter/src/Interpreter.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -618,7 +618,7 @@ std::vector<std::string> Interpreter::getSequence()
618618
return symbolTable().sequence();
619619
}
620620

621-
std::shared_ptr<AstNode> Interpreter::buildTree(const std::string& text)
621+
std::shared_ptr<AstNode> Interpreter::buildTree()
622622
{
623623
return _parser.parse();
624624
}

interpreter/src/Interpreter.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ class Interpreter
132132

133133
std::vector<std::string> getSequence();
134134

135-
std::shared_ptr<AstNode> buildTree(const std::string& text);
135+
std::shared_ptr<AstNode> buildTree();
136136

137137
std::shared_ptr<AstNode> interpret(std::shared_ptr<AstNode> tree);
138138

interpreter/src/Lexer.cpp

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -160,15 +160,23 @@ char Lexer::peekNextChar()
160160
return this->_text[this->_pos + 1];
161161
}
162162

163-
std::map<std::string, Token> Lexer::getReservedKeywords()
163+
bool Lexer::isBuiltInFunction(const std::string& result)
164164
{
165-
if (_builtInMethods.empty()) {
166-
std::cout << "chuj bombki szczelyl" << std::endl;
167-
}
168165
for (const auto& fun : _builtInMethods) {
169-
std::cout << fun << std::endl;
166+
std::string function = fun;
167+
function.pop_back();
168+
function.pop_back();
169+
170+
if (result == function) {
171+
return true;
172+
}
170173
}
171174

175+
return false;
176+
}
177+
178+
std::map<std::string, Token> Lexer::getReservedKeywords()
179+
{
172180
std::map<std::string, Token> RESERVED_KEYWORDS{
173181
{"START", Token("START", TokenType::START) },
174182
{"END", Token("END", TokenType::END) },
@@ -197,7 +205,7 @@ Token Lexer::id()
197205
advance();
198206
}
199207

200-
if (_currentChar == '(' && peekNextChar() == ')') {
208+
if (_currentChar == '(' && peekNextChar() == ')' && isBuiltInFunction(result)) {
201209
result += "()";
202210
advance();
203211
advance();

interpreter/src/Lexer.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ class Lexer
5151
int16_t getParsingLine() { return _parsingLine; }
5252
int16_t getParsingPosition() { return _parsingPosition; }
5353

54+
bool isBuiltInFunction(const std::string& result);
55+
5456
std::map<std::string, Token> getReservedKeywords();
5557

5658
private:

0 commit comments

Comments
 (0)