public Token scanCharacterConstant() {
    """
	Scan a character constant, such as e.g. 'c'. Observe that care must be
	taken to properly handle escape codes. For example, '\n' is a single
	character constant which is made up from two characters in the input
	string.
	
	@return
    """
		int start = pos;
		pos++;
		char c = input.charAt(pos++);
		if (c == '\\') {
			// escape code
			switch (input.charAt(pos++)) {
			case 'b':
				c = '\b';
				break;
			case 't':
				c = '\t';
				break;
			case 'n':
				c = '\n';
				break;
			case 'f':
				c = '\f';
				break;
			case 'r':
				c = '\r';
				break;
			case '"':
				c = '\"';
				break;
			case '\'':
				c = '\'';
				break;
			case '\\':
				c = '\\';
				break;
			default:
				syntaxError("unrecognised escape character", pos);
			}
		}
		if (input.charAt(pos) != '\'') {
			syntaxError("unexpected end-of-character", pos);
		}
		pos = pos + 1;
		return new Token(Token.Kind.CharValue, input.substring(start, pos),
				start);
	}
public Token scanCharacterConstant() {
		int start = pos;
		pos++;
		char c = input.charAt(pos++);
		if (c == '\\') {
			// escape code
			switch (input.charAt(pos++)) {
			case 'b':
				c = '\b';
				break;
			case 't':
				c = '\t';
				break;
			case 'n':
				c = '\n';
				break;
			case 'f':
				c = '\f';
				break;
			case 'r':
				c = '\r';
				break;
			case '"':
				c = '\"';
				break;
			case '\'':
				c = '\'';
				break;
			case '\\':
				c = '\\';
				break;
			default:
				syntaxError("unrecognised escape character", pos);
			}
		}
		if (input.charAt(pos) != '\'') {
			syntaxError("unexpected end-of-character", pos);
		}
		pos = pos + 1;
		return new Token(Token.Kind.CharValue, input.substring(start, pos),
				start);
	}
public Token scanCharacterConstant ( ) { int start = pos ; pos ++ ; char c = input . charAt ( pos ++ ) ; if ( c == ' ' ) { // escape code switch ( input . charAt ( pos ++ ) ) { case ' ' : c = ' ' ; break ; case ' ' : c = ' ' ; break ; case ' ' : c = ' ' ; break ; case ' ' : c = ' ' ; break ; case ' ' : c = ' ' ; break ; case ' ' : c = ' ' ; break ; case ' ' : c = ' ' ; break ; case ' ' : c = ' ' ; break ; default : syntaxError ( "unrecognised escape character" , pos ) ; } } if ( input . charAt ( pos ) != ' ' ) { syntaxError ( "unexpected end-of-character" , pos ) ; } pos = pos + 1 ; return new Token ( Token . Kind . CharValue , input . substring ( start , pos ) , start ) ; }
Scan a character constant, such as e.g. 'c'. Observe that care must be
taken to properly handle escape codes. For example, '\n' is a single
character constant which is made up from two characters in the input
string.

@return
Scan a character constant such as e . g . c . Observe that care must be taken to properly handle escape codes . For example \ n is a single character constant which is made up from two characters in the input string .