编译原理——赋值语句和简单表达式(十二)

来源:互联网 发布:如何寻找淘宝达人合作 编辑:程序博客网 时间:2024/05/22 02:16

自定义栈。

package per.eyuan.util;public class MyStack {//用来存储状态,符号,语义等信息//字符串栈private String s[]=new String[50];private int top;//栈顶public MyStack() {super();init();}public void init(){for(int i=0;i<s.length;i++){s[i]=new String();}top=-1;}//获取栈中元素的个数public int getLength(){return top+1;}public void push(String s1){top++;s[top]=s1;}public String pop(){if(top==-1){return null;}else{String s2=s[top];top--;return s2;}}public String getTop(){if(top==-1){return null;}else{return s[top];}}public String[] getAll(){//返回栈中所有元素if(top==-1){System.out.println("null,the stack is empty");return null;}else{int i=0;String ss[]=new String[top+1];for(int ii=0;ii<ss.length;ii++){ss[ii]=new String();}while(i<=top){ss[i]=s[i];i++;}return ss;}}}