Commit Graph

576 Commits

Author SHA1 Message Date
9b9398ac26 Add lexing of escaped characters, add parsing of characters 2025-07-22 14:57:09 +03:00
e220900ac3 Start adding chars 2025-07-22 14:44:28 +03:00
9c0d373f9d Fix casting to same type 2025-07-22 14:21:17 +03:00
e27aa4b8ab Fix pointer-casting 2025-07-22 14:19:28 +03:00
c03a5188ea Finish casting codegen 2025-07-22 14:12:31 +03:00
e73b939de0 Add all cast instructions to lib 2025-07-22 14:05:50 +03:00
a6c9752883 Use unordered comparisons in floats 2025-07-22 13:26:08 +03:00
104205ee5d Type-infer and check typecasting 2025-07-22 13:24:53 +03:00
3378f556ec Add AST -> MIR for typecasting 2025-07-21 21:28:39 +03:00
c4ab4ac0b3 Add parsing of casting 2025-07-21 21:23:37 +03:00
b2e9849504 Update README and .gitignore 2025-07-21 21:15:55 +03:00
471c2eaf87 Fix struct-parsing interfering with if-parsing 2025-07-21 20:52:39 +03:00
066f441a77 Add FCmp 2025-07-21 20:34:27 +03:00
fe145ad2ef Fix comparisons not working for integers 2025-07-21 20:25:28 +03:00
7929a798af Update examples a little bit 2025-07-21 20:23:37 +03:00
836a532d8d Fix UserPointer being completely monkeypatched, found the issue 2025-07-21 20:13:15 +03:00
10d62eb1f7 Allow_identifiers_to_have_underscores 2025-07-21 19:36:44 +03:00
069c277516 Update String to be *str 2025-07-21 19:32:40 +03:00
eb99a4c74e Fix range in literals 2025-07-21 19:18:39 +03:00
6d879e5a30 Update README.md 2025-07-21 17:32:41 +03:00
3d3a9a34f9 Fix binary operators for floats, make library functions extern 2025-07-21 17:32:20 +03:00
feac7163f2 Add a bunch of operations to lib 2025-07-21 17:03:21 +03:00
f0f828d1eb Fix float type coercion and compilation 2025-07-21 16:54:50 +03:00
ec0c7fa194 Fix float coersion rules 2025-07-21 16:53:29 +03:00
a1507e14ca Add flag to ignore no-main-error 2025-07-21 16:47:51 +03:00
7c7dde03f9 Fix error reporting on No-Main-Function and add fp compilation 2025-07-21 16:44:16 +03:00
bcc93dd60c Add parsing to floats 2025-07-21 16:18:14 +03:00
96947be97a Remove additional llvm ir print, update readme 2025-07-21 15:47:50 +03:00
e370e17ffd Only include STD if it is imported 2025-07-21 15:47:02 +03:00
b23577aa18 Check for trivial expressions that they are >0 when unsigned 2025-07-21 15:44:47 +03:00
d65b0153a1 Implement unary operators as syntax sugar 2025-07-21 15:12:49 +03:00
14b6e6b2f9 Update readme 2025-07-21 14:56:57 +03:00
48674912fa Update README.md 2025-07-21 14:50:57 +03:00
ed9c8638d5 Get pointers working 2025-07-21 14:43:24 +03:00
9db508bd9c Change user-space pointer to different type 2025-07-21 13:52:37 +03:00
a49105b07a Add typecheck/infer for pointers 2025-07-21 13:29:19 +03:00
3b43689650 Add parsing pointer-type 2025-07-21 13:25:01 +03:00
c9b363d9e8 Update README 2025-07-21 12:21:09 +03:00
1ba1ae3213 Try add some display for LLIR 2025-07-21 12:07:42 +03:00
f55040ad00 Update how types are formatted 2025-07-21 11:06:42 +03:00
ce645519ce Fix NamedVarRefrence tokenrange 2025-07-21 10:52:33 +03:00
d2ee61e888 Update borrow_hard back 2025-07-21 10:43:55 +03:00
37386db437 Check for mutability when doing a let 2025-07-21 10:43:24 +03:00
5763df948f Check borrow mutability against variable mutability 2025-07-21 10:39:19 +03:00
1fadaa60f2 Add mutability compatibility check to borrows 2025-07-21 10:33:37 +03:00
74ce296a05 Refactor a bit 2025-07-21 10:29:26 +03:00
2293b6edb8 Add some type of mutability-guard 2025-07-21 10:24:25 +03:00
b9f6f2ba0f Make param mutable based on type 2025-07-21 10:23:30 +03:00
60818842a5 Add borrow mutability 2025-07-21 10:21:25 +03:00
8da32c25c5 Make borrows work as function parameters as well 2025-07-21 10:07:56 +03:00