1 package de.lathanda.eos.baseparser;
3 import de.lathanda.eos.vm.Command;
4 import de.lathanda.eos.vm.DebugPoint;
5 import de.lathanda.eos.vm.commands.Jump;
6 import de.lathanda.eos.vm.commands.JumpIfNot;
8 import java.util.ArrayList;
23 this.condition = condition;
43 public void compile(ArrayList<Command> ops,
boolean autoWindow)
throws Exception {
44 ArrayList<Command> aop =
new ArrayList<>();
45 ArrayList<Command> bop =
new ArrayList<>();
46 ArrayList<Command> cond =
new ArrayList<>();
49 condition.
compile(cond, autoWindow);
59 ops.add(
new Jump(bop.size() + 1));
78 return "if " + condition +
" then\n" + a +
"else\n" + b +
"endif";
void addError(Marker marker, String errorId, Object... data)
void compile(ArrayList< Command > ops, boolean autoWindow)
void resolveNamesAndTypes(Expression with, Environment env)
IfElse(Expression condition, Sequence a, Sequence b)
Expression getCondition()
abstract void compile(ArrayList< Command > ops, boolean autoWindow)
abstract String getLabel()
final String createText(String id, Object... args)
abstract void resolveNamesAndTypes(Expression with, Environment env)
void resolveNamesAndTypes(Expression with, Environment env)
void compile(ArrayList< Command > ops, boolean autoWindow)