* (all files)
* stripped svn header
* minor cleanups
; use following command to find out the history of files:
git log
git log --follow
git blame
git annotate
57 lines
834 B
Plaintext
57 lines
834 B
Plaintext
// Managing variables by reference
|
|
|
|
PROCEDURE Main()
|
|
|
|
STATIC s_x := 10
|
|
|
|
LOCAL x := 0
|
|
|
|
? "Managing LOCAL variables by reference"
|
|
? "In main before ref1 x=", x
|
|
ref1( @x )
|
|
? " In main after ref1 x=", x
|
|
|
|
? "Managing STATIC variables by reference"
|
|
? "In main before ref1 s=", s_x
|
|
ref1( @s_x )
|
|
? " In main after ref1 s=", s_x
|
|
|
|
RETURN
|
|
|
|
PROCEDURE ref1( x )
|
|
|
|
x++
|
|
? " In ref1 before ref2 =", x
|
|
Ref2( @x )
|
|
? " In ref1 after ref2 =", x
|
|
|
|
RETURN
|
|
|
|
PROCEDURE ref2( x )
|
|
|
|
x++
|
|
? " In ref2 before ref3 =", x
|
|
Ref3( @x )
|
|
? " In ref2 after ref3 =", x
|
|
|
|
RETURN
|
|
|
|
PROCEDURE ref3( x )
|
|
|
|
STATIC s_a
|
|
|
|
x++
|
|
? " In ref3 before ref4 =", x
|
|
s_a := { x, x }
|
|
Ref4( @s_a )
|
|
? " In ref3 after ref4 =", x
|
|
|
|
RETURN
|
|
|
|
PROCEDURE ref4( a )
|
|
|
|
a[ 1 ]++
|
|
? " In ref4 =", a[ 1 ]
|
|
|
|
RETURN
|