Translate position to a GCC location

This commit is contained in:
2024-12-27 23:38:25 +01:00
parent 51f5603c4a
commit d46608b358
9 changed files with 182 additions and 61 deletions

View File

@@ -0,0 +1,35 @@
#pragma once
#include "elna/source/ast.h"
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tree.h"
#include "tree-iterator.h"
#include <unordered_map>
#include <string>
namespace elna
{
namespace gcc
{
class generic_visitor final : public source::empty_visitor
{
tree current_statements{ NULL_TREE };
tree current_expression{ NULL_TREE };
std::unordered_map<std::string, tree> symbol_map;
public:
void visit(source::program *program) override;
void visit(source::call_statement *statement) override;
void visit(source::integer_literal *literal) override;
void visit(source::boolean_literal *literal) override;
void visit(source::binary_expression *expression) override;
void visit(source::declaration *declaration) override;
void visit(source::variable_expression *expression) override;
void visit(source::assign_statement *statement) override;
};
}
}