ExpressionParser: Add support for /* */ style comments.

This commit is contained in:
Jordan Woyak
2019-10-12 11:41:02 -05:00
parent b4e2b3cae3
commit 72302d9c42
3 changed files with 75 additions and 19 deletions

View File

@ -15,7 +15,7 @@ namespace ciface::ExpressionParser
{
enum TokenType
{
TOK_DISCARD,
TOK_WHITESPACE,
TOK_INVALID,
TOK_EOF,
TOK_LPAREN,
@ -25,6 +25,7 @@ enum TokenType
TOK_LITERAL,
TOK_VARIABLE,
TOK_BAREWORD,
TOK_COMMENT,
// Binary Ops:
TOK_BINARY_OPS_BEGIN,
TOK_AND = TOK_BINARY_OPS_BEGIN,
@ -95,6 +96,7 @@ private:
Token GetBareword(char c);
Token GetRealLiteral(char c);
Token PeekToken();
Token NextToken();
};
@ -186,5 +188,6 @@ private:
ParseResult ParseExpression(const std::string& expr);
ParseResult ParseTokens(const std::vector<Token>& tokens);
void RemoveInertTokens(std::vector<Token>* tokens);
} // namespace ciface::ExpressionParser