UnivesalDisassembler(2003)

instrset.h File Reference

#include <iomanip>
#include <iostream>
#include <fstream>
#include <map>
#include <string>
#include "shared.h"
#include "udaclasses.h"
#include "sections.h"

Go to the source code of this file.

Classes

class  InstrSetException
class  ScannerException
class  ParserException
class  InstructionException
class  InstructionSet
 InstructionSet. (Facade, Singleton) More...
class  Scanner
 Scans input for tokens. More...
class  Scanner::Token
 Token type returned by Scanner. More...
class  Parser
 Creates tables and variables. More...
class  Tables
 Map of Table indexed by its name. (Builder) More...
class  AbstractTable
 AbstractTable - parent for BuiltinTable and Table. More...
class  BuiltinTable
 Parent of all builtin tables. More...
class  Table
 Table with 256 items (TableItem). Item is indexed by a byte in data section. More...
class  TableItem
 An item of Table consisting of value and length array of decoded bytes. More...
struct  TableItem::Lengths
class  Variables
 Map of Variable indexed by its name. (Builder) More...
class  Variable
 Variable is value and default value for one variable. More...
class  BuiltinTables::Ib
 Table - Little Endian - immediate byte. More...
class  BuiltinTables::Iw
 Table - Little Endian - immediate word. More...
class  BuiltinTables::Id
 Table - Little Endian - immediate dword. More...
class  BuiltinTables::Ibw
 Table - Little Endian - immediate byte as word. More...
class  BuiltinTables::Ibd
 Table - Little Endian - immediate byte as dword. More...
class  BuiltinTables::SIb
 Table - Signed Little Endian - immediate byte. More...
class  BuiltinTables::SIw
 Table - Signed Little Endian - immediate word. More...
class  BuiltinTables::SId
 Table - Signed Little Endian - immediate dword. More...
class  BuiltinTables::SIbw
 Table - Signed Little Endian - immediate byte as word. More...
class  BuiltinTables::SIbd
 Table - Signed Little Endian - immediate byte as dword. More...
class  BuiltinTables::Jb
 Table - Little Endian - relative address - byte. More...
class  BuiltinTables::Jw
 Table - Little Endian - relative address - word. More...
class  BuiltinTables::Jd
 Table - Little Endian - relative address - dword. More...
class  BuiltinTables::Apw
 Table - Little Endian - absolute segment address - word:word. More...
class  BuiltinTables::Apd
 Table - Little Endian - absolute segment address - word:dword. More...
class  BuiltinTables::Aw
 Table - Little Endian - absolute address - word. More...
class  BuiltinTables::Ad
 Table - Little Endian - absolute address - dword. More...
class  BuiltinTables::BIb
 Table - Big Endian - immediate byte. More...
class  BuiltinTables::BIw
 Table - Big Endian - immediate word. More...
class  BuiltinTables::BId
 Table - Big Endian - immediate dword. More...
class  BuiltinTables::BIbw
 Table - Big Endian - immediate byte as word. More...
class  BuiltinTables::BIbd
 Table - Big Endian - immediate byte as dword. More...
class  BuiltinTables::SBIb
 Table - Signed Big Endian - immediate byte. More...
class  BuiltinTables::SBIw
 Table - Signed Big Endian - immediate word. More...
class  BuiltinTables::SBId
 Table - Signed Big Endian - immediate dword. More...
class  BuiltinTables::SBIbw
 Table - Signed Big Endian - immediate byte as word. More...
class  BuiltinTables::SBIbd
 Table - Signed Big Endian - immediate byte as dword. More...
class  BuiltinTables::BJb
 Table - Big Endian - relative address - byte. More...
class  BuiltinTables::BJw
 Table - Big Endian - relative address - word. More...
class  BuiltinTables::BJd
 Table - Big Endian - relative address - dword. More...
class  BuiltinTables::BApw
 Table - Big Endian - absolute segment address - word:word. More...
class  BuiltinTables::BApd
 Table - Big Endian - absolute segment address - word:dword. More...
class  BuiltinTables::BAw
 Table - Big Endian - absolute address - word. More...
class  BuiltinTables::BAd
 Table - Big Endian - absolute address - dword. More...

Namespaces

namespace  BuiltinTables

Typedefs

typedef map< string,
AbstractTable * > 
MTables
typedef map< string, VariableMVariables

Enumerations

enum  tk_type {
  tk_end = 0, tk_number, tk_text, tk_ident,
  tk_equal, tk_plus, tk_comma, tk_semicol,
  tk_parop, tk_parcl
}
 

tk_type = Token type

More...

Variables

const string instrsetdirectory
const string defaultinstrset
InstructionSet instructionset
 Instruction set - singleton.

Typedef Documentation

typedef map<string, AbstractTable*> MTables

Definition at line 175 of file instrset.h.

typedef map<string, Variable> MVariables

Definition at line 249 of file instrset.h.


Enumeration Type Documentation

enum tk_type

tk_type = Token type

Enumerator:
tk_end 

end of file

tk_number 

token is a number

tk_text 

token is a string literal

tk_ident 

token is an identificator

tk_equal 

token is '=' character

tk_plus 

token is '+' character

tk_comma 

token is ',' character

tk_semicol 

token is ';' character

tk_parop 

token is '{' character

tk_parcl 

token is '}' character

Definition at line 107 of file instrset.h.


Variable Documentation

const string defaultinstrset

Definition at line 42 of file instrset.cc.

Referenced by InstructionSet::Load().

const string instrsetdirectory

Definition at line 41 of file instrset.cc.

Referenced by InstructionSet::Load(), and set_base_dir().

Instruction set - singleton.

Definition at line 39 of file instrset.cc.

Referenced by Decoder::Decode(), and main().