Class ActivationStatement
java.lang.Object
simula.compiler.syntaxClass.SyntaxClass
simula.compiler.syntaxClass.statement.Statement
simula.compiler.syntaxClass.statement.ActivationStatement
Activation Statement.
Simula Standard: 12.2 Activation statement activation-statement = activator object-expression [ scheduling-part ] activator = ACTIVATE | REACTIVATE scheduling-part = AT arithmetic-expression [ PRIOR ] | DELAY arithmetic-expression [ PRIOR ] | BEFORE object-expression | AFTER object-expression The activation statement is defined by the procedure ACTIVAT in Simula Standard. In this implementation we use a set of methods for the same purpose: activate x; ==> ActivateDirect(false,x); activate x delay 1.34; ==> ActivateDelay(false,x,1.34f,false); activate x delay 1.34 prior; ==> ActivateDelay(false,x,1.34f,true); activate x at 13.7; ==> ActivateAt(false,x,13.7f,false); activate x at 13.7 prior; ==> ActivateAt(false,x,13.7f,true); activate x before y; ==> ActivateBefore(false,x,y); activate x after y; ==> ActivateAfter(false,x,y); reactivate x; ==> ActivateDirect(true,x); reactivate x delay 1.34; ==> ActivateDelay(true,x,1.34f,false); reactivate x delay 1.34 prior; ==> ActivateDelay(true,x,1.34f,true); reactivate x at 13.7; ==> ActivateAt(true,x,13.7f,false); reactivate x at 13.7 prior; ==> ActivateAt(true,x,13.7f,true); reactivate x before y; ==> ActivateBefore(true,x,y); reactivate x after y; ==> ActivateAfter(true,x,y); See runtime module RTS_Simulation for details.
Link to GitHub: Source File.
- Author:
- SIMULA Standards Group, Øystein Myhre Andersen
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static enum
The activation code -
Field Summary
FieldsModifier and TypeFieldDescriptionThe activation codeprivate Expression
First object-expression in activation statement.private Expression
Second object-expression in activation statement.private Boolean
Indicates that PRIOR is present in the activation statement.private boolean
Indicates reactivation when true, otherwise activation.private Expression
The AT time expression.Fields inherited from class simula.compiler.syntaxClass.SyntaxClass
CHECKED, lineNumber, OBJECT_SEQU
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprivate
Default constructor used by Attribute File I/O(package private)
ActivationStatement
(int line) Create a new ActivationStatement. -
Method Summary
Modifier and TypeMethodDescriptionprivate void
buildActivateAfter
(CodeBuilder codeBuilder) ClassFile coding utility: Build (Re)Activate Process AFTER ...private void
buildActivateAt
(CodeBuilder codeBuilder) ClassFile coding utility: Build (Re)Activate Process AT ...private void
buildActivateBefore
(CodeBuilder codeBuilder) ClassFile coding utility: Build (Re)Activate Process BEFORE ...private void
buildActivateDelay
(CodeBuilder codeBuilder) ClassFile coding utility: Build (Re)Activate Process DELAY ...private void
buildActivateDirect
(CodeBuilder codeBuilder) ClassFile coding utility: Build direct (re)activationvoid
buildByteCode
(CodeBuilder codeBuilder) Build Java ByteCode.void
Perform semantic checking.private String
Java coding utility: Edit (Re)Activate Process AFTER ...private String
Java coding utility: Edit (Re)Activate Process AT ...private String
Java coding utility: Edit (Re)Activate Process BEFORE ...private String
Java coding utility: Edit (Re)Activate Process DELAY ...private String
Java coding utility: Edit direct (re)activationvoid
Utility print syntax tree method.static ActivationStatement
Read and return an ActivationStatement object.Generate Java code for this Syntax Class.toString()
void
Write a SyntaxClass object to a AttributeOutputStream.Methods inherited from class simula.compiler.syntaxClass.statement.Statement
doJavaCoding, expectStatement
Methods inherited from class simula.compiler.syntaxClass.SyntaxClass
ASSERT_SEMANTICS_CHECKED, doDeclarationCoding, edIndent, edTreeIndent, IS_SEMANTICS_CHECKED, print, SET_SEMANTICS_CHECKED, setLineNumber
-
Field Details
-
REAC
private boolean REACIndicates reactivation when true, otherwise activation. -
object1
First object-expression in activation statement. -
object2
Second object-expression in activation statement. -
time
The AT time expression. -
prior
Indicates that PRIOR is present in the activation statement. -
code
The activation code
-
-
Constructor Details
-
ActivationStatement
ActivationStatement(int line) Create a new ActivationStatement.- Parameters:
line
- the source line number
-
ActivationStatement
private ActivationStatement()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
-
toJavaCode
Description copied from class:SyntaxClass
Generate Java code for this Syntax Class.- Overrides:
toJavaCode
in classSyntaxClass
- Returns:
- Java code
-
edActivateDirect
Java coding utility: Edit direct (re)activation- Returns:
- the resulting Java source code
-
edActivateAt
Java coding utility: Edit (Re)Activate Process AT ...- Returns:
- the resulting Java source code
-
edActivateDelay
Java coding utility: Edit (Re)Activate Process DELAY ...- Returns:
- the resulting Java source code
-
edActivateBefore
Java coding utility: Edit (Re)Activate Process BEFORE ...- Returns:
- the resulting Java source code
-
edActivateAfter
Java coding utility: Edit (Re)Activate Process AFTER ...- Returns:
- the resulting Java source code
-
buildByteCode
Description copied from class:Statement
Build Java ByteCode.- Overrides:
buildByteCode
in classStatement
- Parameters:
codeBuilder
- the codeBuilder to use.
-
buildActivateDirect
ClassFile coding utility: Build direct (re)activation- Parameters:
codeBuilder
- the codeBuilder to use.
-
buildActivateAt
ClassFile coding utility: Build (Re)Activate Process AT ...- Parameters:
codeBuilder
- the codeBuilder to use.
-
buildActivateDelay
ClassFile coding utility: Build (Re)Activate Process DELAY ...- Parameters:
codeBuilder
- the codeBuilder to use.
-
buildActivateBefore
ClassFile coding utility: Build (Re)Activate Process BEFORE ...- Parameters:
codeBuilder
- the codeBuilder to use.
-
buildActivateAfter
ClassFile coding utility: Build (Re)Activate Process AFTER ...- Parameters:
codeBuilder
- the codeBuilder to use.
-
printTree
Description copied from class:SyntaxClass
Utility print syntax tree method.- Overrides:
printTree
in classSyntaxClass
- Parameters:
indent
- number of spaces leading the lineshead
- the head of the tree.
-
toString
-
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 ActivationStatement object.- Parameters:
inpt
- the AttributeInputStream to read from- Returns:
- the ActivationStatement object read from the stream.
- Throws:
IOException
- if something went wrong.
-