Commit Graph

57 Commits

Author SHA1 Message Date
Pasha Bibko
9e9606681f Removed how variables were handled 2025-05-10 13:39:25 +01:00
Pasha Bibko
050eeb5a53 Allowed multiple functions + non "main" functions
Also fixed a bug in the lexer and changed how AST is logged.
2025-05-08 16:03:54 +01:00
Pasha Bibko
794173e14f Variables can now have an initializer 2025-05-08 15:04:01 +01:00
Pasha Bibko
141bb1530b Improved logger whilst debugger is active 2025-05-08 14:45:44 +01:00
Pasha Bibko
094101ffdd Improved logging capabilities 2025-05-08 14:32:33 +01:00
Pasha Bibko
4509250c4e Tided up Parser project 2025-05-07 20:33:39 +01:00
Pasha Bibko
c472cb5fc5 Changed to use concepts instead of static_assert 2025-05-07 19:43:09 +01:00
Pasha Bibko
98fc4589ab Cleaned up Lexer 2025-05-07 18:10:15 +01:00
Pasha Bibko
6783564f10 Fixed Unexpected Token crashing the process 2025-05-07 16:53:10 +01:00
Pasha Bibko
4e78a9f6ae Made Lexer errors fully hidden in global scope
Also improved general ease of use with debugging use __debugbreak when an error is thrown.

NOTE: Parser errors currently crash the program
2025-05-07 16:31:44 +01:00
Pasha Bibko
0c34e7174e Fixed previous commit 2025-05-06 17:43:26 +01:00
Pasha Bibko
f3a559490c General clean up
- Moved some classes from Lexer.h to seperate (non-Global files)
- Deleted dllmain as it wasn't used for the most part
2025-05-06 17:38:22 +01:00
Pasha Bibko
5339df9b36 Refactored how logging works
Made it central reusable logic. No longer needs to be passed around, opened or closed.
2025-05-05 23:55:22 +01:00
Pasha Bibko
0f11fe006b Made projects use PCHs 2025-05-05 17:17:33 +01:00
Pasha Bibko
c64a2c692c Made common a project 2025-05-05 16:45:34 +01:00
Pasha Bibko
616ed1ca21 Refactored error handling
Now uses base error class which has an abstract function for overiding how it is displayed to the console.
2025-05-05 15:44:59 +01:00
Pasha Bibko
a16ce34c8b Small changes 2025-05-04 20:12:44 +01:00
Pasha Bibko
f88c1e0455 Made the outputted .exe be run on built
Outputs the exit code of the process as that is currently the only way to output information with the language.
2025-05-04 13:53:19 +01:00
Pasha Bibko
347db8ca3e Made github recognise LX (Hopefully) 2025-05-03 21:51:36 +01:00
Pasha Bibko
8d9c850206 COMPILES TO EXE 2025-05-03 21:48:16 +01:00
Pasha Bibko
3386272f2a Used modern approach for C#/C++ interop 2025-05-03 17:11:09 +01:00
Pasha Bibko
eaaceb08d2 Removed .user file 2025-05-03 17:05:08 +01:00
Pasha Bibko
cb26d373ae Added C# project for calling the different modules 2025-05-03 17:04:37 +01:00
Pasha Bibko
e12088979d Added support for all basic math operators 2025-04-28 21:43:52 +01:00
Pasha Bibko
d0bb16f263 Added 2 comments 2025-04-28 21:28:15 +01:00
Pasha Bibko
ce8f1619a4 Variables can now be read from 2025-04-28 21:16:54 +01:00
Pasha Bibko
cbc179411a VarDec and VarAssign now work 2025-04-28 20:43:41 +01:00
Pasha Bibko
3ec6cc0c6e Added VarAssign, VarAccess and MultiNode 2025-04-28 19:59:45 +01:00
Pasha Bibko
d8773d4020 Added feature plan
Also created README.md
2025-04-27 22:15:24 +01:00
Pasha Bibko
935cb35715 Allowed parser to parse basic variable declarations 2025-04-27 21:58:23 +01:00
Pasha Bibko
88ce75ceb1 Changed how scopes work
Also added logging and GenIR functions for VariableDeclaration
2025-04-27 21:48:16 +01:00
Pasha Bibko
a64aa28432 Added scope class 2025-04-27 21:18:09 +01:00
Pasha Bibko
321a7fea18 Improved syntax for functions
Added logging system for AST nodes as well.
2025-04-24 21:34:30 +01:00
Pasha Bibko
099e543e95 Im vonfused 2025-04-22 22:32:07 +01:00
Pasha Bibko
8e1fa45a44 Made project work with new organisation 2025-04-22 11:23:30 +01:00
Pasha Bibko
0a7c2c0145 Organized project files 2025-04-22 11:17:34 +01:00
Pasha Bibko
c95d91b867 Changed how tokens are represented in memory
Also made string-literal tokens now include the quotes as part of their contents.
2025-04-22 10:55:35 +01:00
Pasha Bibko
4b47e803ce Improved logging
Small errors with logging parser unexpected token errors. Tokens need to be re-written with how they store memory as it can be halved.
2025-04-22 00:16:20 +01:00
Pasha Bibko
a1e812efc2 Removed files that did not need to be on github 2025-04-21 15:57:49 +01:00
Pasha Bibko
c8001a3a58 Made the process actually output to the file 2025-04-21 15:56:10 +01:00
Pasha Bibko
feea149cc1 Made lexer support floating point numbers
Wow I didn't think the lexer could get worse
2025-04-21 15:40:46 +01:00
Pasha Bibko
9f05d42945 Changed how undefined errors work 2025-04-21 15:00:09 +01:00
Pasha Bibko
73eefca6db Improved readability of errors in the console 2025-04-21 14:57:50 +01:00
Pasha Bibko
49e4bba510 Improved lexer debugging 2025-04-21 14:23:47 +01:00
Pasha Bibko
a560c53c58 Fixed previous commit
Also allows multiple things to be added together
2025-04-21 09:50:29 +01:00
Pasha Bibko
934f287b7f Merge branch 'LLVM-Test' 2025-04-20 19:32:56 +01:00
Pasha Bibko
6ba9f8e596 Improved compile times
Added A LOT of comments
2025-04-20 19:32:25 +01:00
Pasha Bibko
680a3d1323 LLVM-Works 2025-04-20 13:49:43 +01:00
Pasha Bibko
b3373a858c Removed LLVM 2025-04-19 11:41:52 +01:00
Pasha Bibko
14b2b36748 IT CRASHES
WHYYYYYYYYYYYYYYYYYYYYYY
2025-04-17 18:34:56 +01:00