Uses of Interface
dev.civl.mc.model.IF.expression.VariableExpression
Packages that use VariableExpression
Package
Description
Module model defines a static model, i.e., the control flow graph, representation of a CIVL-C program.
Submodule model.expression defines expression in CIVL.
Submodule model.statement defines a statement of a CIVL-C program.
-
Uses of VariableExpression in dev.civl.mc.model.IF
Methods in dev.civl.mc.model.IF that return VariableExpressionModifier and TypeMethodDescriptionModelFactory.atomicLockVariableExpression()This method is used in Enabler when a process resumes from being blocked and wants to get the atomic lockModelFactory.domSizeVariable(CIVLSource source, Scope scope) ModelFactory.parProcsVariable(CIVLSource source, CIVLType type, Scope scope) ModelFactory.variableExpression(CIVLSource source, Variable variable) A variable expression.Methods in dev.civl.mc.model.IF with parameters of type VariableExpressionModifier and TypeMethodDescriptionModelFactory.civlParForEnterStatement(CIVLSource source, Location location, Expression domain, VariableExpression domSize, VariableExpression procsVar, CIVLFunction parProcFunc) creates a$parforenter statement to start the execution of the$parfor. -
Uses of VariableExpression in dev.civl.mc.model.IF.expression
Methods in dev.civl.mc.model.IF.expression with parameters of type VariableExpressionModifier and TypeMethodDescriptionvoidExpression.replaceWith(ConditionalExpression oldExpression, VariableExpression newExpression) Replace a certain conditional expression with a variable expression. -
Uses of VariableExpression in dev.civl.mc.model.IF.statement
Methods in dev.civl.mc.model.IF.statement that return VariableExpressionModifier and TypeMethodDescriptionCivlParForSpawnStatement.domSizeVar()returns the variable that represents the size of the domain, i.e., how many elements are contained in the domain.CivlParForSpawnStatement.parProcsVar()returns the variable that represents the array of process references of processes spawned by this CivlParForSpawnStatement.Methods in dev.civl.mc.model.IF.statement with parameters of type VariableExpressionModifier and TypeMethodDescriptionvoidStatement.replaceWith(ConditionalExpression oldExpression, VariableExpression newExpression) Modify this statement including its guard by replacing a certain conditional expression with a variable expression, used when translating away conditional expression and a temporal variable is introduced.
For example,x = a ? b : cwill be translated intoif(a) v0 = b; else v0 = c; x = v0;
Another example,$when(a?b:c) x = k;will be translated intoif(a) v0 = b; else v0 = c; $when(v0) x = k;