Class DebuggerPcodeUtils.LabelBoundPcodeParser

java.lang.Object
ghidra.pcodeCPort.slgh_compile.PcodeCompile
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.
  • 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 context
      current - the current address for the "." symbol
      mode - the mode for parsing integer literals and ids
  • Method Details

    • newSleighLexer NEW

      protected SleighLexer newSleighLexer(org.antlr.runtime.CharStream input)
      Overrides:
      newSleighLexer in class PcodeParser
    • newSleighCompiler NEW

      protected SleighCompiler newSleighCompiler(org.antlr.runtime.tree.CommonTreeNodeStream nodes)
      Overrides:
      newSleighCompiler in class PcodeParser
    • createSleighConstant MODIFIED

      protected ghidra.pcodeCPort.slghsymbol.VarnodeSymbol createSleighConstant(String sourceName, String nm, Address address)
      return type: SleighSymbol → VarnodeSymbol
      -ghidra.pcodeCPort.slghsymbol.SleighSymbol createSleighConstant(java.lang.String sourceName, java.lang.String nm, ghidra.program.model.address.Address address)
      +ghidra.pcodeCPort.slghsymbol.VarnodeSymbol createSleighConstant(java.lang.String sourceName, java.lang.String nm, ghidra.program.model.address.Address address)
    • parseIntegerLiteral NEW

      public RadixBigInteger parseIntegerLiteral(Location loc, String text)
      Overrides:
      parseIntegerLiteral in class PcodeParser
    • getDefaultConstantSize NEW

      public int getDefaultConstantSize()
      Overrides:
      getDefaultConstantSize in class PcodeParser
    • tryIntegerLiteral NEW

      public ghidra.pcodeCPort.slghsymbol.SleighSymbol tryIntegerLiteral(Location loc, String nm, boolean check)
    • findSymbol NEW

      public ghidra.pcodeCPort.slghsymbol.SleighSymbol findSymbol(Location loc, String nm)
      Overrides:
      findSymbol in class PcodeParser
    • tryMap

      protected ghidra.pcodeCPort.slghsymbol.SleighSymbol tryMap(String nm, Trace trace, long snap, Program program, Symbol symbol, Address addr, List<ghidra.pcodeCPort.slghsymbol.SleighSymbol> externals)
    • tryExternalLinkage

      protected ghidra.pcodeCPort.slghsymbol.SleighSymbol tryExternalLinkage(String nm, Trace trace, long snap, Program program, Symbol symbol, List<ghidra.pcodeCPort.slghsymbol.SleighSymbol> externals)
    • findUserSymbol

      protected ghidra.pcodeCPort.slghsymbol.SleighSymbol findUserSymbol(String nm)