All Downloads are FREE. Search and download functionalities are using the official Maven repository.

astra.ast.term.ListTerm Maven / Gradle / Ivy

There is a newer version: 1.4.3
Show newest version
package astra.ast.term;

import java.util.List;

import astra.ast.core.AbstractElement;
import astra.ast.core.IElementVisitor;
import astra.ast.core.ITerm;
import astra.ast.core.IType;
import astra.ast.core.ParseException;
import astra.ast.core.Token;
import astra.ast.type.BasicType;

public class ListTerm extends AbstractElement implements ITerm {
	List list;
	
	public ListTerm(List list, Token start, Token end, String source) {
		super(start, end, source);
		this.list = list;
	}

	public Object accept(IElementVisitor visitor, Object data) throws ParseException {
		return visitor.visit(this, data);
	}

	public IType type() {
		return new BasicType(Token.LIST);
	}

	public String toString() {
		String out = "[ ";
		boolean first = true;
		for (ITerm term : list) {
			if (first) first = false; else out += ", ";
			out += term.toString();
		}
		return out + " ]";
	}

	public List terms() {
		return list;
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy