Class RelationalOperation


public final class RelationalOperation extends Expression

Relational Operation.


Simula Standard: 3.3 Relations

Syntax used during Parsing:


  relational-operation = expression  relational-operator  expression
  
     relational-operator = value-relational-operator | reference-comparator
     
        value-relational-operator =  < | <= | = | >= | > | <>
        
        reference-comparator =  == | =/= 

Link to GitHub: Source File.

Author:
Øystein Myhre Andersen
  • Field Details

    • lhs

      private Expression lhs
      The left hand side
    • opr

      private int opr
      The relational operation
    • rhs

      private Expression rhs
      The right hand side
  • Constructor Details

    • RelationalOperation

      RelationalOperation(Expression lhs, int opr, Expression rhs)
      Create a new RelationalOperation.
      Parameters:
      lhs - the left hand side
      opr - the relation
      rhs - the right hand side
    • RelationalOperation

      private RelationalOperation()
      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
    • maybeStatement

      public boolean maybeStatement()
      Description copied from class: Expression
      Returns true if this expression may be used as a statement.
      Specified by:
      maybeStatement in class Expression
      Returns:
      true if this expression may be used as a statement
    • toJavaCode

      public String toJavaCode()
      Description copied from class: SyntaxClass
      Generate Java code for this Syntax Class.
      Overrides:
      toJavaCode in class SyntaxClass
      Returns:
      Java code
    • doCodeTextValueRelation

      private String doCodeTextValueRelation()
      Coding Utility: Code text value relation
      Returns:
      the resulting Java source code
    • doCodeTextRefRelation

      private String doCodeTextRefRelation()
      Coding Utility: Code text reference relation
      Returns:
      the resulting Java source code
    • buildEvaluation

      public void buildEvaluation(Expression rightPart, CodeBuilder codeBuilder)
      Description copied from class: Expression
      ClassFile coding utility: Build Evaluation Code.
      Specified by:
      buildEvaluation in class Expression
      Parameters:
      rightPart - expression
      codeBuilder - the codeBuilder used.
    • buildTextRelation

      private void buildTextRelation(CodeBuilder codeBuilder)
      ClassFile coding utility: Build Text Relation.
      Parameters:
      codeBuilder - the codeBuiløder to use.
    • toString

      public String toString()
      Overrides:
      toString in class Expression
    • 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 RelationalOperation readObject(AttributeInputStream inpt) throws IOException
      Read and return an object.
      Parameters:
      inpt - the AttributeInputStream to read from
      Returns:
      the object read from the stream.
      Throws:
      IOException - if something went wrong.