00001 #include "alphabet.H"
00002 using namespace std;
00003
00004
00005 string AutoAlphabet::nameof(long var_num) const {
00006 long a,b;
00007 char letter;
00008 string ans;
00009
00010 b= var_num % 26;
00011 a=var_num / 26;
00012 ans="";
00013 while(a > 0){
00014 ans += "_";
00015 a--;
00016 }
00017 letter= 'z'+1 - b;
00018 ans += letter;
00019 return ans;
00020 }
00021
00022
00023 SimpleAlphabet::SimpleAlphabet(){
00024 var_in_use= 0;
00025 }
00026
00027
00028 string SimpleAlphabet::nameof(long var_num) const {
00029 map<long,string>::const_iterator it;
00030
00031 it= names.find(var_num);
00032 return it->second;
00033 }
00034
00035
00036
00037 long SimpleAlphabet::new_variable(const string& thename) {
00038 var_in_use++;
00039 names[var_in_use]= thename;
00040 return var_in_use;
00041 }
00042
00043
00044
00045 long SimpleAlphabet::variables_in_use() const {
00046 return var_in_use;
00047 }
00048