Skip to content

Commit

Permalink
refactor: Cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
furesoft committed Jan 5, 2025
1 parent e55a1a1 commit ccdf7d9
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
namespace Socordia.CodeAnalysis.AST.Statements;

public class ImportStatement : AstNode
public class ImportStatement : Declaration
{
public ImportStatement(AstNode expression)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,14 @@ public void InitParsePoints()
AddDeclarationParsePoint<DelegateDeclarationParser>(TokenType.Delegate);
AddDeclarationParsePoint<UnionDeclarationParser>(TokenType.Union);
AddDeclarationParsePoint<UnitDeclarationParser>(TokenType.Unit);
AddDeclarationParsePoint<DiscriminatedUnionDeclarationParser>(TokenType.Type);

AddDeclarationParsePoint<FunctionDefinitionParser>(TokenType.Function);
AddDeclarationParsePoint<RulesForDeclarationParser>(TokenType.Rules);

/* AddDeclarationParsePoint<ConstructorDeclarationParser>(TokenType.Constructor);
AddDeclarationParsePoint<DestructorDeclaration>(TokenType.Destructor);
AddDeclarationParsePoint<BitFieldDeclaration>(TokenType.Bitfield);
AddDeclarationParsePoint<DiscriminatedUnionDeclaration>(TokenType.Type);
AddDeclarationParsePoint<MacroDeclaration>(TokenType.Macro);
AddDeclarationParsePoint<ImplementationDeclaration>(TokenType.Implement);*/
// AddDeclarationParsePoint<MacroBlockDeclaration>(TokenType.Identifier);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,6 @@ protected override void ListenToNode(BodyCompilation context, ReturnStatement no
var value = Utils.CreateValue(node.Value, context);
context.Builder.Emit(new ReturnInst(value));
}

protected override bool ShouldListenToChildren(BodyCompilation context, AstNode node) => false;
}
6 changes: 6 additions & 0 deletions NewSource/SocordiaC/Compilation/Utils.Values.cs
Original file line number Diff line number Diff line change
Expand Up @@ -106,10 +106,16 @@ private static Value CreateBinary(BinaryOperatorExpression binary, BodyCompilati
"-" => compilation.Builder.CreateSub(left, right),
"*" => compilation.Builder.CreateMul(left, right),
"/" => compilation.Builder.CreateFDiv(left, right),
"=" => CreateAssignment(left, right, compilation),
_ => throw new InvalidOperationException()
};
}

private static Value CreateAssignment(Value left, Value right, BodyCompilation compilation)
{
return compilation.Builder.CreateStore(left, right);
}

private static Value CreateUnary(UnaryOperatorExpression unary, BodyCompilation compilation)
{
var left = CreateValue(unary.Operand, compilation);
Expand Down

0 comments on commit ccdf7d9

Please sign in to comment.