retoken.java
来自「用java 编写的源码开放的文本编辑器。有很多有用的特性」· Java 代码 · 共 69 行
JAVA
69 行
/* * gnu/regexp/REToken.java * Copyright (C) 1998-2001 Wes Biggs * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published * by the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This library 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 Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */package gnu.regexp;import java.io.Serializable;abstract class REToken implements Serializable { protected REToken next = null; protected REToken uncle = null; protected int subIndex; protected REToken(int subIndex) { this.subIndex = subIndex; } int getMinimumLength() { return 0; } void setUncle(REToken anUncle) { uncle = anUncle; } /** Returns true if the match succeeded, false if it failed. */ abstract boolean match(CharIndexed input, REMatch mymatch); /** Returns true if the rest of the tokens match, false if they fail. */ protected boolean next(CharIndexed input, REMatch mymatch) { if (next == null) { if (uncle == null) { return true; } else { return uncle.match(input, mymatch); } } else { return next.match(input, mymatch); } } boolean chain(REToken token) { next = token; return true; // Token was accepted } abstract void dump(StringBuffer os); void dumpAll(StringBuffer os) { dump(os); if (next != null) next.dumpAll(os); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?