if (c == '\n') { word = "\n"; pos++; return true; }
		public boolean next()		{			if (skipSpace() == false)				return false;			char c = src.charAt(pos);			if (c == '\n')			{				word = "\n";				pos++;				return true;			}			if (c == '\"')			{				parseStringLiteral();				return true;			}						StringBuffer buf = new StringBuffer();			boolean type = isIdentChar(c);			buf.append(c);			pos++;						while (pos < src.length())			{				c = src.charAt(pos);				if (type != isIdentChar(c))					break;				if (isSpace(c))					break;				buf.append(c);				pos++;			}						if (type)			{				word = buf.toString();			}			else			{				// match longest token				StringBuffer remains = new StringBuffer();				while (buf.length() >= 2)				{					if (tokens.get(buf.toString()) != null)						break;					int len = buf.length() - 1;					remains.insert(0, buf.charAt(len));					buf.setLength(len);					pos--;				}				word = buf.toString();			}			return true;		}