93 Commits

Author SHA1 Message Date
a7b5e32d09
Allow calling procedures defined later 2025-04-01 13:04:14 +02:00
013bf91fbd
Save procedure info in the symbol table 2025-03-31 12:48:30 +02:00
f2e2da4a34
Detect type aliasing cycles 2025-03-30 17:09:22 +02:00
0658d07e97
Allow empty var sections 2025-03-29 11:19:55 +01:00
413f23af4d
Fix alias resolution with type declarations 2025-03-28 14:11:20 +01:00
d359056354
Type check the return statement 2025-03-28 01:11:16 +01:00
c022805c53
Make array ptr and length properties constant 2025-03-24 11:11:18 +01:00
6ccb195c09
Check only a pointer can be dereferenced 2025-03-23 10:14:04 +01:00
07ed40cc24
Restrict cast types 2025-03-22 13:09:29 +01:00
5e8555b4f4
Skip parameter names in procedure type expressions 2025-03-20 21:41:03 +01:00
6eb4e91b2c
Use symbols for logical operations 2025-03-17 23:29:38 +01:00
f6e0ead4fb
Check for duplicate fields in the declaration visitor 2025-03-16 03:28:51 +01:00
fa73f14070
Forbid redefenition of builtin types 2025-03-15 00:05:39 +01:00
ac084be7f5
Randomize type declaration order 2025-03-12 23:56:54 +01:00
c9a8ecdc0a
Create a generic type for types with an error list 2025-03-12 00:23:51 +01:00
f739194e06
Add a symbol table with type info 2025-03-10 01:17:32 +01:00
868db6e0bf
Add array_type 2025-03-08 13:55:42 +01:00
dc5760394b
Unify the build_type function 2025-03-08 00:10:55 +01:00
dbeaca7cbf
Add forward type declaration representation 2025-03-06 03:46:10 +01:00
8dc02047df
Add second GENERIC visitor 2025-03-05 23:24:27 +01:00
c5930285bf
Rename AST types to type expressions 2025-03-03 23:16:31 +01:00
09f204bd16
Revert "Allow only one return"
This reverts commit 18602d00a118e69d4ccc45287e89a16b86c1d92e.
2025-03-02 10:45:54 +01:00
75561fd18a
Replace build_type with visitor functions 2025-03-02 10:05:47 +01:00
b141dc1a5a
Add semicolons back 2025-03-02 00:20:11 +01:00
18602d00a1
Allow only one return 2025-03-01 00:00:36 +01:00
f091344cce
Replace type expression with traits 2025-02-28 00:22:50 +01:00
85b6843ecf
Implement procedure pointers 2025-02-24 00:24:36 +01:00
18857e1a88
Add procedure type expression 2025-02-22 02:43:58 +01:00
ff9169a98c
Read an unterminated comment entirely 2025-02-20 23:07:35 +01:00
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