Krzosa Karol
|
db7303a2c1
|
Deleting more code poggers
|
2022-06-10 21:40:56 +02:00 |
|
Krzosa Karol
|
9b03147099
|
Enum members have const syntax, enum members gen S64 type by default,
|
2022-06-10 21:36:36 +02:00 |
|
Krzosa Karol
|
862a820ec7
|
Fixing field access / Enum bugs
|
2022-06-10 19:44:52 +02:00 |
|
Krzosa Karol
|
70255c18cb
|
Enums working
|
2022-06-10 19:41:10 +02:00 |
|
Krzosa Karol
|
43fe057cf4
|
Fixing fallout from temporary solution to field access
|
2022-06-10 19:31:59 +02:00 |
|
Krzosa Karol
|
decab135b8
|
Referencing other packages works!!
|
2022-06-10 19:25:57 +02:00 |
|
Krzosa Karol
|
eff0afd96c
|
Delete old code
|
2022-06-10 18:08:38 +02:00 |
|
Krzosa Karol
|
4149300bb9
|
Cleanup, FLAG32
|
2022-06-10 18:07:03 +02:00 |
|
Krzosa Karol
|
ab663d0b01
|
Getting packages out of resolve_name
|
2022-06-10 17:07:58 +02:00 |
|
Krzosa Karol
|
957dbbd5cc
|
Fix not top level ast's getting into ordered list. Delete parent nodes
|
2022-06-10 16:47:49 +02:00 |
|
Krzosa Karol
|
6ad5f4e706
|
Nicer error messages
|
2022-06-10 16:26:26 +02:00 |
|
Krzosa Karol
|
11e7bd52fd
|
Solved the problem of scope when resolving out of order!!!
|
2022-06-10 16:23:34 +02:00 |
|
Krzosa Karol
|
e2d07923c8
|
Add parent_scope on all nodes
|
2022-06-10 16:12:47 +02:00 |
|
Krzosa Karol
|
3402b4fe4d
|
Add DECL_TYPE
|
2022-06-10 15:05:44 +02:00 |
|
Krzosa Karol
|
89b3e00ae4
|
Closer to old state
|
2022-06-10 14:08:27 +02:00 |
|
Krzosa Karol
|
d5d9911f3e
|
More work on packages
|
2022-06-10 11:05:08 +02:00 |
|
Krzosa Karol
|
b0077fe9df
|
Basic resolving, codegen with packages
|
2022-06-10 10:35:10 +02:00 |
|
Krzosa Karol
|
fbe911d267
|
Complete rework, adding packages
|
2022-06-09 21:30:52 +02:00 |
|
Krzosa Karol
|
4edd2a4799
|
Big renames, prepare for scope changes
|
2022-06-09 17:45:30 +02:00 |
|
Krzosa Karol
|
2ec901f6da
|
Big renames
|
2022-06-09 14:22:04 +02:00 |
|
Krzosa Karol
|
2f127dea98
|
Before adding pointer idea
|
2022-06-08 12:59:43 +02:00 |
|
Krzosa Karol
|
19356026fe
|
More compile timers, euler3
|
2022-06-08 10:04:34 +02:00 |
|
Krzosa Karol
|
87d6737a10
|
Working on euler using the compiler + squashing bugs
|
2022-06-08 09:53:13 +02:00 |
|
Krzosa Karol
|
5744da8899
|
Passing arrays as arguments to functions working
|
2022-06-07 21:34:02 +02:00 |
|
Krzosa Karol
|
b65a5f78bf
|
Working on arrays
|
2022-06-07 21:19:06 +02:00 |
|
Krzosa Karol
|
c3e071b3bb
|
Squashing lexer bugs related to EOF
|
2022-06-07 21:18:49 +02:00 |
|
Krzosa Karol
|
c69d2b7fe2
|
Language actually gets properly stepped through using debugger!
|
2022-06-07 17:53:04 +02:00 |
|
Krzosa Karol
|
9cdc5ee6c9
|
Codegen basic arrays with size attached
|
2022-06-07 17:38:15 +02:00 |
|
Krzosa Karol
|
ec89defb5d
|
Fix type complete not called properly
|
2022-06-07 15:54:39 +02:00 |
|
Krzosa Karol
|
44d26d6939
|
Can call the compiler from command line with argument
|
2022-06-07 15:27:18 +02:00 |
|
Krzosa Karol
|
1a67fe3402
|
Require boolean in for, if
|
2022-06-07 13:50:16 +02:00 |
|
Krzosa Karol
|
d45ee5ec8a
|
Fix scope bug, fix parsing bug
|
2022-06-07 13:37:57 +02:00 |
|
Krzosa Karol
|
af5865b059
|
Working on actually making a program
|
2022-06-07 12:10:20 +02:00 |
|
Krzosa Karol
|
759825172c
|
Printf is working !!
|
2022-06-07 11:27:09 +02:00 |
|
Krzosa Karol
|
a59283903b
|
Add var args for using printf
|
2022-06-07 11:16:30 +02:00 |
|
Krzosa Karol
|
b7df759d9d
|
Add foreign functions
|
2022-06-07 09:56:19 +02:00 |
|
Krzosa Karol
|
c5b82c0532
|
Added unary ++ --, prefix and postfix, working on running a program
|
2022-06-07 09:05:02 +02:00 |
|
Krzosa Karol
|
d3da979d64
|
More for loop variations working
|
2022-06-06 23:55:44 +02:00 |
|
Krzosa Karol
|
f852a23fcb
|
Fixing bugs, pointer arithmetic checking, better for, working on first program
|
2022-06-06 23:50:38 +02:00 |
|
Krzosa Karol
|
729e7aee86
|
Fixing type checking
|
2022-06-06 22:14:30 +02:00 |
|
Krzosa Karol
|
d042251c21
|
Bit Negating now works properly for different types
|
2022-06-06 17:14:42 +02:00 |
|
Krzosa Karol
|
7173557d26
|
Testing big ints
|
2022-06-06 17:00:01 +02:00 |
|
Krzosa Karol
|
dc56bd54f3
|
Managing bigint memory
|
2022-06-06 16:49:41 +02:00 |
|
Krzosa Karol
|
06d6ec7525
|
Working on casts
|
2022-06-06 13:24:01 +02:00 |
|
Krzosa Karol
|
4f876a36a4
|
Switched to bigint in lexer
|
2022-06-06 10:00:53 +02:00 |
|
Krzosa Karol
|
960523b443
|
Remove int uint, all programs compiling
|
2022-06-06 09:36:37 +02:00 |
|
Krzosa Karol
|
325050300a
|
Cleanup
|
2022-06-06 09:17:34 +02:00 |
|
Krzosa Karol
|
6157325d8f
|
Compiling with new untyped system
|
2022-06-06 08:56:03 +02:00 |
|
Krzosa Karol
|
e12e0ee561
|
Checking if in range
|
2022-06-05 15:09:40 +02:00 |
|
Krzosa Karol
|
867297c41e
|
More work on 128bit arithmetic
|
2022-06-05 13:58:02 +02:00 |
|
Krzosa Karol
|
73ca0c5405
|
Division?
|
2022-06-05 13:08:41 +02:00 |
|
Krzosa Karol
|
968a6ac708
|
Researching 128bit integers
|
2022-06-05 12:12:54 +02:00 |
|
Krzosa Karol
|
a73b12d54d
|
Add big int file
|
2022-06-04 09:34:43 +02:00 |
|
Krzosa Karol
|
f3527be36a
|
Add unicode literal
|
2022-06-04 09:27:59 +02:00 |
|
Krzosa Karol
|
c3f235bd44
|
Cleanup
|
2022-06-04 09:12:27 +02:00 |
|
Krzosa Karol
|
4910671ab9
|
Delete lex.c
|
2022-06-03 23:16:15 +02:00 |
|
Krzosa Karol
|
a324a5abf0
|
Compiling and running first program!
|
2022-06-03 23:15:16 +02:00 |
|
Krzosa Karol
|
5e798bd179
|
Add string accessors, working towards first program
|
2022-06-03 21:59:51 +02:00 |
|
Krzosa Karol
|
827cad0127
|
Negations and Nots working, more bugs introduced, it's getting quite complex :(
|
2022-06-03 18:21:47 +02:00 |
|
Krzosa Karol
|
42699034ae
|
Got all programs working, now adding unary not and neg
|
2022-06-03 17:58:20 +02:00 |
|
Krzosa Karol
|
25820a0c5b
|
More work on types
|
2022-06-03 16:06:33 +02:00 |
|
Krzosa Karol
|
14af46125d
|
Fix if parsing bug
|
2022-06-03 15:38:29 +02:00 |
|
Krzosa Karol
|
dd8fbc20ed
|
Boolean operators
|
2022-06-03 15:35:27 +02:00 |
|
Krzosa Karol
|
cc387af8ed
|
Add bit ops to binary
|
2022-06-03 14:57:10 +02:00 |
|
Krzosa Karol
|
84b393ce2f
|
Guarding agains big ints which are not implemented yet
|
2022-06-03 14:16:51 +02:00 |
|
Krzosa Karol
|
c2f501bf36
|
More work on conversions and constant evaluation
|
2022-06-03 14:13:45 +02:00 |
|
Krzosa Karol
|
e200a006a2
|
More work on typechecking and type conversions
|
2022-06-03 14:03:01 +02:00 |
|
Krzosa Karol
|
7e4b9777e6
|
Cleanup
|
2022-06-03 12:07:17 +02:00 |
|
Krzosa Karol
|
71d0abf122
|
Adding Unary [-] [+] to new type system
|
2022-06-03 11:17:46 +02:00 |
|
Krzosa Karol
|
081e559520
|
Basic type conversion when assigning, added + - unary
|
2022-06-03 10:48:07 +02:00 |
|
Krzosa Karol
|
e2e684294e
|
Add bool values to parser, and bool nodes to ast
|
2022-06-02 23:48:03 +02:00 |
|
Krzosa Karol
|
2909214ee0
|
Add floats
|
2022-06-02 22:52:16 +02:00 |
|
Krzosa Karol
|
a416007bba
|
AST_INT, AST_STR to AST_VALUE
|
2022-06-02 22:37:42 +02:00 |
|
Krzosa Karol
|
173ef843df
|
New types, Value rework, Sym cleanup
|
2022-06-02 22:17:28 +02:00 |
|
Krzosa Karol
|
9a58e407a4
|
Remove null
|
2022-06-02 09:59:12 +02:00 |
|
Krzosa Karol
|
ebb21df015
|
Before adding untyped types
|
2022-06-01 21:38:39 +02:00 |
|
Krzosa Karol
|
75985de125
|
Add more operators to lexer
|
2022-06-01 19:12:56 +02:00 |
|
Krzosa Karol
|
494a937d1f
|
Rewritten the expression parser, tldr that '.' is actually right associative binary operator, I brain farted really hard this time
|
2022-06-01 18:59:38 +02:00 |
|
Krzosa Karol
|
364daed1c7
|
Fix field parsing
|
2022-06-01 15:00:27 +02:00 |
|
Krzosa Karol
|
82bb3ae493
|
Fix lexer end of file not unwinding scopes, Trying to run a program
|
2022-06-01 14:00:42 +02:00 |
|
Krzosa Karol
|
02b6a1c85b
|
RValue, LValue concept working, Assigning to numbers is now illegal!
|
2022-06-01 13:28:38 +02:00 |
|
Krzosa Karol
|
a5267bb8ae
|
Adding lvalue rvalue concept, Cleanup
|
2022-06-01 13:23:21 +02:00 |
|
Krzosa Karol
|
94704a5340
|
Cleanup, adding rvalues, lvalues
|
2022-06-01 12:57:12 +02:00 |
|
Krzosa Karol
|
631cfce534
|
Cleanup
|
2022-06-01 12:28:58 +02:00 |
|
Krzosa Karol
|
9b18c106b6
|
Basic variable reassignments
|
2022-06-01 12:13:02 +02:00 |
|
Krzosa Karol
|
86aec0b1eb
|
More cleanup
|
2022-05-31 23:01:55 +02:00 |
|
Krzosa Karol
|
98d2389c9f
|
Cleanup
|
2022-05-31 22:52:56 +02:00 |
|
Krzosa Karol
|
7ea0dfc7a6
|
Generating for stmt
|
2022-05-31 18:50:41 +02:00 |
|
Krzosa Karol
|
0360086bab
|
Restructure
|
2022-05-31 18:29:35 +02:00 |
|
Krzosa Karol
|
20accf8293
|
Parsing for stmt
|
2022-05-31 16:45:20 +02:00 |
|
Krzosa Karol
|
41697dec80
|
Ast_Init is not Ast_Binary with TK_Comma
|
2022-05-31 16:24:04 +02:00 |
|
Krzosa Karol
|
7dfc4c7b36
|
Generating nested structs
|
2022-05-31 16:12:18 +02:00 |
|
Krzosa Karol
|
ef9c2f4ee5
|
Cleanup
|
2022-05-31 15:53:49 +02:00 |
|
Krzosa Karol
|
04d38511a9
|
Fix regression, constant variables now get properly rewritten
|
2022-05-31 14:01:18 +02:00 |
|
Krzosa Karol
|
369418b042
|
Rewriting field.accesses that evaluate to constants
|
2022-05-31 13:39:34 +02:00 |
|
Krzosa Karol
|
1168965ba4
|
Accessing constant values in structs
|
2022-05-31 13:27:21 +02:00 |
|
Krzosa Karol
|
437a776d78
|
Folding constant enum access into constant int value
|
2022-05-31 13:10:56 +02:00 |
|
Krzosa Karol
|
627e2bad88
|
Initial enums working
|
2022-05-31 11:50:36 +02:00 |
|
Krzosa Karol
|
5e0aabb1cb
|
Update todo
|
2022-05-30 18:55:15 +02:00 |
|
Krzosa Karol
|
a9b0318720
|
Wanky constant in structs sort of working but long way to go
|
2022-05-30 18:46:01 +02:00 |
|