// Job: Jay's Own Browser, a web browser written in Java by Jay Skeer // Copyright (C) 1996 Jay Skeer, Jay Prime Positive // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // import Jdb; import myPushBackStringTokenizer; public class WordTokenizer extends myPushBackStringTokenizer { public WordTokenizer(String s) { super(s, " \r\t\n-=/", true); } public boolean isBlankToken(String t) { boolean rv= ( (null == t) || (0 <= t.indexOf(' ')) || (0 <= t.indexOf('\r')) || (0 <= t.indexOf('\t')) || (0 <= t.indexOf('\n')) ); return rv; } public boolean isDashToken(String t) { return ((null != t) && ( (0 <= t.indexOf('-')) || (0 <= t.indexOf('/')) || (0 <= t.indexOf('=')))); } public String nextToken() { String t= super.nextToken(); if (hasMoreTokens()) { if (isBlankToken(t)) { String u= super.nextToken(); while (isBlankToken(u) && hasMoreTokens()) { u= super.nextToken(); } super.unreadToken(u); } else { String u= super.nextToken(); while (isDashToken(u) && hasMoreTokens()) { t= t + u; u= super.nextToken(); } super.unreadToken(u); } } //Jdb.trace("WT.nextToken() => \""+t+"\""); return t; } }