Implement the Word type

This commit is contained in:
2025-01-24 11:41:14 +01:00
parent 5548b66b15
commit 005e9dcc52
8 changed files with 109 additions and 32 deletions

View File

@ -41,6 +41,7 @@ namespace gcc
void visit(source::procedure_definition *definition) override;
void visit(source::call_expression *statement) override;
void visit(source::number_literal<std::int32_t> *literal) override;
void visit(source::number_literal<std::uint32_t> *literal) override;
void visit(source::number_literal<double> *literal) override;
void visit(source::number_literal<bool> *boolean) override;
void visit(source::number_literal<unsigned char> *character) override;

View File

@ -94,6 +94,7 @@ namespace source
virtual void visit(field_access_expression *is_field_access) = 0;
virtual void visit(dereference_expression *is_dereference) = 0;
virtual void visit(number_literal<std::int32_t> *) = 0;
virtual void visit(number_literal<std::uint32_t> *) = 0;
virtual void visit(number_literal<double> *) = 0;
virtual void visit(number_literal<bool> *) = 0;
virtual void visit(number_literal<unsigned char> *) = 0;
@ -130,6 +131,7 @@ namespace source
virtual void visit(field_access_expression *expression) override;
virtual void visit(dereference_expression *expression) override;
virtual void visit(number_literal<std::int32_t> *) override;
virtual void visit(number_literal<std::uint32_t> *) override;
virtual void visit(number_literal<double> *) override;
virtual void visit(number_literal<bool> *) override;
virtual void visit(number_literal<unsigned char> *) override;

View File

@ -4,6 +4,7 @@
#pragma once
#include <list>
#include <optional>
#include "elna/source/ast.h"
#include "location.hh"
@ -37,5 +38,7 @@ namespace source
void error(const yy::location& loc, const std::string& message);
const std::list<std::unique_ptr<struct error>>& errors() const noexcept;
};
std::optional<char> escape_char(char escape);
}
}