Class RelationalOperation
java.lang.Object
simula.compiler.syntaxClass.SyntaxClass
simula.compiler.syntaxClass.expression.Expression
simula.compiler.syntaxClass.expression.RelationalOperation
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 Summary
FieldsModifier and TypeFieldDescriptionprivate Expression
The left hand sideprivate int
The relational operationprivate Expression
The right hand sideFields inherited from class Expression
backLink, type
Fields inherited from class SyntaxClass
CHECKED, lineNumber, OBJECT_SEQU
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprivate
Default constructor used by Attribute File I/O(package private)
RelationalOperation
(Expression lhs, int opr, Expression rhs) Create a new RelationalOperation. -
Method Summary
Modifier and TypeMethodDescriptionvoid
buildEvaluation
(Expression rightPart, CodeBuilder codeBuilder) ClassFile coding utility: Build Evaluation Code.private void
buildTextRelation
(CodeBuilder codeBuilder) ClassFile coding utility: Build Text Relation.void
Perform semantic checking.private String
Coding Utility: Code text reference relationprivate String
Coding Utility: Code text value relationboolean
Returns true if this expression may be used as a statement.static RelationalOperation
Read and return an object.Generate Java code for this Syntax Class.toString()
void
Write a SyntaxClass object to a AttributeOutputStream.Methods inherited from class Expression
acceptExpression, checkCompatibility, evaluate, expectExpression, get, getInt, getNumber, getQualification, getWriteableVariable, printTree, put
Methods inherited from class SyntaxClass
ASSERT_SEMANTICS_CHECKED, buildByteCode, doDeclarationCoding, doJavaCoding, edIndent, edTreeIndent, IS_SEMANTICS_CHECKED, print, SET_SEMANTICS_CHECKED, setLineNumber
-
Field Details
-
lhs
The left hand side -
opr
private int oprThe relational operation -
rhs
The right hand side
-
-
Constructor Details
-
RelationalOperation
RelationalOperation(Expression lhs, int opr, Expression rhs) Create a new RelationalOperation.- Parameters:
lhs
- the left hand sideopr
- the relationrhs
- 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 classSyntaxClass
-
maybeStatement
public boolean maybeStatement()Description copied from class:Expression
Returns true if this expression may be used as a statement.- Specified by:
maybeStatement
in classExpression
- Returns:
- true if this expression may be used as a statement
-
toJavaCode
Description copied from class:SyntaxClass
Generate Java code for this Syntax Class.- Overrides:
toJavaCode
in classSyntaxClass
- Returns:
- Java code
-
doCodeTextValueRelation
Coding Utility: Code text value relation- Returns:
- the resulting Java source code
-
doCodeTextRefRelation
Coding Utility: Code text reference relation- Returns:
- the resulting Java source code
-
buildEvaluation
Description copied from class:Expression
ClassFile coding utility: Build Evaluation Code.- Specified by:
buildEvaluation
in classExpression
- Parameters:
rightPart
- expressioncodeBuilder
- the codeBuilder used.
-
buildTextRelation
ClassFile coding utility: Build Text Relation.- Parameters:
codeBuilder
- the codeBuiløder to use.
-
toString
- Overrides:
toString
in classExpression
-
writeObject
Description copied from class:SyntaxClass
Write a SyntaxClass object to a AttributeOutputStream.- Overrides:
writeObject
in classSyntaxClass
- Parameters:
oupt
- the AttributeOutputStream to write to.- Throws:
IOException
- if something went wrong.
-
readObject
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.
-