summaryrefslogtreecommitdiff
path: root/ecomp-c/tests/variable_assign_from_expression.e
blob: 9450eeb13616d92bf9cbac94a416d995f3470ff1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/*
 * assign variable from an expression of literals, constants and
 * variables
 */

module variable_assign_from_expression;

const
	N : integer = 20;

var
	a : integer;
	b : integer;
	c : integer;
	d, e : integer;

begin
	a := 1;
	b := 7;
	c := N; // c should be 20
	a := b; // a should be 7
	a := a + 1; // a should be 8 now
	d := a * c + b; // d should be 8 * 20 + 7 = 167 (A7 hex)
	d := a * ( c + b ); // d should be 8 * ( 20 + 7 ) = 216 (D8 hex)
	e := ( ( 7 * a + b ) + 2 * ( b + a + 3 ) ) * 2; // ((7*8+7)+2*(7+8+3))*2=198 (C6 hex)
end