Mercurial Hosting > nabble
diff 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 diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/nabble/naml/compiler/Interpreter.java Thu Mar 21 19:15:52 2019 -0600 @@ -0,0 +1,24 @@ +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); +}