📄 parserstackif.java
字号:
/******************************************************************************* * Copyright (C) 2002, 2003 * ingenieurbuero fuer innovative informationstechnik (iiit) * Dipl.-Ing. Joerg Beckmann, Dortmund, Germany * * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * version $Id: ParserStackIf.java,v 1.2 2003/04/13 21:09:56 joerg Exp $ ******************************************************************************/package de.iiit.access.server.api;import de.iiit.access.common.api.*;/** This stack is used to pass the expressions and its subexpression between the * parser and the resolver. Each time the result of the current expression is also an * expression it is pushed onto the stack and the parser is called recursively. * When the result of the current expression is a set the expression is pulled from * the stack. Everytime a new element is pushed onto it, the stack reviews its * content. When the same expression is already there it throws a ParserException * to show that it recognized circular references inside the expression. * @version $Revision: 1.2 $ $Date: 2003/04/13 21:09:56 $ */public interface ParserStackIf{ /** Pushes a new item onto the stack. This method search the stack for the new item. * If it is already there a ParserExeption is thrown to show that a circular references * inside the expression was recognized. * @param item The new item * @throws ParserException if the new item is already on the stack * @return the new item. */ public Object pushArgument(Object item) throws ParserException; /** Looks at the object at the top of this stack without removing it from the stack. * @return the object at the top of this stack (the last item of the Vector object). * @throws EmptyStackException if this stack is empty. */ public Object peek(); /** Removes the object at the top of this stack and returns that object as the value of this function. * @return the object at the top of this stack (the last item of the Vector object). * @throws EmptyStackException if this stack is empty. */ public Object pop(); /** Pushes an item onto the top of this stack. * @param item the item to be pushed onto this stack. * @return the item argument. */ public Object push(Object item); }/** * $Log: ParserStackIf.java,v $ * Revision 1.2 2003/04/13 21:09:56 joerg * Package structure modified * * Revision 1.1 2003/04/13 20:16:41 joerg * Package structure modified * * Revision 1.2 2003/01/01 21:04:18 joerg * Copyright-Statement aktualisiert * * Revision 1.1 2002/12/19 15:24:23 joerg * Reparatur des CVS-Repositories * * Revision 1.3 2002/12/09 19:29:17 joerg * Versionsdaten in allen JavaDoc-Klassenbeschreibungen ergaenzt * * Revision 1.2 2002/12/09 16:32:26 joerg * JavaDoc Kommentare ergaenzt * * Revision 1.1 2002/11/27 16:40:39 joerg * Spezialisierter Parameter-Stack fuer den Parser * */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -