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

Construct C-AST from Radeco-IR #156

Closed
kriw opened this Issue May 22, 2018 · 4 comments

Comments

Projects
None yet
3 participants
@kriw
Collaborator

kriw commented May 22, 2018

No description provided.

@kriw

This comment has been minimized.

Collaborator

kriw commented May 24, 2018

I will read these papers,

  1. Assembly to High-Level Language Translation
  2. Native x86 Decompilation using Semantics-Preserving Structural Analysis
    and Iterative Control-Flow Structuring
  3. No more gotos

I am planning to implement variable, statement recovering, but will not implement control-flow structuring because @HMPerson1 will do that.
Although the above things are mostly for control-flow structuring, it will probably help me to make implementation compatible.

@kriw

This comment has been minimized.

Collaborator

kriw commented Jun 12, 2018

TODOs

  • Recover if, goto statements
  • Determine local variables from ssa nodes and RadecoFunction
  • Replace dummy expressions with local variables/registers
  • Recover function call
  • Splitting into modules
  • Unit tests
    • SimpleCAST
    • CASTBuilder

@XVilka XVilka added this to the Radeco-0.1 milestone Jul 16, 2018

@HMPerson1

This comment has been minimized.

Collaborator

HMPerson1 commented Jul 16, 2018

Are we going to use backend::lang_c::c_ast at all? Or are we going to be generating C code text from the AST in backend::ctrl_flow_struct directly?

@kriw

This comment has been minimized.

Collaborator

kriw commented Jul 16, 2018

I am thinking to convert back to SimpleCAST from AST which is generated from backend::ctrl_flow_sturct.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment