package parser.ServletParser.library;

/** 이 클래스는 함수 호출들을 모아논 InstructionBlock 객체들의 스택이다.
 */
public final
class InstBlockStack extends List 
{
	/** 생성자이다.
	 */
	public InstBlockStack() {
		super();
	}
	/** 스택 연산의 push 기능 함수이다.
	 */
	public void push(InstructionBlock ptr) {
		super._push((Object)ptr);
	}
	/** 스택 연산의 pop 기능 함수이다.
	 */
	public InstructionBlock pop() {
		return (InstructionBlock)super._pop();
	}
	/** 스택 연산의 top 기능 함수이다.
	 */
	public InstructionBlock top() {
		return (InstructionBlock)super._top();
	}
	/** 이 리스트를 비우는 함수이다.
	 */
	public void clear() {
		super._clear();
	}
	/** 리스트의 객체들을 traverse 할 때 맨 첫번째 객체를 찾아오는 함수이다.
	 * 만약 리스트가 비어있게되면 null 값을 리턴한다.
	 */
	public InstructionBlock getFirst() {
		return (InstructionBlock)super._getFirst();
	}
	/** 리스트의 객체들을 반대 방향으로 traverse 하기위해 맨 마지막 객체를 찾아오는 함수이다.
	 * 만약 리스트가 비어있게되면 null 값을 리턴한다.
	 */
	public InstructionBlock getLast() {
		return (InstructionBlock)super._getLast();
	}
	/** 리스트의 객체들을 traverse 할 때 다음 객체를 찾아오는 함수이다.
	 * 만약 리스트의 끝에 도달하면 null 값을 리턴한다.
	 */
	public InstructionBlock getNext() {
		return (InstructionBlock)super._getNext();
	}
	/** 리스트의 객체들을 반대 방향으로 traverse 할 때 다음 객체를 찾아오는 함수이다.
	 * 만약 리스트의 앞에 도달하면 null 값을 리턴한다.
	 */
	public InstructionBlock getPrevious() {
		return (InstructionBlock)super._getPrevious();
	}
}
