Commit Graph

115 Commits

Author SHA1 Message Date
5d86161b63 Add Directive interface 2024-02-13 16:03:07 -05:00
73b4643162 Add metadata entities 2024-02-13 13:29:30 -05:00
cb3e5b6bfb Add entity.FormatType() 2024-02-12 14:34:49 -05:00
0832a948bf Completed doc comments in entity 2024-02-09 01:11:24 -05:00
b6cc02fcb8 Change interface prefix from ? to ~
? will eventually be used in place of * to denote an optional
pointer, and ~ already means "approximation", which works well for
a polymorphic data structure.
2024-02-08 04:10:11 -05:00
fa252e59ab Loll oops 2024-02-08 02:22:57 -05:00
93c9f42aab Unify entity.Statement and entity.Expression 2024-02-08 02:22:19 -05:00
f04bf32ce2 Relaxed unneeded rules on AST 2024-02-08 02:19:00 -05:00
50fc1d16de Parse bit and value casts 2024-02-08 01:54:29 -05:00
abbc8e52bf Parse length operations 2024-02-08 01:33:55 -05:00
90a505540e Parse slice operations 2024-02-08 01:29:16 -05:00
92b15eef6c Struct literals print correctly 2024-02-08 00:56:43 -05:00
d7d2d90b20 Added string constructor for entity.Operator 2024-02-08 00:29:24 -05:00
7b6c1b8398 What crack was I smoking when I made LiteralNil.Value 2024-02-07 15:46:42 -05:00
6cab43332e Remove entity.Boolean because I have overcome my haters 2024-02-07 15:41:48 -05:00
673d43a0c8 De-ambiguify interface and struct type syntax 2024-02-07 03:02:16 -05:00
fc9b3bbfa5 Un-participle-ify entity.Access 2024-02-06 02:27:09 -05:00
f7636ab410 Remove entity participle struct tags 2024-02-05 15:17:59 -05:00
decc5939a1 Remove entity dependency on participle 2024-02-05 15:16:11 -05:00
8dedae5cb9 Nitpick 2024-01-27 08:26:46 +00:00
7035648396 Change restricted access modifier to tilde (~) 2024-01-27 07:42:13 +00:00
cd688c91af Added nil (zero initializer) literals 2023-12-21 23:33:38 -05:00
a9ff511496 Generator can produce link names 2023-12-20 03:05:27 -05:00
88bc83f277 Added module referencing to parser 2023-12-19 15:21:10 -05:00
0645e2b43a Add access specifiers and link names to parser 2023-12-17 11:23:42 -05:00
6bcbd6aff9 Made the type checker a tad more robust 2023-12-15 13:23:37 -05:00
414f4595dc Changed my mind about brackets on break and return statements 2023-12-12 19:51:17 -05:00
30c346c6b7 Generator alloca's variables when they are defined 2023-12-07 02:48:27 -05:00
ffe873a3e4 String literals can be assigned to strings now 2023-12-02 22:45:22 -05:00
7b139199c0 Ditch brackets around break and return statements 2023-12-01 01:53:33 -05:00
4c07b9f206 Add length to analyzer and parser 2023-11-30 02:05:32 -05:00
e5be4dba02 Added string literal to analyzer 2023-11-26 17:27:31 -05:00
d0245e4375 Added string literal to parser 2023-11-26 05:16:40 -05:00
e71b9951e9 Fixed scope OverVariables stopping immediately 2023-11-26 04:01:55 -05:00
72941e1ab4 Slight modifications to analyzer 2023-11-21 15:04:01 -05:00
605fd24228 Pass all analyzer tests 2023-11-04 17:59:04 -04:00
a2e22d1154 Fix goofy bugs 2023-10-31 21:52:47 -04:00
dd9f866165 Can now assign array directly to slice 2023-10-31 01:46:18 -04:00
d435a1b1be Removed Void as a concept 2023-10-29 14:47:28 -04:00
ab262207db Fix entity string conversion 2023-10-29 14:34:21 -04:00
359441d5fa Analyze return statement 2023-10-29 14:28:51 -04:00
8751cc7b89 Analyze break statements 2023-10-29 02:59:45 -04:00
68951a3af4 Analyze all the literals 2023-10-28 03:24:17 -04:00
4da8ecd25f More expressions (wip) 2023-10-26 10:43:50 -04:00
0bcc5e7d46 Location expressions 2023-10-24 21:54:59 -04:00
9a7087ab14 Added analysis for numerous types of expressions 2023-10-24 18:29:33 -04:00
ee8eabcfc4 I forgor 2023-10-24 01:34:58 -04:00
5ac046d5b1 Function call analysis 2023-10-20 13:48:05 -04:00
99c09d9b07 Added basic equality checks to types 2023-10-19 21:53:19 -04:00
fc97c3ed49 WIP expression analysis type checking 2023-10-19 19:13:55 -04:00
75c18763a9 New syntax for method calls
This will free up the '::' token for namespace/module access. Exciting!
2023-10-19 17:19:23 -04:00
a80492420e Implement custom lexer FINALLY 2023-10-18 00:48:35 -04:00
decefce142 hngnggg i forgor to commit
- implemented scope management
- finished function signature analyzing
- added method analyzing
  - had to restructure type analysis slightly to do this
2023-10-17 03:11:11 -04:00
8b4244e3cb Booleans are now literals 2023-10-09 00:24:48 -04:00
6f40b6216b Testing ALL the types 2023-10-07 02:27:49 -04:00
07bf334689 the ansalyzer 2023-10-07 01:18:05 -04:00
3570caeb2e Implemented untested type description analysis 2023-10-05 18:27:40 -04:00
1359901847 Even more tests 2023-10-05 16:57:32 -04:00
a77b281979 Updated design document 2023-10-03 18:38:15 -04:00
97bbf048c3 Replace cast and bitcast with ~ and ~~ respectively 2023-10-03 18:20:04 -04:00
212c03c81b Methods are now declared with :: instead of . 2023-09-26 17:19:23 -04:00
c9e7390f06 Added scope information to some entities 2023-09-23 00:48:50 -04:00
57e41e48ff Ok now slices actually 2023-09-22 00:58:06 -04:00
53c0bb7171 Added slicing operation 2023-09-21 17:26:40 -04:00
5b0e9e53cc Added slices because of how extremely important they are 2023-09-21 17:04:53 -04:00