<formal-mode-param> = <actual-mode-param>
REAL
INT
-5
([]INT i)[]CHAR: ( [LWB i:UPB i]CHAR s; FOR n FROM LWB i TO UPB i DO s[n]:=REPR ii OD; s )
(REF REAL id)REAL:
(REF CHAR a,b)REF CHAR:
(STRING s)[]STRING: BEGIN FLEX[1:0]STRING r:=""; #rowing coercion# BOOL in word:=FALSE; INT st:=LWB s,fn:=UPB s; WHILE s[st]=blank & st<=UPB line DO st+:=1 OD; WHILE s[fn]=blank & fn>=st DO fn-:=1 OD; STRING ss:=s[st:fn]+blank; FOR c FROM LWB ss UNTIL c > UPB ss DO CHAR ssc=ss[c]; IF ssc/=blank & NOT in word THEN st:=c; in word:=TRUE ELIF ssc=blank & NOT in word THEN SKIP ELIF ssc/=blank & in word THEN SKIP ELSE #ssc=blank & in word# fn:=c-1; in word:=FALSE; [UPB r+1]STRING rr; rr[:UPB r]:=r; rr[UPB rr]:=ss[st:fn]; r:=rr #The word has been added to r# FI OD; r[2:] #Omit the null string# END
REAL:
VOID: print("Hi, there")
Occurrences | ||
Line | Applied | Defining |
5 | T p | 2 |
5 | T c | 3 |
8 | T 4 | 2 |
8 | T q | 7 |
10 | T REPR 2 | 3 |
12 | T c | 3 |
12 | T q | 2 |
REF INT
.
16
of
mode INT
.
INT
.
INT
.
REF[]INT
can be dereferenced to a
multiple of mode []INT
.
+
which
has already been declared as a monadic operator.
OP PP = (REF INT a)REF INT: a+:=1
PROC p = VOID: a:=3
PROC p = INT: BEGIN [(INT i; read((i,newline)); i)]INT a; read(a); INT sum:=0; FOR i TO UPB a DO sum+:=a[i] OD; sum END
PROC p = REF[,]CHAR: ( HEAP[3,20]CHAR n; read((n,newline)); n )
PROC p=(REF REAL r)REF REAL: r:=r/pi*180
PROC p = (STRING s,INT i)VOID: ( INT ii = IF i < 0 THEN print(newline); ABS i ELSE i FI; TO ii DO print(s) OD )
PROC num in multiple=(INT i, []INT m, REF INT p)BOOL: ( INT pos:=LWB m - 1; FOR j FROM LWB m TO UPB m WHILE pos < LWB m DO (i=m[j]|pos:=j) OD; IF pos < LWB m THEN FALSE ELSE p:=pos; TRUE FI )
10.0
0.3
0.0
.
PROC reverse = ([]CHAR s)[]CHAR: (SIZE s=1|s|s[UPB s]+reverse(s[:UPB s-1]))
PROC(INT)INT cube; PROC square=(INT p)INT: (ODD p|cube(p)|p^2); cube:=(INT p)INT: (ODD p|p^3|square(p))
OP LARGEST = ([,]REAL a)REAL: ( REAL largest:=a[1 LWB a,2 LWB a]; FOR i FROM 1 LWB a TO 1 UPB a DO FOR j FROM 2 LWB a TO 2 UPB a DO largest:=largest MAX a[i,j] OD OD; largest )
PROC pr = (INT n)REF[]INT: HEAP[n]INT
PROC leng = INT: (STRING s; read((s,newline)); UPB s)
Sian Mountbatten 2012-01-19