KDevelop API Documentation

lib/antlr/src/String.cpp

Go to the documentation of this file.
00001 /* ANTLR Translator Generator 00002 * Project led by Terence Parr at http://www.jGuru.com 00003 * Software rights: http://www.antlr.org/RIGHTS.html 00004 * 00005 * $Id: String.cpp,v 1.2 2003/05/02 00:36:20 okellogg Exp $ 00006 */ 00007 00008 #include "antlr/String.hpp" 00009 00010 #include <cctype> 00011 00012 #ifdef HAS_NOT_CSTDIO_H 00013 #include <stdio.h> 00014 #else 00015 #include <cstdio> 00016 #endif 00017 00018 #ifdef ANTLR_CXX_SUPPORTS_NAMESPACE 00019 namespace antlr { 00020 #endif 00021 ANTLR_C_USING(sprintf) 00022 00023 ANTLR_USE_NAMESPACE(std)string operator+( const ANTLR_USE_NAMESPACE(std)string& lhs, const int rhs ) 00024 { 00025 char tmp[100]; 00026 sprintf(tmp,"%d",rhs); 00027 return lhs+tmp; 00028 } 00029 00032 ANTLR_USE_NAMESPACE(std)string charName(int ch) 00033 { 00034 if (ch == EOF) 00035 return "EOF"; 00036 else 00037 { 00038 ANTLR_USE_NAMESPACE(std)string s; 00039 00040 #ifdef ANTLR_CCTYPE_NEEDS_STD 00041 if( ANTLR_USE_NAMESPACE(std)isprint( ch ) ) 00042 #else 00043 if( isprint( ch ) ) 00044 #endif 00045 { 00046 s.append("'"); 00047 s += ch; 00048 s.append("'"); 00049 // s += "'"+ch+"'"; 00050 } 00051 else 00052 { 00053 s += "0x"; 00054 00055 unsigned int t = ch >> 4; 00056 if( t < 10 ) 00057 s += t | 0x30; 00058 else 00059 s += t + 0x37; 00060 t = ch & 0xF; 00061 if( t < 10 ) 00062 s += t | 0x30; 00063 else 00064 s += t + 0x37; 00065 } 00066 return s; 00067 } 00068 } 00069 00070 #ifdef ANTLR_CXX_SUPPORTS_NAMESPACE 00071 } 00072 #endif 00073
KDE Logo
This file is part of the documentation for KDevelop Version 3.0.4.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Wed Oct 6 17:39:06 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003