'CORAL' L29 'INCLUDE' "[200,25]GENDEF.COR" 'LIBRARY' ( 'COMMENT' BASIC COMPATABLE PROCEDURES; 'INTEGER''PROCEDURE' LEN ('VALUE''INTEGER')); 'COMMON' ('INTEGER''PROCEDURE' CHARVER ('VALUE''INTEGER','VALUE''INTEGER')); 'SEGMENT' RJSSUB 'BEGIN' 'INTEGER''PROCEDURE' CHARVER ('VALUE''INTEGER' MASTER,SLAVE); 'BEGIN' 'INTEGER' SPOS,MPOS,MARKER; 'BYTE' BMASTER, BSLAVE; 'IF' MASTER=VOID 'OR' MASTER=ERROR 'OR' SLAVE=VOID 'OR' SLAVE=ERROR 'THEN' 'ANSWER' ERROR; (INVALID ADDRESS) 'COMMENT' LOOP THROUGH SLAVE BUFFER; 'FOR' SPOS:=2,SPOS 'WHILE' SPOS<= LEN(SLAVE)+1 'DO' 'BEGIN' MARKER:=-1; (INDICATE CHARACTER NOT YET FOUND) BSLAVE:=[SLAVE+SPOS]; (HOLD A CHARACTER FROM SLAVE STRING) SPOS:=SPOS+1; (INCREMENT SLAVE CHARACTER POINTER) 'COMMENT' LOOP THROUGH MASTER BUFFER; 'FOR' MPOS:=2,MPOS 'WHILE' MPOS<=LEN (MASTER)+1 'AND' MARKER=-1 'DO' 'BEGIN' BMASTER:=[MASTER+MPOS]; (HOLD A CHARACTER FROM MASTER STRING) MPOS:=MPOS+1; (INCREMENT MASTER CHARACTER POINTER) 'IF' BSLAVE=BMASTER 'THEN' MARKER:=0; (INDICATE CHARACTER FOUND) 'END'; 'IF' MARKER<>0 'THEN' 'ANSWER' -SPOS+2; (INDICATE CHARACTER FAILED AND ITS POSITION) 'END'; 'ANSWER' SUCCESS; (INDICATE SUCCESS) 'END' OF PROCEDURE CHARVER; 'END'; 'FINISH'