MXVM 1.8.1
Virtual Machine, Compiler, and Pascal Frontend
Loading...
Searching...
No Matches
expr.hpp File Reference

Expression parser and evaluator for constant integer expressions. More...

#include "scanner/exception.hpp"
#include "scanner/scanner.hpp"
#include <string>
#include <unordered_map>
Include dependency graph for expr.hpp:

Go to the source code of this file.

Classes

struct  expr_parser::ExprToken
 A single expression token holding its type and optional numeric value. More...
class  expr_parser::ExprLexer
 Lexer for constant integer expressions. More...
class  expr_parser::ExprParser
 Recursive-descent parser and evaluator for constant integer expressions. More...

Namespaces

namespace  expr_parser

Enumerations

enum class  expr_parser::ExprTokenType {
  expr_parser::END , expr_parser::NUMBER , expr_parser::PLUS , expr_parser::MINUS ,
  expr_parser::MUL , expr_parser::DIV , expr_parser::MOD , expr_parser::LPAREN ,
  expr_parser::RPAREN , expr_parser::PLUSEQ , expr_parser::MINUSEQ , expr_parser::XOR ,
  expr_parser::OR , expr_parser::AND , expr_parser::LOGICAL_AND , expr_parser::LOGICAL_OR ,
  expr_parser::NOT , expr_parser::EQ , expr_parser::NEQ , expr_parser::GT ,
  expr_parser::GTE , expr_parser::LT , expr_parser::LTE , expr_parser::VARIABLE
}
 Token types for the constant expression parser. More...

Variables

std::unordered_map< std::string, uint64_t > expr_parser::vars
 Global variable map for the expression evaluator.

Detailed Description

Expression parser and evaluator for constant integer expressions.

Author
Jared Bruni

Definition in file expr.hpp.