Commit Graph
25 Commits
Author SHA1 Message Date
Ryan Fleury f1f654ecfd eval2: simplify expression parsing info, allow child reversal (for parsing non-canonical expression orders into canonical shapes, e.g. Rust-style casts like 123 as float32 -> cast(float32, 123); ptr/array type operators, etc./ 2026-06-26 13:20:38 -07:00
Ryan Fleury 9491fdf5c2 eval2: split out expression kinds from parse styles of expressions - lets us separate semantic expression tree from frontend, so that we can easily switch frontend 2026-06-26 11:22:43 -06:00
Ryan Fleury bcbc5e4a2a eval2: macro argument expression tree parsing 2026-06-26 10:07:02 -06:00
Ryan Fleury d7393b2f65 eval2: split string -> expr compilation path into frontend / middle end - string -> expr, where expr is a loose structural syntax tree (where we can get macros and stuff without doing typechecking etc.), and expr -> irtree, where irtree is the usual typed / typechecked / ir structured representation - preserve minimal identifier resolution path for parser, but move most resolution things to the middle-end 2026-06-25 15:48:14 -07:00
Ryan Fleury c2b74260ef eval2: opkind -> exprkind, prepare for exprs being looser 2026-06-25 13:58:03 -07:00
Ryan Fleury 6b52d68c62 eval2 checkpoint: type operations, constructed types, checkpoint before splitting back to frontend / compiler split - we need to do things with the parse tree that we can't with an ir tree 2026-06-25 13:50:16 -07:00
Ryan Fleury c1b3461709 eval2: switch to extrusive lists for expression lists - this lets us reuse expression trees. also solve strange isolated unload module events in win32 demon as well 2026-06-25 11:36:18 -06:00
Ryan Fleury 38c1e2a414 eval2: ptr arithmetic & comparisons 2026-06-25 09:07:34 -06:00
Ryan Fleury c817d1f136 eval2: type keys checkpoint 2026-06-24 20:39:53 -07:00
Ryan Fleury 296c851272 eval2 checkpoint: casts, function calls, expression-embedded identifier definitions, ternaries, compile-time ternaries 2026-06-24 16:29:57 -07:00
Ryan Fleury fe2aa4d14c com shim for launching raddbg in cli mode, for proper console subsystem style usage of packaged bin utilities; checkpoint on eval2 2026-06-19 20:12:20 -07:00
Ryan Fleury 3aad389174 notes 2026-06-17 19:30:08 -07:00
Ryan Fleury cc75260946 checkpoint on eval2; type graph operations, parsing, etc. 2026-06-17 17:38:09 -07:00
Ryan Fleury 11b3f25842 checkpoint on eval2 2026-06-16 17:56:48 -07:00
Ryan Fleury 00da627293 checkpoint on eval2 compiler; setting to disable update checking; cache version check to once per day so that we do not send a lot of extra GH requests every time the debugger starts 2026-06-16 14:30:13 -07:00
Ryan Fleury bcdc6acd0e checkpoint on eval2 parse 2026-06-16 12:29:03 -06:00
Ryan Fleury 2b20760386 checkpoint on revised eval system; first pass on interpretation; eliminating all callbacks / eval involvement in contexts/spaces/identifier-resolution/etc. 2026-06-12 13:50:28 -07:00
Ryan Fleury c1cea82ae7 eliminate old eval/type-graph layers 2024-08-06 10:20:37 -07:00
Ryan Fleury e951d788ed fix watch window snap to cursor; begin introducing string literals into eval 2024-08-06 10:19:10 -07:00
Ryan Fleury 3e6b8a3c66 first pass at converting frontend over to using new eval system 2024-08-05 17:05:43 -07:00
Ryan Fleury ba45dd161d complete eval2 first pass 2024-07-30 13:50:27 -07:00
Ryan Fleury d2c363ada2 eval2; ir tree compiler pass, type operations pass 2024-07-30 13:40:24 -07:00
Ryan Fleury 87b9b833d1 multi-module eval; new eval vm 2024-07-29 16:40:36 -07:00
Ryan Fleury ff90223dcb multi-module eval: type graph; eval parser 2024-07-29 16:23:13 -07:00
Ryan Fleury 6bef60b306 begin sketching out new eval layer upgrade, to support (a) many modules, (b) string operations, (c) many address spaces (?) 2024-07-26 16:56:21 -07:00