3#include "Expression.hpp"
5namespace wmtk::components::image_simulation::expression_parser {
16 explicit Parser(
const std::string& input,
const std::map<std::string, int64_t>& tag_name_to_id)
18 , m_tag_name_to_id(tag_name_to_id)
26 ExpressionPtr
parse();
82 std::map<std::string, int64_t> m_tag_name_to_id;
92ExpressionPtr parse(
const std::string& input,
const std::map<std::string, int64_t>& tag_name_to_id);
ExpressionPtr parseUnary()
Parses a unary expression (e.g., logical NOT).
Definition Parser.cpp:54
ExpressionPtr parse()
Parses the input string into a boolean expression tree.
Definition Parser.cpp:5
bool match(char c)
Checks if the current character matches a given character, advancing the internal pointer if it does.
Definition Parser.cpp:122
ExpressionPtr parsePrimary()
Parses a primary expression (variables, parenthesized expressions).
Definition Parser.cpp:65
std::string parseIdentifier()
Parses an identifier from the input string.
Definition Parser.cpp:103
ExpressionPtr parseAnd()
Parses a logical AND expression.
Definition Parser.cpp:36
void skipWhitespace()
Skips whitespaces in the input string.
Definition Parser.cpp:132
Parser(const std::string &input, const std::map< std::string, int64_t > &tag_name_to_id)
Constructs a new Parser object.
Definition Parser.hpp:16
ExpressionPtr parseOr()
Parses a logical OR expression.
Definition Parser.cpp:18