Ghidra Decompiler Analysis Engine
Public Member Functions | List of all members
SleighBuilder Class Reference

Build p-code from a pre-parsed instruction. More...

#include <sleigh.hh>

Inheritance diagram for SleighBuilder:
Inheritance graph
[legend]
Collaboration diagram for SleighBuilder:
Collaboration graph
[legend]

Public Member Functions

 SleighBuilder (ParserWalker *w, DisassemblyCache *dcache, PcodeCacher *pc, AddrSpace *cspc, AddrSpace *uspc, uint4 umask)
 Constructor. More...
 
virtual void appendBuild (OpTpl *bld, int4 secnum)
 
virtual void delaySlot (OpTpl *op)
 
virtual void setLabel (OpTpl *op)
 
virtual void appendCrossBuild (OpTpl *bld, int4 secnum)
 
- Public Member Functions inherited from PcodeBuilder
 PcodeBuilder (uint4 lbcnt)
 
uint4 getLabelBase (void) const
 
ParserWalkergetCurrentWalker () const
 
void build (ConstructTpl *construct, int4 secnum)
 

Additional Inherited Members

- Protected Attributes inherited from PcodeBuilder
ParserWalkerwalker
 

Detailed Description

Build p-code from a pre-parsed instruction.

Through the build() method, this walks the parse tree and prepares data for final emission as p-code. (The final emitting is done separately through the PcodeCacher.emit() method). Generally, only p-code for one instruction is prepared. But, through the delay-slot mechanism, build() may recursively visit additional instructions.

Constructor & Destructor Documentation

◆ SleighBuilder()

SleighBuilder::SleighBuilder ( ParserWalker w,
DisassemblyCache dcache,
PcodeCacher pc,
AddrSpace cspc,
AddrSpace uspc,
uint4  umask 
)

Constructor.

Parameters
wis the parsed instruction
dcacheis a cache of nearby instruction parses
pcwill hold the PcodeData and VarnodeData objects produced by this builder
cspcis the constant address space
uspcis the unique address space
umaskis the mask to use to find unique bits within an Address

The documentation for this class was generated from the following files: