protected function getStringToken($exp, $length, & $i)
	{
		if($exp[$i] == '"' || $exp[$i] == "'")
		{
			$delim = $exp[$i++];
			$buffer = '';
			
			$terminated = false;
			$escaped = false;
			
			for(; $i < $length; $i++)
			{
				if($exp[$i] == '\\')
				{
					$escaped = !$escaped;
				}
				elseif($exp[$i] == $delim && !$escaped)
				{
					$terminated = true;
					
					break;
				}
				else
				{
					$escaped = false;
				}
				
				$buffer .= $exp[$i];
			}
			
			if($terminated)
			{
				return new AnnotationToken(AnnotationToken::T_STRING, str_replace('\\' . $delim, $delim, $buffer));
			}
		}
	}