// Path: src/stone/Token.java
// public abstract class Token {
//     public static final Token EOF = new Token(-1){}; // end of file
//     public static final String EOL = "\\n";          // end of line 
//     private int lineNumber;
// 
//     protected Token(int line) {
//         lineNumber = line;
//     }
//     public int getLineNumber() { return lineNumber; }
//     public boolean isIdentifier() { return false; }
//     public boolean isNumber() { return false; }
//     public boolean isString() { return false; }
//     public int getNumber() { throw new StoneException("not number token"); }
//     public String getText() { return ""; }
// }


import java.util.Iterator;
import java.util.ArrayList;
import stone.Token;
package stone.ast;

public class ASTLeaf extends ASTree {
    private static ArrayList<ASTree> empty = new ArrayList<ASTree>(); 
// Path: src/stone/Token.java
// public abstract class Token {
//     public static final Token EOF = new Token(-1){}; // end of file
//     public static final String EOL = "\\n";          // end of line 
//     private int lineNumber;
// 
//     protected Token(int line) {
//         lineNumber = line;
//     }
//     public int getLineNumber() { return lineNumber; }
//     public boolean isIdentifier() { return false; }
//     public boolean isNumber() { return false; }
//     public boolean isString() { return false; }
//     public int getNumber() { throw new StoneException("not number token"); }
//     public String getText() { return ""; }
// }


// Path: src/stone/ast/ASTLeaf.java
import java.util.Iterator;
import java.util.ArrayList;
import stone.Token;

package stone.ast;

public class ASTLeaf extends ASTree {
    private static ArrayList<ASTree> empty = new ArrayList<ASTree>(); 
    protected Token token;