Remove the IR for know for simplicity

This commit is contained in:
2024-03-01 10:13:55 +01:00
parent 31c178ad9c
commit 55f443ed40
36 changed files with 7547 additions and 1079 deletions

View File

@@ -1,53 +1,46 @@
#include "elna/ir.hpp"
namespace elna::ir
#include <cassert>
namespace elna
{
/**
* AST node.
*/
void Node::accept(IRVisitor *)
void TransformVisitor::visit(Node *node)
{
assert(false);
}
void Definition::accept(IRVisitor *visitor)
void TransformVisitor::visit(Definition *definition)
{
visitor->visit(this);
assert(false);
}
void Operand::accept(IRVisitor *visitor)
void TransformVisitor::visit(BangStatement *statement)
{
visitor->visit(this);
assert(false);
}
void Number::accept(IRVisitor *visitor)
void TransformVisitor::visit(Block *block)
{
visitor->visit(this);
assert(false);
}
void Variable::accept(IRVisitor *visitor)
void TransformVisitor::visit(Expression *expression)
{
visitor->visit(this);
assert(false);
}
BinaryExpression::BinaryExpression(Operand *lhs, Operand *rhs, BinaryOperator _operator)
void TransformVisitor::visit(Number *number)
{
this->lhs = lhs;
this->rhs = rhs;
this->_operator = _operator;
assert(false);
}
void BinaryExpression::accept(IRVisitor *visitor)
void TransformVisitor::visit(Variable *variable)
{
visitor->visit(this);
assert(false);
}
BangExpression::BangExpression(Operand *operand)
void TransformVisitor::visit(BinaryExpression *binaryExpression)
{
this->operand = operand;
}
void BangExpression::accept(IRVisitor *visitor)
{
visitor->visit(this);
assert(false);
}
}