Commit Graph

257 Commits

Author SHA1 Message Date
Ryan Fleury 83e59bb0c0 fix incorrect resolution to type-mode evaluation with dereference ops 2025-04-21 16:57:27 -07:00
Ryan Fleury 1c71b89387 eval irgen: allow ,length fastpath for array types as well 2025-04-21 16:55:46 -07:00
Ryan Fleury 4fe602521a fix pointer dereference path in type-mode evaluation; carve out exception for lens visualization with string-pointers - in that case, we just want to apply a string size limitation & go to the regular string path; begin getting off old color slots 2025-04-21 16:49:02 -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 7946e938c0 raw -> walk chain of overridden irtrees, since we want to strip 100% of all overrides/hooks/etc. 2025-04-21 11:46:03 -07:00
Ryan Fleury e30df5122a first half of cell rendering pass 2025-04-18 17:15:57 -07:00
Ryan Fleury ff35db0e16 more eval type operators for metadata decorations; fix target environment string list evaluation / edits 2025-04-18 13:48:31 -07:00
Ryan Fleury ddf0703b02 fix scroll bar size in watch views with changed font size, fix type evaluations 2025-04-18 11:03:40 -07:00
Ryan Fleury f3974b2af7 only/omit; disallow chained fastpaths (vs-style ,x ; ,b; ,count) in nested irtree generations 2025-04-17 15:36:43 -07:00
Ryan Fleury 751f3708e7 interval lens, to generate an expansion of N things, to use w/ tables 2025-04-17 13:46:06 -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 923f55fb2b correctly treat chains of lenses when looking up type hooks; allow type-evaluations when producing per-cell evaluations 2025-04-15 14:18:21 -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 e27f31cfa4 adjust meta-expr type visualization; unify 'type unwrapping' paths, instead of nest of various 'scanners', we just have one path which we parameterize via bits to skip what each path needs 2025-04-15 11:35:49 -07:00
Ryan Fleury db381db85d meta-expr type operators, for meta-evaluations, to annotate source expression strings of evaluations 2025-04-14 15:21:46 -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 ee0c1b25c3 eval ir generation: adjust autohook-allowance to be a stack, and correctly disable it for all sub-evaluations when using a raw lens, such that autohooks do not apply for evaluation of the parameter (e.g. raw(foo) -> foo, without allowing mapping of foo to something else) 2025-04-14 11:07:18 -07:00
Ryan Fleury b98f2b153e fix call expr stringification 2025-04-13 16:45:27 -07:00
Ryan Fleury d894f7112f array view rule 2025-04-12 07:55:19 -07:00
Ryan Fleury 3f69b028e4 fix ptr-to-ptr expansions 2025-04-12 07:34:27 -07:00
Ryan Fleury 64187e75eb slider extension to built-in cell controls (similar to toggle-switch) 2025-04-11 16:21:47 -07:00
Ryan Fleury e754380caa eval identifier resolution: allow implicitly mapping leaf identifiers to member accesses of overridden irtree 2025-04-11 15:02:54 -07:00
Ryan Fleury 2e8bca21f6 strip out only/omit - i think they are insufficient for long-term filtering stuff... 2025-04-11 14:41:15 -07:00
Ryan Fleury 3e49e92e98 only and omit; notes & dead code deletion 2025-04-11 14:16:48 -07:00
Ryan Fleury abd33f7160 new (and successful :) ) story for 'parent/overridden irtrees'. basically, if we have a rule which maps some eval X's type from A -> B, we preserve the original ir-tree compilation of A in the 'history' when we inevitably produce the ir-tree compilation of B. this can be used for accesses on overridden evaluations, and it allows us to implement $ in auto view rules. 2025-04-11 11:58:43 -07:00
Ryan Fleury 9622bc8808 fix calls to parent tree experiment 2025-04-11 11:26:01 -07:00
Ryan Fleury b60329c817 eliminate view rule column; eliminate 'parent irtree' experiment, need to do something else 2025-04-11 11:25:16 -07:00
Ryan Fleury 59df09b39b re-enable auto view rules in mule 2025-04-10 16:53:36 -07:00
Ryan Fleury 297c576623 irtree parent experiment (failed) 2025-04-10 16:20:52 -07:00
Ryan Fleury b7e12f900c eliminate dead code 2025-04-10 15:19:58 -07:00
Ryan Fleury 0dd0f1b8bc rephrase type irgen hook -> irext, to eliminate cases where it'd be very easy to accidentally cause infinite recursion of ir generation (e.g. slice(x) requiring evaluation of 'lhs.count', where lhs == slice(x)). also bring back slice hooks 2025-04-10 15:19:29 -07:00
Ryan Fleury 4a69b8e57a type decoration to explicitly disable string visualization; use in registers & padding members; eliminate dead code 2025-04-10 14:29:58 -07:00
Ryan Fleury c05c21cfa4 lens inheritance-on-expansion, composability with lens types & accesses (dot operator, array index operator), plugging in visualizers, killing dead code, etc. 2025-04-10 14:29:58 -07:00
Ryan Fleury 8dd8eaa507 more work on lens-wrapped expressions composability w/ default expansions, operators, etc. 2025-04-10 14:29:58 -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 cde079a14d checkpoint in moving to new type-based view rule / synthetic structure hooks 2025-04-10 14:29:57 -07:00
Ryan Fleury c938a6fcfa next checkpoint; eval/type-hooks for registers, locals, files/folders, cfgs 2025-04-10 14:29:57 -07:00
Ryan Fleury d3f0a9a672 checkpoint in moving from old lookup hooks -> new type hooks; elimination of unnecessary recomputation of ir-trees/evals, just use information in already-computed evals 2025-04-10 14:29:56 -07:00
Ryan Fleury fbd78525d2 sketch out new eval type-system-defined hooks for all eval-layer view rules; accesses (., [] operators), expansion ranges, id <-> num mapping 2025-04-10 14:29:56 -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 9bfa4f87e3 work on new eval-viz layer stringification which factors out measurement/limiting/etc., but just walks an eval tree and stringifies each part; start working on new types <-> lookup-rule stuff 2025-04-10 14:29:56 -07:00
Ryan Fleury b1f17b217c checkpoint - extend constructed types w/ expression arguments, new 'lens' type operator, which can wrap evaluations of other types, + provide a name/args. e.g., bitmap(256, 256) <- (uint8 *), as a well-formed type. this also is the first step to collapsing all 'expression introspection' paths, and making sure they all compose properly. 2025-04-10 14:29:56 -07:00
Ryan Fleury da69d9e91c more progress on new eval/view-rule integration; raddbg_entry_point markup feature 2025-04-10 14:29:55 -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 0705ba0a96 begin plugging in view rules as formal call part of expression language 2025-04-07 08:01:33 -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 c6add5f8f0 fix incorrect type name short-circuit check 2025-04-02 15:12:32 -07:00
Ryan Fleury 9bf69afd0b eval: procedure, type, thread-variable name mapping; sketch out implicit member access path 2025-04-02 15:07:35 -07:00