diff --git a/src/include/config.h b/src/include/config.h index c43e74e..4e2ea0d 100644 --- a/src/include/config.h +++ b/src/include/config.h @@ -1,5 +1,7 @@ #ifndef DEF_CONFIG_H #define DEF_CONFIG_H +// Parse identifiers wrapped in parentheses +//#define PAR_IDENTIFIER #endif \ No newline at end of file diff --git a/src/parser.cpp b/src/parser.cpp index ea14877..fab176a 100644 --- a/src/parser.cpp +++ b/src/parser.cpp @@ -6,6 +6,7 @@ using namespace std; #include "include/tokenize.h" #include "include/colors.h" #include "include/parser.h" +#include "include/config.h" #include "include/utils.h" CodePosition null_pos = { @@ -997,20 +998,24 @@ ParseReturn parse_par_identifier(vector tokens) { }; } - if (tokens.back().type != TokenType::LParenthese) + #ifndef PAR_IDENTIFIER throw ParseException(); + #else + if (tokens.back().type != TokenType::LParenthese) + throw ParseException(); - tokens.pop_back(); - ParseReturn ret = parse_par_identifier(tokens); - tokens = ret.tokens; + tokens.pop_back(); + ParseReturn ret = parse_par_identifier(tokens); + tokens = ret.tokens; - if (tokens.back().type != TokenType::RParenthese) - throw ParseException(); + if (tokens.back().type != TokenType::RParenthese) + throw ParseException(); - tokens.pop_back(); + tokens.pop_back(); - return { //* ParIdentifier -> (ParIdentifier) - .node=ret.node, - .tokens=tokens - }; + return { //* ParIdentifier -> (ParIdentifier) + .node=ret.node, + .tokens=tokens + }; + #endif }