Commit Graph

88 Commits

Author SHA1 Message Date
Ryan Fleury 0cdcb06db8 fix some edge cases in new casting compilation, fix some old usage of cast expr trees 2025-04-28 12:11:38 -07:00
Ryan Fleury c62ad20a9a switch cast expressions from being formally represented in the expression tree - instead use cast-like tree shapes to perform casts in the ir/typechecking phase. this is odd, given C's casting syntax, but it is much more natural given that the parser is not any longer doing identifier resolution, and as such it fixes a bunch of nasty edge cases. 2025-04-28 11:50:23 -07:00
Ryan Fleury 9bb592786a eliminate all old evaluation bundled helpers, eliminate old fragmented eval caches; move all to unified evaluation cache 2025-04-24 09:07:29 -07:00
Ryan Fleury ba29350939 parse cache, ir-tree cache 2025-04-23 16:00:23 -07:00
Ryan Fleury a27b90a3f9 eliminate separate expr -> type path (this is just done via ir tree generation now), eliminate helper for locating defines & pushing to macro maps 2025-04-23 12:04:50 -07:00
Ryan Fleury c766ffe0a3 kill old code 2025-04-23 11:55:58 -07:00
Ryan Fleury 264dbc8199 deduplication from evaluation ctxs - just have base ctx with deduplicated info, then separate type-state, ir-ctx, and interpretation-ctx 2025-04-23 11:49:44 -07:00
Ryan Fleury 0ce9925ba6 pipe through parent expression string info through expr -> string generation path, so we can correctly generate standalone expression strings in the presence of $ (parent shortcuts) 2025-04-21 11:54:55 -07:00
Ryan Fleury b9ef453a14 eval visualization - allow chained expressions to cause multiple child expansion blocks; begin work on unified lister watch window 2025-04-15 16:27:44 -07:00
Ryan Fleury 85f715f2ba revert to single expression from parse, but keep chains as implicit extension to expressions; use chained expressions to look up shorthands for hex, dec, bin, array counts, etc. 2025-04-15 13:07:59 -07:00
Ryan Fleury b34c70a247 begin merging view state / view parameterizations - unify code for introspecting on each, thus allowing explicit parameterizations of view state via a lens call. also build out the path from an eval -> cfg tree 2025-04-14 12:49:47 -07:00
Ryan Fleury b98f2b153e fix call expr stringification 2025-04-13 16:45:27 -07:00
Ryan Fleury c7a3a73b63 fix incorrect story for chained lens calls; fix possibly-overridden usage of lens calls in ui build 2025-04-10 14:29:57 -07:00
Ryan Fleury fbe747a8b4 further work on convergence, dead code elimination, and lens (view rule) calls 2025-04-10 14:29:57 -07:00
Ryan Fleury 7c0a37fef3 boil down expr/irtree/type -> lookup_rule mapping more - since lens arguments are now stored in type info, we no longer need other ways of smuggling through expression trees. also fill out new path of pointer eval single-line string generation. 2025-04-10 14:29:56 -07:00
Ryan Fleury ecb3992b93 eval stability tests in tester; tear out last pass' view rule extensions 2025-04-10 14:29:55 -07:00
Ryan Fleury 710828c67d checkpoint in switching to new call-style of view rules for everything 2025-04-10 14:29:55 -07:00
Ryan Fleury 95df14bc20 eliminate old short-circuit from leaf-numeric expr tree generation path 2025-04-02 15:25:14 -07:00
Ryan Fleury 6113a2e3db eval: do simplification pass over identifier resolution, shift from parsing stage -> ir generation / typechecking stage; do simplifications over expr tree, eliminate redundant kinds 2025-04-02 14:30:12 -07:00
Ryan Fleury b2ae4d89d7 eval: re-slice helper map data structures -> core 2025-04-02 11:08:27 -07:00
Ryan Fleury 190b74f411 shift first-class basic type names to more widely-used names (int32 instead of S32, etc.); force match of any debugger-known basic type name -> key, do not settle for bogus aliases from debug info 2025-04-01 16:04:57 -07:00
Ryan Fleury a5d6e8a335 make eval ctxs more robust to missing info, e.g. in the test harness case 2025-03-31 13:48:19 -07:00
Ryan Fleury 17ff4da9bf more eval scratch work 2025-03-31 13:09:30 -07:00
Ryan Fleury 1adf280354 delete dead code in eval 2025-03-31 11:02:17 -07:00
Ryan Fleury ef1685adc9 pass over cfg meta evaluations; instead of forming artificial 'eval blob', just use sets/queries/hooks to do the lookups. eliminate cfg -> eval blob cache. switch to 'enabled' rather than 'disabled' as the cfg default. more convergences/fixes/tweaks. 2025-03-25 13:49:59 -07:00
Ryan Fleury 1b4a5e529f more convergence / fixes relating to searching/queries/filters 2025-02-21 16:33:57 -08:00
Ryan Fleury 13bfa42acf more work on watch-window-driven file lister 2025-02-20 14:49:25 -08:00
Ryan Fleury f61d87e0ce extend command info with query expressions for lister 2025-02-19 17:09:48 -08:00
Ryan Fleury c603457460 dead code deletion, begin extending eval/eval-viz to work on expr-chains rather than single expressions; fixes / convergence for watch window 2025-02-15 18:11:22 -08:00
Ryan Fleury af8f1ff162 frontend cleanups, cmd running from watch 2025-02-13 21:33:40 -08:00
Ryan Fleury 863d98c43e do the same reuse of the computed irtree for array-index expr extensions 2025-02-13 08:13:53 -08:00
Ryan Fleury 50b195deb3 eliminate member-expr-extension irtree/oplist/etc. recomputations; just convert lhs irtree to bytecode and attach that to new expr as a leaf bytecode 2025-02-13 06:51:50 -08:00
Ryan Fleury 6c37db2105 more inline visualization; do not require qualifier if view rule names collide with locals 2025-02-11 16:36:20 -08:00
Ryan Fleury 4b85df0725 fix expr chain parsing; fix panel tree building 2025-02-10 09:44:32 -08:00
Ryan Fleury 3de43b8c74 view params, pulled either from cfg trees or view rule params (tag calls); expr chain parsing; correctly use tags in nested single-line eval visualization 2025-02-07 15:20:19 -08:00
Ryan Fleury 412c55a474 plug in visualizer view ui rules in new eval viz code; cfg-tree/vocab-driven tab titles 2025-02-07 11:40:49 -08:00
Ryan Fleury 295778f1ca eval: prohibit identifier overrides in macro maps; raddbg: correctly mark dirty state & recompute given watch window mutations; do not escape unquoted value eval strings 2025-02-06 11:17:42 -08:00
Ryan Fleury be039496c7 rd: watch window editability progress, implicit root vis rules; eval: fix call args parser 2025-02-06 09:15:13 -08:00
Ryan Fleury afd113adcc rd: derive schema tree parse on startup rather than recomputing every time 2025-02-04 12:16:28 -08:00
Ryan Fleury b9756d222a eval: sketch out parse/ir cache 2025-02-04 10:29:52 -08:00
Ryan Fleury 9a405bee20 eval: lookup info hook -> just pass irtree, do not recompute; cache for type-key -> auto hook tag exprs; use tags/auto-tags in lookup rule for . operator; fix tag poisoning in ir generation pass; cache for type-key -> unpacked type info; replace all unpacked type info paths with cache usage 2025-02-03 13:21:08 -08:00
Ryan Fleury 6f4533d8f5 rd: new ctrl entity meta evaluation path; ctrl entity meta evaluation cache; eval: auto-view-rules (via 'auto hook map'), + support for 'type patterns', e.g. for templates; ir generation / typechecking hook application + source-tag coloring (to avoid infinite recursion of repeatedly-applied auto view rules 2025-02-02 17:08:14 -08:00
Ryan Fleury eab5c7c971 eval_visualization: eliminate expansion-range hook; move expansions & block tree building completely to new eval hooks for lookups 2025-02-02 14:39:43 -08:00
Ryan Fleury 07c9268941 eval: specify formal way in which tags (view rules) can fit into expression language, both in parsing & in structure; introduce ir-generation hook step in eval pipeline, transfer most of the default non-vbisualization view rule features to that layer 2025-02-01 20:50:31 -08:00
Ryan Fleury 94f0ae660f fix bytecode size calculation bug 2024-12-29 16:02:54 -08:00
Ryan Fleury 6d55d21643 fix clang builds 2024-11-01 15:22:26 -07:00
Ryan Fleury 4769d0a8d4 narrow scope of name resolution for debugger collections; default launching to not attach to child processes, set up msgs to parameterize this 2024-10-28 15:37:28 -07:00
Ryan Fleury d0915ec9a7 eval expressions: unary +, correctly lex exponentiated numerics 2024-10-21 09:23:31 -07:00
Ryan Fleury 23ad094a68 allow escaped-identifier lookup for type names 2024-10-17 10:46:14 -07:00
Ryan Fleury ba0e4ea0c5 fix cross-module global evaluation with new multi-module-capable eval system 2024-10-13 19:25:42 -07:00