Class LimitOperation

java.lang.Object
org.kigalisim.lang.operation.LimitOperation
All Implemented Interfaces:
Operation

public class LimitOperation extends Object implements Operation
Operation to limit a value to a range.
  • Constructor Details

    • LimitOperation

      public LimitOperation(Operation operand, Operation lowerBound, Operation upperBound)
      Create a new LimitOperation with both lower and upper bounds.
      Parameters:
      operand - The operand to limit.
      lowerBound - The lower bound.
      upperBound - The upper bound.
    • LimitOperation

      public LimitOperation(Operation operand, Operation upperBound)
      Create a new LimitOperation with only an upper bound.
      Parameters:
      operand - The operand to limit.
      upperBound - The upper bound.
    • LimitOperation

      public LimitOperation(Operation operand, Operation lowerBound, boolean isLowerBound)
      Create a new LimitOperation with only a lower bound.
      Parameters:
      operand - The operand to limit.
      lowerBound - The lower bound.
      isLowerBound - Flag to indicate this is a lower bound (to disambiguate from upper bound constructor).
  • Method Details

    • execute

      public void execute(PushDownMachine machine)
      Execute the calculation and leave the result at the top of the stack.
      Specified by:
      execute in interface Operation
      Parameters:
      machine - The machine in which to execute the calculation if needed.