Commit Graph

50 Commits

Author SHA1 Message Date
Ryan Fleury a95780f2be provide path for explicit cast operator in eval parser; abort trying c-style casts in non-trivial cases (the parse becomes ambiguous, and it is better for us to prefer the usual non-casting path 2025-05-08 11:04:11 -07:00
Ryan Fleury 9ed65c2997 fix sizeof/typeof/bswap expr stringization 2025-04-30 13:42:43 -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 282f6022e1 begin color editing, fix some bugs with meta-type-info disrupting type chain scans 2025-04-26 17:30:34 -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 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 b98f2b153e fix call expr stringification 2025-04-13 16:45:27 -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 ecb3992b93 eval stability tests in tester; tear out last pass' view rule extensions 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 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 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 999eca5e29 more old eval trimming 2025-03-31 15:41:10 -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 2636f296cc simplify stylized watch row building rules; allow buttons to be editable, maintain expr key stability even in different watch row styles 2025-02-17 09:48:26 -08:00
Ryan Fleury 5d8e6dac91 begin working on watch window stylization for file system evaluations 2025-02-16 22:16:59 -08:00
Ryan Fleury 7d84ec79c5 formalize file/folder evaluations; use set-types for files/folders so that we can evaluate both file metadata & contents, rather than just assuming the contents; adjust slice view rule to just expand to the contents, rather than achieving the slice with a changed type 2025-02-16 14:13:48 -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 baa19f3de4 begin introducing 'lookup' hook path in eval ir-tree generation, to collapse/universalize all 'access' operations, such that ., ->, and [] operations can be overridden via view rules, for cfg evaluations, and so on 2025-01-29 16:41:14 -08:00
Ryan Fleury 4cc5f636fe cfg tree collection evaluation 2025-01-27 15:33:35 -08:00
Ryan Fleury b085acbc32 strip out collection type - instead we will implement collections via arrays of exprs which map to meta evals 2025-01-27 11:02:49 -08:00
Ryan Fleury 4371d727fb line expressions in eval lang; begin getting off of entities for breakpoints/watch-pins/etc., move -> cfg 2025-01-17 13:34:18 -08:00
Ryan Fleury d0915ec9a7 eval expressions: unary +, correctly lex exponentiated numerics 2024-10-21 09:23:31 -07:00
Ryan Fleury 5933708bdb fix cacheline boundary visualization & other various fixes in eval / eval viz 2024-10-10 08:13:58 -07:00
Ryan Fleury 9c5d9caa32 pass over help menu; typeof in eval 2024-10-10 07:44:26 -07:00
Ryan Fleury 8e5ebc2d75 memory view fixups for new visualization systems; breakpoint editing work 2024-10-09 13:58:41 -07:00
Ryan Fleury 066f5f6cf2 add correct inheritance rules for oct, hex, dec, bin, only, omit view rules 2024-09-20 16:24:09 -07:00
Ryan Fleury 432e70caf6 begin sketching out 'collections', which are the formal mechanism in the eval/eval-viz systems for visualizing synthetic structures/arrays/trees produced by the debugger, rather than ad-hocing / hardwiring the correct ev-block production for each kind of view - the views can still stay, but this is an important feature for other cases 2024-09-20 12:04:13 -07:00
Ryan Fleury 90273e7a2e bswap view rule 2024-08-27 11:37:27 -07:00
Ryan Fleury cf7b664ab2 bswap expression & ir 2024-08-27 11:35:45 -07:00
Ryan Fleury 5b29f0db47 new expr resolution eval visualization stage; use to implement array & slice view rules 2024-08-27 11:04:22 -07:00
Ryan Fleury 729a4aa1f9 first step to collapsing separate view parameterization path, and just having views be parameterized by evaluation strings 2024-08-23 16:17:19 -07:00
Ryan Fleury 341f9c6cf7 introduce resolution qualifiers to evaluation syntax, to specifically denote resolution to registers, locals, types, etc., or file paths 2024-08-22 15:56:43 -07:00
Ryan Fleury 67a719f2c6 fix parse error visualization; fix invalid cases in eval expression parser 2024-08-20 14:12:40 -07:00
Ryan Fleury 639239d758 convert all eval visualization paths to incrementally building expression trees, rather than using final eval bundles; ensure all evaluation paths, in various circumstances (single line viz, row viz), go through exactly the same path; deduplicate single-row-expr evaluation paths 2024-08-20 12:04:23 -07:00
Ryan Fleury 01cf3d39f1 further progress on using the upgraded eval system; sketch out replacement breakpoints & callstack views, which are just specializations of watch window 2024-08-15 14:34:47 -07:00
Ryan Fleury 33fe9ba485 formally support hresult codes as distinct from handles in debug info & visualization 2024-08-14 13:48:09 -07:00
Ryan Fleury 07c4e6ee87 evaluation compiler debug tooltip visualizer 2024-08-13 15:41:01 -07:00
Ryan Fleury c64d207d4d finish sketching out complex synthetic type construction; tear out unneeded leaf external evaluation (we can just use the macro map & separate address spaces); sketch out scaffolding for a thread evaluation type 2024-08-13 13:40:14 -07:00
Ryan Fleury 6d30455e76 further progress on eliminating file entities; further entity simplification; set up external identifier resolution map for evaluating 'meta' variables; sketch out generalized entity serialization path 2024-08-13 11:39:25 -07:00
Ryan Fleury c1cea82ae7 eliminate old eval/type-graph layers 2024-08-06 10:20:37 -07:00
Ryan Fleury 3cc51038df os_core: linux port for memory, thread info, filesystem apis 2024-07-16 13:24:54 -07:00
Ryan Fleury f50b54cff7 complete metacodification of rdi format info into tables 2024-06-01 19:24:46 -07:00
Ryan Fleury dd0416f9f9 fix nil expressions mapping to valid expression kinds, thus implying children nodes 2024-02-23 11:18:53 -08:00
Ryan Fleury 9c7fd0a411 metagen: simplify & straighten out table generation further; raddbgi_cons: fix incorrect str8_list_join 2024-02-13 11:38:43 -08:00
Ryan Fleury 742d2387e2 metagen: simplify metacode structs 2024-02-13 11:00:58 -08:00
Ryan Fleury ea840a71e8 metagen: simplify enum generation; reading/organization pass over raddbgi_from_pdb 2024-02-13 10:55:06 -08:00
Ryan Fleury 95a6579f89 expand eval machine interpretation error codes; visualize 2024-02-08 10:28:41 -08:00
Ryan Fleury 6296d2bd96 first pass of watch window macros; fix active-but-disabled line edit rendering; other minor fixes 2024-02-06 11:47:52 -08:00
Ryan Fleury a42ec6aeff initial upload 2024-01-10 19:57:50 -08:00