8000 debug: Naming schemes for frames, functions, globals, and registers · Issue #1294 · GaloisInc/crucible · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

debug: Naming schemes for frames, functions, globals, and registers #1294

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
langston-barrett opened this issue Feb 6, 2025 · 0 comments

Comments

@langston-barrett
Copy link
Contributor

Various commands might want to refer to an active frame, function, global, or register. For example:

  • frame could take the name of an active frame as an argument
  • reg could further qualify value names by the frame they are in, so that it could print values in previous frames
  • call could take value names and use those values as arguments when calling the CFG

Here's a sketch of a syntax that would preserve the ability to easily distinguish between such names when parsing:

  • Function names are prefixed with @, just like in crucible-syntax.
  • Globals names are prefixed with $$, just like in crucible-syntax.
  • Frames can be refered to by index in the call stack, with -0 for the current frame, -1 for the parent frame, etc.
  • Frames can also be refered to by function name, perhaps with a prefix like !
  • Registers can be refered to by <frame-name>:<N> for a nonnegative numeral N, or just N for the current frame.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant
0