Package ghidra.program.model.lang

# Interface ProgramArchitecture

All Known Subinterfaces:
  `InternalTracePlatform`, `Program`, `TraceProgramView`, `TraceVariableSnapProgramView`

All Known Implementing Classes:
  `DBTraceGuestPlatform`, `DBTracePlatformManager.DBTraceHostPlatform`, `DBTraceProgramView`, `DBTraceVariableSnapProgramView`, `ProgramDB`

public interface ProgramArchitecture
`ProgramArchitecture` which identifies program architecture details required to utilize language/compiler-specific memory and variable storage specifications.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `AddressFactory`
  `getAddressFactory()`
  Get the address factory for this architecture.
  `CompilerSpec`
  `getCompilerSpec()`
  Get the compiler specification
  `Language`
  `getLanguage()`
  Get the processor language
  `default LanguageCompilerSpecPair`
  `getLanguageCompilerSpecPair()`
  Get the language/compiler spec ID pair associated with this program architecture.

- ## Method Details

  - ### getLanguage

    Language getLanguage()
    Get the processor language
    Returns:
      processor language

  - ### getAddressFactory

    AddressFactory getAddressFactory()
    Get the address factory for this architecture. In the case of a `Program` this should be the extended address factory that includes the stack space and any defined overlay spaces (i.e., `OverlayAddressSpace`).
    Returns:
      address factory

  - ### getCompilerSpec

    CompilerSpec getCompilerSpec()
    Get the compiler specification
    Returns:
      compiler specification

  - ### getLanguageCompilerSpecPair

    default LanguageCompilerSpecPair getLanguageCompilerSpecPair()
    Get the language/compiler spec ID pair associated with this program architecture.
    Returns:
      language/compiler spec ID pair