Skip to content
Snippets Groups Projects
Commit f7cc44ba authored by mutantoe's avatar mutantoe
Browse files

Moved some code in the interpreter

parent a5b295a4
Branches
No related tags found
No related merge requests found
......@@ -111,27 +111,29 @@ public class Interpreter {
// Run statement
int stmt_len = stmt_end-stmt_begin;
Token currentToken = tokenHistory.get(stmt_begin);
int setVarTo;
switch (currentToken.getType()) {
case CLEAR:
case INCR:
case DECR:
if(stmt_len==3 && tokenHistory.get(stmt_begin+1).getType()==TokenType.IDENTIFIER){
ValueToken token = (ValueToken) tokenHistory.get(stmt_begin+1);
if(m_variables.containsKey(token.getValue())) {
m_variables.replace(token.getValue(), 0);
} else {
m_variables.put(token.getValue(), 0);
}
} else {
throw new Exception("Nonsense statement.");
}
switch (currentToken.getType()) {
case CLEAR:
setVarTo=0;
break;
case INCR:
if(stmt_len==3 && tokenHistory.get(stmt_begin+1).getType()==TokenType.IDENTIFIER){
ValueToken token = (ValueToken) tokenHistory.get(stmt_begin+1);
setVarTo=m_variables.get(token.getValue())+1;
break;
case DECR:
setVarTo=m_variables.get(token.getValue())-1;
default:
throw new Exception("How did you even get here?");
}
if(m_variables.containsKey(token.getValue())) {
m_variables.replace(token.getValue(),
m_variables.get(token.getValue())+1);
m_variables.replace(token.getValue(), 0);
} else {
throw new Exception("Undefined variable.");
m_variables.put(token.getValue(), 0);
}
} else {
throw new Exception("Nonsense statement.");
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment