public void RegisterGoto(string token, JumpToken gotoToken) { contexts.Peek().RegisterGoto(token, gotoToken); }
public abstract void JumpIfNotMarked(JumpToken token);
public void RegisterGoto(string token, JumpToken gotoToken) { Require.False(gotos.ContainsKey(token)); gotos.Add(token, gotoToken); }
/// <summary> /// Assosiates a JumpToken with a location in the code stream. /// </summary> public abstract void SetDestination(JumpToken token);
/// <summary> /// Conditional version of Jump(). /// Takes the jump if the type part of the accumulator is empty /// </summary> public abstract void JumpIfUnassigned(JumpToken token);
/// <summary> /// Conditional version of Jump(). /// Reads a boolean value from the accumulator /// </summary> public abstract void JumpIfFalse(JumpToken token);
/// <summary> /// Conditional version of Jump(). /// Reads a boolean value from the accumulator /// </summary> public abstract void JumpIfTrue(JumpToken token);
/// <summary> /// Inserts an unconditional jump to the location described by the jump token. /// This may be a forward or backward jump, but should be local to the Assembler. /// </summary> public abstract void Jump(JumpToken token);