diff --git a/src/parser/Parser.cpp b/src/parser/Parser.cpp index 5d6b0b3..0c20a07 100644 --- a/src/parser/Parser.cpp +++ b/src/parser/Parser.cpp @@ -31,6 +31,7 @@ #include #include #include +#include #include #include #include @@ -368,6 +369,16 @@ std::unique_ptr Parser::exprRandom() { ); } +std::unique_ptr Parser::exprParallel() { + Token address = this->consume("parallel"); + std::unique_ptr expression = this->expression(); + + return std::make_unique( + std::make_unique(address), + std::move(expression) + ); +} + std::unique_ptr Parser::exprRender() { Token address = this->consume("render"); bool newLine = false; @@ -539,6 +550,8 @@ std::unique_ptr Parser::exprPrimary() { expression = this->exprFunctionDecl(); else if(this->isNext("type")) expression = this->exprType(); + else if(this->isNext("parallel")) + expression = this->exprParallel(); else if(this->isNext("[")) expression = this->exprArray(); else if(this->peek().getType() == TokenType::IDENTIFIER) {