Beginnings of a working compiler.

This commit is contained in:
2025-04-27 22:53:48 -07:00
parent ba08245e02
commit 0fc10f4c76
21 changed files with 1239 additions and 71 deletions

View File

@@ -0,0 +1,40 @@
#pragma once
#include <cstdint>
#include <ehs/Str.h>
enum class Signedness : ehs::UInt_8
{
UNSIGNED,
SIGNED
};
class Primitive
{
private:
ehs::UInt_64 id;
ehs::Str_8 name;
ehs::UInt_8 byteDepth;
Signedness signedness;
public:
Primitive();
Primitive(ehs::Str_8 name, const ehs::UInt_8 &byteDepth, const Signedness &signedness);
Primitive(Primitive &&other) noexcept;
Primitive(const Primitive &other);
Primitive &operator=(Primitive &&other) noexcept;
Primitive &operator=(const Primitive &other);
ehs::UInt_64 GetId() const;
ehs::Str_8 GetName() const;
ehs::UInt_8 GetByteDepth() const;
Signedness GetSignedness() const;
};