view src/nabble/naml/compiler/Interpreter.java @ 0:7ecd1a4ef557

add content
author Franklin Schmidt <fschmidt@gmail.com>
date Thu, 21 Mar 2019 19:15:52 -0600
parents
children
line wrap: on
line source

package nabble.naml.compiler;


public interface Interpreter extends Encoder {
	public Object getArg(String param);
	public String getArgString(String param);
	public Template template();
	public <T> T getFromStack(Class<T> cls);
	public boolean hasModule(String moduleName);
	public int callDepth();

	public boolean getArgAsBoolean(String param) throws BooleanFormatException;
	public boolean getArgAsBoolean(String param,boolean defaultValue) throws BooleanFormatException;
	public int getArgAsInt(String param) throws NumberFormatException;
	public int getArgAsInt(String param, int defaultValue) throws NumberFormatException;
	public long getArgAsLong(String param) throws NumberFormatException;
	public <T> T getArgAsNamespace(Class<T> cls,String param);
	public Encoder getEncoder();
	public void setEncoder(Encoder encoder);

	// compile-time methods
	public boolean hasNamespace(String namespace);
	public boolean isInCommandStack(String commandName);
}