decompiler
1.0.0
|
Contents of the <language> tag in a .ldefs file. More...
#include <sleigh_arch.hh>
Public Member Functions | |
LanguageDescription (void) | |
Constructor. | |
void | restoreXml (const Element *el) |
Read the XML tag from stream. More... | |
const string & | getProcessor (void) const |
Get the name of the processor. | |
bool | isBigEndian (void) const |
Return true if the processor is big-endian. | |
int4 | getSize (void) const |
Get the size of the address bus. | |
const string & | getVariant (void) const |
Get the processor variant. | |
const string & | getVersion (void) const |
Get the processor version. | |
const string & | getSlaFile (void) const |
Get filename of the SLEIGH specification. | |
const string & | getProcessorSpec (void) const |
Get the filename of the processor specification. | |
const string & | getId (void) const |
Get the language id string associated with this processor. | |
const string & | getDescription (void) const |
Get a description of the processor. | |
bool | isDeprecated (void) const |
Return true if this specification is deprecated. | |
const CompilerTag & | getCompiler (const string &nm) const |
Get compiler specification of the given name. More... | |
int4 | numTruncations (void) const |
Get the number of truncation records. | |
const TruncationTag & | getTruncation (int4 i) const |
Get the i-th truncation record. | |
Private Attributes | |
string | processor |
Name of processor. | |
bool | isbigendian |
Set to true if this processor is big-endian. | |
int4 | size |
Size of address bus in bits. | |
string | variant |
Name of processor variant or "default". | |
string | version |
Version of the specification. | |
string | slafile |
Name of .sla file for processor. | |
string | processorspec |
Name of .pspec file. | |
string | id |
Unique id for this language. | |
string | description |
Human readable description of this language. | |
bool | deprecated |
Set to true if the specification is considered deprecated. | |
vector< CompilerTag > | compilers |
List of compiler specifications compatible with this processor. | |
vector< TruncationTag > | truncations |
Address space truncations required by this processor. | |
Contents of the <language> tag in a .ldefs file.
This class contains meta-data describing a single processor and the set of files used to analyze it. Ghidra requires a compiled SLEIGH specification file (.sla), a processor specification file (.pspec), and a compiler specification file (.cspec) in order to support disassembly/decompilation of a processor. This class supports a single processor, as described by a single SLEIGH file and processor spec. Multiple compiler specifications can be given for the single processor.
const CompilerTag & LanguageDescription::getCompiler | ( | const string & | nm | ) | const |
Get compiler specification of the given name.
Pick out the CompilerTag associated with the desired compiler id string
nm | is the desired id string |
References CompilerTag::getId().
Referenced by SleighArchitecture::buildSpecFile().
void LanguageDescription::restoreXml | ( | const Element * | el | ) |
Read the XML tag from stream.
Parse an ldefs <language> tag
el | is the XML element |
References CompilerTag::CompilerTag(), Element::getAttributeName(), Element::getAttributeValue(), Element::getChildren(), Element::getContent(), Element::getName(), Element::getNumAttributes(), and xml_readbool().