public function lexOne(\Jstewmc\Stream\Stream $stream)
	{
		$token = false;
		
		// if the stream has characters
		if ($stream->hasCharacters()) {
			// switch on the current character
			switch ($stream->current()) {
				
				case '{':
					$token = $this->lexOpenBracket($stream);
					break;
				
				case '}':
					$token = $this->lexCloseBracket($stream);
					break;
				
				case '\\':
					$token = $this->lexBackslash($stream);
					break;
				
				case "\t":
					$token = $this->lexTab($stream);
					break;
				
				case "\n":
				case "\r":
				case "\f":
				case "\0":
					$token = $this->lexOther($stream);
					break;
				
				default:
					$token = $this->lexText($stream);
			}
			// advance the stream to the next character
			$stream->next();
		}

		return $token;
	}