aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/elna/boot/ast.h16
-rw-r--r--include/elna/boot/semantic.h1
-rw-r--r--include/elna/boot/symbol.h9
3 files changed, 0 insertions, 26 deletions
diff --git a/include/elna/boot/ast.h b/include/elna/boot/ast.h
index 17a0dc1..d9f3af8 100644
--- a/include/elna/boot/ast.h
+++ b/include/elna/boot/ast.h
@@ -74,7 +74,6 @@ namespace elna::boot
class array_type_expression;
class pointer_type_expression;
class record_type_expression;
- class union_type_expression;
class procedure_type_expression;
class enumeration_type_expression;
class named_expression;
@@ -114,7 +113,6 @@ namespace elna::boot
virtual void visit(array_type_expression *) = 0;
virtual void visit(pointer_type_expression *) = 0;
virtual void visit(record_type_expression *) = 0;
- virtual void visit(union_type_expression *) = 0;
virtual void visit(procedure_type_expression *) = 0;
virtual void visit(enumeration_type_expression *) = 0;
virtual void visit(named_expression *) = 0;
@@ -140,7 +138,6 @@ namespace elna::boot
[[noreturn]] virtual void visit(pointer_type_expression *) override;
[[noreturn]] virtual void visit(type_declaration *) override;
[[noreturn]] virtual void visit(record_type_expression *) override;
- [[noreturn]] virtual void visit(union_type_expression *) override;
[[noreturn]] virtual void visit(procedure_type_expression *) override;
[[noreturn]] virtual void visit(enumeration_type_expression *) override;
@@ -184,7 +181,6 @@ namespace elna::boot
virtual void visit(pointer_type_expression *) override;
virtual void visit(type_declaration *) override;
virtual void visit(record_type_expression *) override;
- virtual void visit(union_type_expression *) override;
virtual void visit(procedure_type_expression *) override;
virtual void visit(enumeration_type_expression *) override;
@@ -281,7 +277,6 @@ namespace elna::boot
virtual array_type_expression *is_array();
virtual pointer_type_expression *is_pointer();
virtual record_type_expression *is_record();
- virtual union_type_expression *is_union();
virtual procedure_type_expression *is_procedure();
virtual enumeration_type_expression *is_enumeration();
};
@@ -334,17 +329,6 @@ namespace elna::boot
record_type_expression *is_record() override;
};
- class union_type_expression : public type_expression
- {
- public:
- std::vector<field_declaration> fields;
-
- union_type_expression(const struct position position, std::vector<field_declaration>&& fields);
-
- void accept(parser_visitor *visitor) override;
- union_type_expression *is_union() override;
- };
-
/**
* Enumeration type.
*/
diff --git a/include/elna/boot/semantic.h b/include/elna/boot/semantic.h
index e351258..c686cf8 100644
--- a/include/elna/boot/semantic.h
+++ b/include/elna/boot/semantic.h
@@ -197,7 +197,6 @@ namespace elna::boot
void visit(pointer_type_expression *expression) override;
void visit(type_declaration *declaration) override;
void visit(record_type_expression *expression) override;
- void visit(union_type_expression *expression) override;
void visit(procedure_type_expression *expression) override;
void visit(enumeration_type_expression *expression) override;
diff --git a/include/elna/boot/symbol.h b/include/elna/boot/symbol.h
index 85532db..d29587d 100644
--- a/include/elna/boot/symbol.h
+++ b/include/elna/boot/symbol.h
@@ -31,7 +31,6 @@ namespace elna::boot
class alias_type;
class primitive_type;
class record_type;
- class union_type;
class pointer_type;
class array_type;
class procedure_type;
@@ -45,7 +44,6 @@ namespace elna::boot
alias,
primitive,
record,
- _union,
pointer,
array,
procedure,
@@ -57,7 +55,6 @@ namespace elna::boot
std::weak_ptr<alias_type> alias;
std::shared_ptr<primitive_type> primitive;
std::shared_ptr<record_type> record;
- std::shared_ptr<union_type> _union;
std::shared_ptr<pointer_type> pointer;
std::shared_ptr<array_type> array;
std::shared_ptr<procedure_type> procedure;
@@ -72,7 +69,6 @@ namespace elna::boot
explicit type(std::shared_ptr<alias_type> alias);
explicit type(std::shared_ptr<primitive_type> primitive);
explicit type(std::shared_ptr<record_type> record);
- explicit type(std::shared_ptr<union_type> _union);
explicit type(std::shared_ptr<pointer_type> pointer);
explicit type(std::shared_ptr<array_type> array);
explicit type(std::shared_ptr<procedure_type> procedure);
@@ -135,11 +131,6 @@ namespace elna::boot
explicit record_type(type base = type());
};
- struct union_type
- {
- std::vector<type_field> fields;
- };
-
struct procedure_type
{
using return_t = return_declaration<type>;