public static class

EPatternCompiler.EPattern

extends Object
java.lang.Object
   ↳ com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.compiler.EPatternCompiler.EPattern

Class Overview

IR expression multi-pattern, consisting of one or more inputs, and zero or one output (for replacement).

 Special BOL characters:
 > at beginning of line indicates the trigger (if unspecified,
   the most appropriate trigger statement will be determined heuristically)
 X at beginning of line indicates that the input expression should not be
   discarded during a replacement (if any). It can only be used for leading
   and trailing statements of an input pattern. Gaps are not allowed.
 
 Triggers for leaves:
 @ any (terminal, non-terminal)
 T terminals (in practice, should not be used)
 $ var, imm
 V var
 # imm
 

Summary

Nested Classes
class EPatternCompiler.EPattern.P Internal multi-pattern holding an input or output pattern block. 
Public Methods
EPatternCompiler.EPattern addInput(int flags, String... strings)
EPatternCompiler.EPattern addInput(String... strings)
static EPatternCompiler.EPattern cc(String... inputStrings)
Convenience method to quickly create and compile a single-input, no-output pattern.
static EPatternCompiler.EPattern cc(int inputFlags, String... inputStrings)
Convenience method to quickly create and compile a single-input, no-output pattern.
EPatternCompiler.EPattern compile(int flags)
EPatternCompiler.EPattern compile(EPatternCompiler compiler)
EPatternCompiler.EPattern compile()
static EPatternCompiler.EPattern create(String name)
static EPatternCompiler.EPattern create()
IEPatternReplacer getCustomReplacer()
EPatternCompiler.EPattern.P getInput(int index)
List<EPatternCompiler.EPattern.P> getInputs()
EPatternCompiler.EPattern.P getOutput()
IEMatchVerifier getVerifier()
boolean hasOutput()
boolean isCompiled()
boolean isPureInputExpression()
EPatternCompiler.EPattern setCustomReplacer(IEPatternReplacer replacer)
EPatternCompiler.EPattern setInput(int flags, String str)
EPatternCompiler.EPattern setInput(String str)
EPatternCompiler.EPattern setOutput(String... strings)
EPatternCompiler.EPattern setOutput(int flags, String... strings)
EPatternCompiler.EPattern setVerifier(IEMatchVerifier verifier)
String toString()
[Expand]
Inherited Methods
From class java.lang.Object

Public Methods

public EPatternCompiler.EPattern addInput (int flags, String... strings)

public EPatternCompiler.EPattern addInput (String... strings)

public static EPatternCompiler.EPattern cc (String... inputStrings)

Convenience method to quickly create and compile a single-input, no-output pattern.

public static EPatternCompiler.EPattern cc (int inputFlags, String... inputStrings)

Convenience method to quickly create and compile a single-input, no-output pattern.

public EPatternCompiler.EPattern compile (int flags)

public EPatternCompiler.EPattern compile (EPatternCompiler compiler)

public EPatternCompiler.EPattern compile ()

public static EPatternCompiler.EPattern create (String name)

public static EPatternCompiler.EPattern create ()

public IEPatternReplacer getCustomReplacer ()

public EPatternCompiler.EPattern.P getInput (int index)

public List<EPatternCompiler.EPattern.P> getInputs ()

public EPatternCompiler.EPattern.P getOutput ()

public IEMatchVerifier getVerifier ()

public boolean hasOutput ()

public boolean isCompiled ()

public boolean isPureInputExpression ()

public EPatternCompiler.EPattern setCustomReplacer (IEPatternReplacer replacer)

public EPatternCompiler.EPattern setInput (int flags, String str)

public EPatternCompiler.EPattern setInput (String str)

public EPatternCompiler.EPattern setOutput (String... strings)

public EPatternCompiler.EPattern setOutput (int flags, String... strings)

public EPatternCompiler.EPattern setVerifier (IEMatchVerifier verifier)

public String toString ()