UnivesalDisassembler(2003)

symtable.h

Go to the documentation of this file.
00001 // symtable.cc
00002 //
00003 // uda - universal disassembler
00004 // Date: 2003-05-04
00005 //
00006 // Copyright (c) 2002-2003 Ales Smrcka 
00007 //
00008 // This program is licensed under GNU Library GPL. See the file COPYING.
00009 //
00010 // This module contains interface of class Symbols - administration of symbols
00011 //
00012 
00013 #ifndef symtableH
00014 #define symtableH
00015 
00016 #include "udaclasses.h"
00017 #include "shared.h"
00018 #include <string>
00019 using namespace std;
00020 
00022 class Symbols : public AbstractSymbols {
00023     int _counter; //for automatic labels
00024 public:
00025     Symbols(BinFileData &bfd) : AbstractSymbols(bfd) { _counter=0; }
00027     virtual void Load(const char *filename=NULL);
00029     bool checkaddress(const Address addr);
00031     bool defined(const Address addr);
00033     string &operator[](const Address addr);
00035     Address findaddress(const string symbol, bool &defined);
00036 };
00037 
00038 extern Symbols *symbols;
00039 
00040 #endif