64 Commits

Author SHA1 Message Date
7f4a026cbc
Add generic documentation 2025-02-20 00:38:53 +01:00
0b835abfa9
Implement noreturn procedure declarations 2025-02-19 01:36:04 +01:00
39750f4656
Implement elsif do 2025-02-17 19:36:57 +01:00
994b91e0e5
Implement .max and .min type properties 2025-02-16 19:13:28 +01:00
b358f8ba27
Allow multiple variable declarations with a single type 2025-02-15 23:55:24 +01:00
82b3806fd2
Implement shift operators 2025-02-15 00:38:46 +01:00
ee4ebf64b9
Use colon instead of as to cast 2025-02-14 22:47:09 +01:00
c564847c6b
Provide record initialization syntax 2025-02-13 23:56:03 +01:00
62d9398772
Index strings 2025-02-12 23:18:39 +01:00
f991686330
Use -> arrow for the return types 2025-02-12 13:32:59 +01:00
cd949c4be7
Implement string comparison 2025-02-12 00:56:21 +01:00
33aca4cc07
Fix diagnostic for primitive types 2025-02-11 01:37:55 +01:00
4bf88a92e8
Replace main_fndecl with current_function_decl 2025-02-09 23:49:57 +01:00
207ae0fa0a
Change the bootstrap compiler license to GPL3 2025-02-09 12:30:31 +01:00
d88bd652a4
Make string and char pointers comparable 2025-02-08 23:02:27 +01:00
8a0f282714
Implement defer 2025-02-08 06:47:42 +01:00
077de53c74
Allow expressions in designators 2025-02-07 01:21:26 +01:00
5e9b4259ca
Add multiple of the pointer target size 2025-02-05 22:51:48 +01:00
8b654ed138
Allow assigning nil to any pointer 2025-02-04 19:39:41 +01:00
aab16e4941
Allow comparing all pointer types to nil 2025-02-03 23:04:00 +01:00
607bf09434
Read the input filename from the command line 2025-02-02 23:34:31 +01:00
b41d6fb907
Pass command line arguments to main 2025-02-01 22:26:12 +01:00
5108016d39
Move byte for unyped pointers 2025-02-01 09:21:29 +01:00
4011adbe2b
Rename elna::source to elna:boot 2025-01-31 23:31:36 +01:00
45898bb95f
Mark @ nodes addressable 2025-01-30 23:09:51 +01:00
1b90829299
Lex multiline comments 2025-01-30 01:03:16 +01:00
5178027d9f
Implement the sizeof operator 2025-01-29 12:55:52 +01:00
be1a56a557
Cast expressions 2025-01-28 23:04:06 +01:00
18d8ded239
Implement elsif 2025-01-27 23:20:45 +01:00
1f7c1b4cb8
Support the remainder operator 2025-01-26 09:01:47 +01:00
005e9dcc52
Implement the Word type 2025-01-24 11:41:14 +01:00
5548b66b15
Recognize hexadecimal sequences in the characters 2025-01-23 14:14:43 +01:00
0dc95d4466
Implement character escape sequences 2025-01-22 20:19:26 +01:00
156506e8fa
Force the execution of expression statements 2025-01-21 20:18:27 +01:00
e15f6924b1
Implement adding an integer to a pointer 2025-01-20 22:32:30 +01:00
7b36a3803f
Support procedures returning values 2025-01-18 21:30:11 +01:00
a79def50e5
End while and if statements with the end token 2025-01-17 23:01:18 +01:00
ef667e3ace
Implement external functions 2025-01-16 15:10:35 +01:00
1e45d66359
Implement argument passing 2025-01-15 20:39:30 +01:00
5cb0e18a87
Add current grammar 2025-01-14 23:15:27 +01:00
3bd4c3af6f
Don't append return to void procedures 2025-01-13 23:10:15 +01:00
b45b00a3f6
Move type definitions to the program node 2025-01-12 23:26:59 +01:00
7985704981
Rename the frontend binary name to gelna 2025-01-11 23:20:23 +01:00
0fcf29c17e
Implement parameterless prcoedures 2025-01-11 13:32:37 +01:00
35c32fcf3f
Implement pointers 2025-01-10 23:17:18 +01:00
954425f4bd
Generate record IR 2025-01-09 22:40:39 +01:00
cf4b6b7ccc
Add pointer and field access nodes 2025-01-08 23:23:27 +01:00
2d61828903
Allow declaring type synonyms 2025-01-07 14:37:30 +01:00
ed1bb621d6
Handle array variable declaration 2025-01-06 15:08:23 +01:00
e8747a803f
Construct the parse tree with raw pointers 2025-01-05 15:21:25 +01:00