previous contents index next
(..Statement Part..) Contents Index (..Statement Part)

3.2.4 Assigning Values to Sites (CellAssignment;)

CellAssignment - Syntax:

Syntax: CellAssignment

After giving the whole syntax diagram, we will discuss its different parts one by one. Since we have already learnt something about both the syntax of a single cell and of sets of cells Loop, one can easily think of a syntax used to describe an assignment to these objects: we just treat them like normal variables of type CELL (see 'Assignments to Variables')!
 

But first we combine Cell and Loop to a new class called CellDomain. To let all sites meant by CellDomain have the value CellExpression we simply type

CellDomain = CellExpression ;

(As in former cases, the semicolon is not part of CellAssignment (compare to VarAssignment; ).

If CellDomain should receive the state of another site Cell, we type

CellDomain = Cell ;

Please notice that every time CellDomain is a Loop set, all expressions on the right side of the equal sign are updated for each cell. This will also be done if the assignment affects only one register of the cell.


 

As former mentioned, it is possible to assign values only to a single register of the sites of CellDomain. In this case, instead of CellDomain, we use the projection

CellDomain.IntRegIdentifier

on an integer register IntRegIdentifier or

CellDomain.StringRegIdentifier

on a string register StringRegIdentifier and regard them (syntactically) as integer and string variables respectively. In 'Assignments to Variables' we have already pointed out how to do this.


Notice that there exists no analogue to

CellDomain = Cell ;

for single registers.


Besides this, it is not possible to assign the value of a site to a cell variable. That seems to be a restriction, but it is not. We can replace it by doing all the relevant assignments twice, to the site itself and to the cell variable!

But actually we have not seen yet that we are allowed to do so in a RDL program. That is what the last paragraph of this chapter is about.


previous contents index next
(..Statement Part..) Contents Index (..Statement Part)