Class WhileStatement


public final class WhileStatement extends Statement

While Statement.


Simula Standard: 4.3 While-statement

  while-statement = WHILE Boolean-expression DO Statement

Link to GitHub: Source File.

Author:
SIMULA Standards Group, Øystein Myhre Andersen
  • Field Details

    • condition

      private Expression condition
      The WHILE condition
    • doStatement

      private Statement doStatement
      The statement after DO
  • Constructor Details

    • WhileStatement

      WhileStatement(int line)
      Create a new WhileStatement.
      Parameters:
      line - the source line number
    • WhileStatement

      private WhileStatement()
      Default constructor used by Attribute File I/O
  • Method Details

    • doChecking

      public void doChecking()
      Description copied from class: SyntaxClass

      Perform semantic checking.

      This must be redefined in every subclass.

      Overrides:
      doChecking in class SyntaxClass
    • doJavaCoding

      public void doJavaCoding()
      Description copied from class: SyntaxClass
      Output Java code.
      Overrides:
      doJavaCoding in class Statement
    • isWhileTrueDo

      private boolean isWhileTrueDo()
      Check if this while statement is a 'while true do'.
      Returns:
      true if this while statement is a 'while true do'
    • buildByteCode

      public void buildByteCode(CodeBuilder codeBuilder)
      Description copied from class: Statement
      Build Java ByteCode.
      Overrides:
      buildByteCode in class Statement
      Parameters:
      codeBuilder - the codeBuilder to use.
    • printTree

      public void printTree(int indent, Object head)
      Description copied from class: SyntaxClass
      Utility print syntax tree method.
      Overrides:
      printTree in class SyntaxClass
      Parameters:
      indent - number of spaces leading the lines
      head - the head of the tree.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • writeObject

      public void writeObject(AttributeOutputStream oupt) throws IOException
      Description copied from class: SyntaxClass
      Write a SyntaxClass object to a AttributeOutputStream.
      Overrides:
      writeObject in class SyntaxClass
      Parameters:
      oupt - the AttributeOutputStream to write to.
      Throws:
      IOException - if something went wrong.
    • readObject

      public static WhileStatement readObject(AttributeInputStream inpt) throws IOException
      Read and return a WhileStatement object.
      Parameters:
      inpt - the AttributeInputStream to read from
      Returns:
      the WhileStatement object read from the stream.
      Throws:
      IOException - if something went wrong.