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

Public Member Functions

void ruleError (const char *s)
 
int4 numErrors (void) const
 
int4 getLineNo (void)
 
void setFullRule (ConstraintGroup *full)
 
ConstraintGroup * getRule (void)
 
ConstraintGroup * releaseRule (void)
 
const map< string, int4 > & getNameMap (void) const
 
int4 findIdentifier (string *nm)
 
ConstraintGroup * newOp (int4 id)
 
ConstraintGroup * newVarnode (int4 id)
 
ConstraintGroup * newConst (int4 id)
 
ConstraintGroup * opCopy (ConstraintGroup *base, int4 opid)
 
ConstraintGroup * opInput (ConstraintGroup *base, int8 *slot, int4 varid)
 
ConstraintGroup * opInputAny (ConstraintGroup *base, int4 varid)
 
ConstraintGroup * opInputConstVal (ConstraintGroup *base, int8 *slot, RHSConstant *rhs)
 
ConstraintGroup * opOutput (ConstraintGroup *base, int4 varid)
 
ConstraintGroup * varCopy (ConstraintGroup *base, int4 varid)
 
ConstraintGroup * varConst (ConstraintGroup *base, RHSConstant *ex, RHSConstant *sz)
 
ConstraintGroup * varDef (ConstraintGroup *base, int4 opid)
 
ConstraintGroup * varDescend (ConstraintGroup *base, int4 opid)
 
ConstraintGroup * varUniqueDescend (ConstraintGroup *base, int4 opid)
 
ConstraintGroup * opCodeConstraint (ConstraintGroup *base, vector< OpCode > *oplist)
 
ConstraintGroup * opCompareConstraint (ConstraintGroup *base, int4 opid, OpCode opc)
 
ConstraintGroup * varCompareConstraint (ConstraintGroup *base, int4 varid, OpCode opc)
 
ConstraintGroup * constCompareConstraint (ConstraintGroup *base, int4 constid, OpCode opc)
 
ConstraintGroup * constNamedExpression (int4 id, RHSConstant *expr)
 
ConstraintGroup * emptyGroup (void)
 
ConstraintGroup * emptyOrGroup (void)
 
ConstraintGroup * mergeGroups (ConstraintGroup *a, ConstraintGroup *b)
 
ConstraintGroup * addOr (ConstraintGroup *base, ConstraintGroup *newor)
 
ConstraintGroup * opCreation (int4 newid, OpCode oc, bool iafter, int4 oldid)
 
ConstraintGroup * newUniqueOut (ConstraintGroup *base, int4 varid, int4 sz)
 
ConstraintGroup * newSetInput (ConstraintGroup *base, RHSConstant *slot, int4 varid)
 
ConstraintGroup * newSetInputConstVal (ConstraintGroup *base, RHSConstant *slot, RHSConstant *val, RHSConstant *sz)
 
ConstraintGroup * removeInput (ConstraintGroup *base, RHSConstant *slot)
 
ConstraintGroup * newSetOpcode (ConstraintGroup *base, OpCode opc)
 
ConstraintGroup * booleanConstraint (bool ist, RHSConstant *expr)
 
RHSConstant * constNamed (int4 id)
 
RHSConstant * constAbsolute (int8 *val)
 
RHSConstant * constBinaryExpression (RHSConstant *ex1, OpCode opc, RHSConstant *ex2)
 
RHSConstant * constVarnodeSize (int4 varindex)
 
RHSConstant * dotIdentifier (int4 id, string *str)
 
int4 nextToken (void)
 
void setErrorStream (ostream &t)
 
void run (istream &s, bool debug)
 
void postProcess (void)
 
int4 postProcessRule (vector< OpCode > &opcodelist)
 

Static Public Member Functions

static ConstraintGroup * buildUnifyer (const string &rule, const vector< string > &idlist, vector< int4 > &res)
 

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