Class DebuggerPcodeUtils.LabelBoundPcodeParser
java.lang.Object
ghidra.pcodeCPort.slgh_compile.PcodeCompile
ghidra.program.model.lang.PcodeParser
ghidra.pcode.exec.SleighProgramCompiler.ErrorCollectingPcodeParser
ghidra.pcode.exec.DebuggerPcodeUtils.LabelBoundPcodeParser
- Enclosing class:
DebuggerPcodeUtils
public static class DebuggerPcodeUtils.LabelBoundPcodeParser
extends SleighProgramCompiler.ErrorCollectingPcodeParser
A p-code parser that can resolve labels from a trace or its mapped programs.
-
Nested Class Summary
Nested classes/interfaces inherited from class PcodeParser
PcodeParser.PcodeTranslate -
Field Summary
Fields inherited from class ghidra.pcodeCPort.slgh_compile.PcodeCompile
log, noplist -
Constructor Summary
ConstructorsConstructorDescriptionLabelBoundPcodeParser(ServiceProvider provider, DebuggerCoordinates coordinates, Address current, SleighUtils.LitIdMode mode) Construct a parser bound to the given coordinates -
Method Summary
Modifier and TypeMethodDescriptionprotected ghidra.pcodeCPort.slghsymbol.VarnodeSymbolcreateSleighConstant(String sourceName, String nm, Address address) ghidra.pcodeCPort.slghsymbol.SleighSymbolfindSymbol(Location loc, String nm) protected ghidra.pcodeCPort.slghsymbol.SleighSymbolfindUserSymbol(String nm) intprotected SleighCompilernewSleighCompiler(org.antlr.runtime.tree.CommonTreeNodeStream nodes) protected SleighLexernewSleighLexer(org.antlr.runtime.CharStream input) parseIntegerLiteral(Location loc, String text) protected ghidra.pcodeCPort.slghsymbol.SleighSymboltryExternalLinkage(String nm, Trace trace, long snap, Program program, Symbol symbol, List<ghidra.pcodeCPort.slghsymbol.SleighSymbol> externals) ghidra.pcodeCPort.slghsymbol.SleighSymboltryIntegerLiteral(Location loc, String nm, boolean check) protected ghidra.pcodeCPort.slghsymbol.SleighSymboltryMap(String nm, Trace trace, long snap, Program program, Symbol symbol, Address addr, List<ghidra.pcodeCPort.slghsymbol.SleighSymbol> externals) Methods inherited from class SleighProgramCompiler.ErrorCollectingPcodeParser
compilePcode, reportError, reportWarningMethods inherited from class PcodeParser
addOperand, addSymbol, allocateTemp, clearSymbols, createCrossBuild, createMacroUse, enterSection, finalNamedSection, firstNamedSection, getConstantSpace, getDefaultSpace, getNextTempOffset, getSleigh, getUniqueSpace, newSectionSymbol, nextNamedSection, recordNop, standaloneSection, translateConstructTpl, translateConstTpl, translateHandleTpl, translateOpTpl, translateVarnodeTplMethods inherited from class ghidra.pcodeCPort.slgh_compile.PcodeCompile
addressOf, appendOp, assignBitRange, buildTemporary, buildTruncatedVarnode, createBitRange, createLoad, createOp, createOp, createOpConst, createOpNoOut, createOpNoOut, createOpOut, createOpOutUnary, createStore, createUserOp, createUserOpNoOut, createVariadic, defineLabel, entry, fillinZero, findInternalFunction, getErrors, getWarnings, isInternalFunction, matchSize, newLocalDefinition, newLocalDefinition, newOutput, newOutput, placeLabel, propagateSize, resetLabelCount, setEnforceLocalKey, setResultStarVarnode, setResultVarnode
-
Constructor Details
-
LabelBoundPcodeParser
public LabelBoundPcodeParser(ServiceProvider provider, DebuggerCoordinates coordinates, Address current, SleighUtils.LitIdMode mode) Construct a parser bound to the given coordinates- Parameters:
provider- the service provider (usually the tool)coordinates- the current coordinates for contextcurrent- the current address for the "." symbolmode- the mode for parsing integer literals and ids
-
-
Method Details
-
newSleighLexer
- Overrides:
newSleighLexerin classPcodeParser
-
newSleighCompiler
- Overrides:
newSleighCompilerin classPcodeParser
-
createSleighConstant
-
parseIntegerLiteral
- Overrides:
parseIntegerLiteralin classPcodeParser
-
getDefaultConstantSize
public int getDefaultConstantSize()- Overrides:
getDefaultConstantSizein classPcodeParser
-
tryIntegerLiteral
-
findSymbol
- Overrides:
findSymbolin classPcodeParser
-
tryMap
-
tryExternalLinkage
-
findUserSymbol
-