Commit Graph

549 Commits

Author SHA1 Message Date
Krzosa Karol
8fb29e21d1 Remove old token_array.c 2022-05-27 15:35:47 +02:00
Krzosa Karol
d6401ff05d Recursive lambdas with new system 2022-05-27 15:35:15 +02:00
Krzosa Karol
79aa52e726 Typedef works for simple case 2022-05-27 15:18:07 +02:00
Krzosa Karol
8875b61970 Add typedefs in codegen, globals is working 2022-05-27 15:00:45 +02:00
Krzosa Karol
46abf8c1a6 Initial working version of types as expressions 2022-05-27 13:46:27 +02:00
Krzosa Karol
d8a9b318b7 Changing typespecs to be normal expressions 2022-05-27 12:29:51 +02:00
Krzosa Karol
f66fd447e5 Removed resolved pointer from Ast_Typespec, it's accessed using a map now 2022-05-27 12:05:23 +02:00
Krzosa Karol
01acad47ec Map redesign, removing just flags as unoccupied, when getting value we dont check occupancy but key, avoids hanging values due to the nature of linear probing 2022-05-26 23:46:26 +02:00
Krzosa Karol
7c4b01cd92 Local symbols use linear array searches now, there was a bug, when removing from map we are leaving holes it makes some entries unreachable 2022-05-26 23:40:23 +02:00
Krzosa Karol
3c6d02877b Recursive functions working 2022-05-26 22:40:30 +02:00
Krzosa Karol
18a895153e Basic order independent decls working 2022-05-26 21:30:50 +02:00
Krzosa Karol
b773ad1c17 Trying to add order indendent decls 2022-05-26 21:09:07 +02:00
Krzosa Karol
0e398c84b6 Cleanup, There is no decl anymore, Ast_Named 2022-05-26 20:21:24 +02:00
Krzosa Karol
ec773c08be Add init statement to if 2022-05-26 18:57:15 +02:00
Krzosa Karol
8e4942f5ae Delete old version files 2022-05-26 18:15:27 +02:00
Krzosa Karol
3d9a38494c Add if statements 2022-05-26 18:13:37 +02:00
Krzosa Karol
3cd79040bc Fix compile errors when compiling for msvc 2022-05-26 16:55:07 +02:00
Krzosa Karol
c88b38cc44 Successful compile with new parser! 2022-05-26 14:49:50 +02:00
Krzosa Karol
d9a80afa9e Working on the lexer, handling indentation and scopes 2022-05-26 14:24:11 +02:00
Krzosa Karol
f4c05923c9 Compile string, working on scopes 2022-05-26 11:54:12 +02:00
Krzosa Karol
b945f3affd Lambdas, statements, typechecking lambdas 2022-05-25 14:44:30 +02:00
Krzosa Karol
9dc2e1588d Work on lambda body 2022-05-24 23:35:49 +02:00
Krzosa Karol
52910d5606 Lexer is not collecting hanging new lines 2022-05-24 22:13:53 +02:00
Krzosa Karol
e032fefd07 Ast modified, Ast_Expr is not a union instead it uses inheritence 2022-05-24 21:01:27 +02:00
Krzosa Karol
5176b40204 Generating valid c code, more work on null values 2022-05-24 20:33:11 +02:00
Krzosa Karol
236ff0cd64 Added lambda expressions, lambda types, no body yet 2022-05-20 17:16:53 +02:00
Krzosa Karol
30736d37b6 Starting from scratch on smaller scale, typechecking global and constant variables, compound expressions for arrays 2022-05-20 10:54:20 +02:00
Krzosa Karol
d993623a50 Types, Fixed personal arena 2022-05-13 22:02:55 +02:00
Krzosa Karol
ea0b1c352d Allocator logging 2022-05-13 20:36:42 +02:00
Krzosa Karol
2689aa9ba1 Pratt parsing, basic ast, decl parse const 2022-05-13 16:04:39 +02:00
Krzosa Karol
9c22a379ea Moving to C++ with new idea 2022-05-13 10:12:09 +02:00
Krzosa Karol
9d54ed8195 Parsing complete mostly, ordering, resolving, C++ tests 2022-05-12 17:10:24 +02:00
Krzosa Karol
feae74b0b9 Almost works 2022-05-07 20:56:03 +02:00
Krzosa Karol
042127239e AST idea 2022-05-07 15:48:53 +02:00
Krzosa Karol
d3ede16bab Pretty printing, parsing structs 2022-05-07 09:47:11 +02:00
Krzosa Karol
501e42be19 More parsing of expressions 2022-05-06 21:58:09 +02:00
Krzosa Karol
76a8cc779c Named function args 2022-05-06 15:56:22 +02:00
Krzosa Karol
7e3eefda57 Added almost all expr operators 2022-05-06 12:52:33 +02:00
Krzosa Karol
9552126da2 Parsing expressions 2022-05-06 11:28:34 +02:00
Krzosa Karol
e3b5e9b33a New approach, new lexer 2022-05-06 10:13:16 +02:00
Krzosa Karol
557dde1936 C codegen 2022-05-03 20:08:13 +02:00
Krzosa Karol
8c04044ea2 New syntax that's easier to parse, parsing doesn't need variable lookup 2022-05-03 11:31:21 +02:00
Krzosa Karol
3c376bbe30 Delete previous progress 2022-05-02 09:49:22 +02:00
Krzosa Karol
6d68fd07aa Backup, new approach to ast 2022-05-02 09:29:21 +02:00
Krzosa Karol
c5498b03ad Swinging in a different direction, different syntax 2022-05-01 13:51:34 +02:00
Krzosa Karol
3a9b748fed New AST 2022-04-30 12:28:34 +02:00
Krzosa Karol
a5a3acf3ef Backup, Decl,Type parsing enum,structs etc. 2022-04-29 23:28:41 +02:00
Krzosa Karol
9cbbb4d616 Parsing exprs, enum_decls, Introduce intern table, symbol table 2022-04-29 11:22:10 +02:00
Krzosa Karol
d462892e14 Working on lexer first 2022-04-28 13:49:32 +02:00