Latest stuff, rewriting lexer

This commit is contained in:
Michael Fabian 'Xaymar' Dirks
2024-06-25 18:59:15 +02:00
parent 7f669f55e2
commit fa81c2a7fa
23 changed files with 1263 additions and 310 deletions
+10 -7
View File
@@ -1,10 +1,13 @@
/// AUTOGENERATED COPYRIGHT HEADER START
// Copyright (C) 2017-2024 Michael Fabian 'Xaymar' Dirks <info@xaymar.com>
// AUTOGENERATED COPYRIGHT HEADER END
#pragma once
#include "ast.hpp"
#include "value.hpp"
namespace blitz {
namespace AST {
enum class Operator : int8_t {
namespace ast {
enum class expression_operator : int8_t {
Add, /*+*/
Subtract, /*-*/
Multiply, /***/
@@ -14,14 +17,14 @@ namespace blitz {
Equal, /*=*/
};
class ArithmeticExpression : public Expression {
class arithmetic_expression : public expression {
public:
ArithmeticExpression(Operator op, std::unique_ptr<Expression> left, std::unique_ptr<Expression> right);
virtual ~ArithmeticExpression();
arithmetic_expression(expression_operator op, std::unique_ptr<expression> left, std::unique_ptr<expression> right);
virtual ~arithmetic_expression();
private:
Operator m_operator;
std::unique_ptr<Expression> m_left, m_right;
expression_operator m_operator;
std::unique_ptr<expression> m_left, m_right;
};
}
}