#ifndef __NASAL_PRINT_H__ #define __NASAL_PRINT_H__ #include #include #include "nasal_hash.cpp" #include "nasal_list.cpp" namespace nasal { void PrintString(std::string &PrintInfo) { for(int i=0;i<(int)PrintInfo.length();++i) { if(PrintInfo[i]=='\\' && i+1<(int)PrintInfo.length()) { switch(PrintInfo[i+1]) { case 'n': std::cout<<"\n"; ++i; break; case 't': std::cout<<"\t"; ++i; break; case 'r': std::cout<<"\r"; ++i; break; case '\\': std::cout<<"\\"; ++i; break; case '\'': std::cout<<"\'"; ++i; break; case '\"': std::cout<<"\""; ++i; break; default: //error occurred std::cout<<"[Error]: Incorrect escape character \'"<=(int)PrintInfo.length()) { //error occurred std::cout<<"[Error]: Missing character after \'\\\'"; } else std::cout<PrintList(); else if(Var.Type=="hash") ((NasalHash *)Var.data)->PrintHash(); else std::cout<<"null"; } } #endif