q/src/core
2025-02-10 14:09:27 +01:00
..
AddBytes.go Simplified file structure 2024-08-07 19:39:10 +02:00
CallSafe.go Fixed register allocation on function calls 2025-02-05 22:49:39 +01:00
Compare.go Simplified file structure 2024-08-07 19:39:10 +02:00
Compile.go Simplified file structure 2024-08-07 19:39:10 +02:00
CompileAssert.go Simplified file structure 2024-08-07 19:39:10 +02:00
CompileAssign.go Implemented structs 2025-02-04 18:16:31 +01:00
CompileAssignArray.go Implemented length storage of allocated memory 2025-02-09 14:14:41 +01:00
CompileAssignDivision.go Renamed x64 to x86 2025-02-05 23:16:18 +01:00
CompileAssignField.go Implemented length storage of allocated memory 2025-02-09 14:14:41 +01:00
CompileAST.go Simplified file structure 2024-08-07 19:39:10 +02:00
CompileASTNode.go Simplified file structure 2024-08-07 19:39:10 +02:00
CompileCall.go Improved type system checks 2025-02-10 14:09:27 +01:00
CompileCondition.go Simplified file structure 2024-08-07 19:39:10 +02:00
CompileDefinition.go Improved type system checks 2025-02-10 14:09:27 +01:00
CompileDelete.go Improved server example 2025-02-08 17:34:11 +01:00
CompileIf.go Fixed missing register move in if statements 2025-02-03 13:17:48 +01:00
CompileLen.go Improved type system checks 2025-02-10 14:09:27 +01:00
CompileLoop.go Simplified file structure 2024-08-07 19:39:10 +02:00
CompileMemoryStore.go Implemented structs 2025-02-04 18:16:31 +01:00
CompileNew.go Implemented package specific structs 2025-02-08 16:06:39 +01:00
CompileReturn.go Improved type system checks 2025-02-10 14:09:27 +01:00
CompileSwitch.go Simplified file structure 2024-08-07 19:39:10 +02:00
CompileSyscall.go Simplified file structure 2024-08-07 19:39:10 +02:00
CompileTokens.go Simplified file structure 2024-08-07 19:39:10 +02:00
Defer.go Simplified file structure 2024-08-07 19:39:10 +02:00
Define.go Simplified identifier lookup 2025-02-03 15:22:57 +01:00
Evaluate.go Implemented structs 2025-02-04 18:16:31 +01:00
Execute.go Simplified file structure 2024-08-07 19:39:10 +02:00
ExecuteLeaf.go Simplified file structure 2024-08-07 19:39:10 +02:00
ExecuteRegister.go Simplified file structure 2024-08-07 19:39:10 +02:00
ExecuteRegisterNumber.go Renamed x64 to x86 2025-02-05 23:16:18 +01:00
ExecuteRegisterRegister.go Renamed x64 to x86 2025-02-05 23:16:18 +01:00
ExpressionsToRegisters.go Simplified file structure 2024-08-07 19:39:10 +02:00
ExpressionToMemory.go Added array type 2025-02-09 20:25:37 +01:00
ExpressionToRegister.go Improved type system checks 2025-02-10 14:09:27 +01:00
Fold.go Simplified file structure 2024-08-07 19:39:10 +02:00
Function.go Improved type system checks 2025-02-10 14:09:27 +01:00
Identifier.go Simplified identifier lookup 2025-02-03 15:22:57 +01:00
Input.go Implemented struct pointer types 2025-02-05 15:16:00 +01:00
JumpIfFalse.go Simplified file structure 2024-08-07 19:39:10 +02:00
JumpIfTrue.go Simplified file structure 2024-08-07 19:39:10 +02:00
NewFunction.go Renamed x64 to x86 2025-02-05 23:16:18 +01:00
Number.go Simplified file structure 2024-08-07 19:39:10 +02:00
Output.go Implemented struct pointer types 2025-02-05 15:16:00 +01:00
PrintInstructions.go Added build statistics 2025-02-05 23:10:50 +01:00
readme.md Improved documentation 2025-01-28 14:04:30 +01:00
ResolveTypes.go Improved type system checks 2025-02-10 14:09:27 +01:00
String.go Simplified file structure 2024-08-07 19:39:10 +02:00
TokenToRegister.go Added array type 2025-02-09 20:25:37 +01:00
TypeByName.go Implemented package specific structs 2025-02-08 16:06:39 +01:00
UsesRegister.go Simplified file structure 2024-08-07 19:39:10 +02:00

Function.go

This is the "heart" of the compiler. Each function runs Compile which organizes the source code into an abstract syntax tree that is then compiled via CompileAST. You can think of AST nodes as the individual statements in your source code.