Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
50
Task/Tokenize-a-string/Simula/tokenize-a-string.simula
Normal file
50
Task/Tokenize-a-string/Simula/tokenize-a-string.simula
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
BEGIN
|
||||
|
||||
CLASS TEXTARRAY(N); INTEGER N;
|
||||
BEGIN
|
||||
TEXT ARRAY ARR(1:N);
|
||||
END TEXTARRAY;
|
||||
|
||||
REF(TEXTARRAY) PROCEDURE SPLIT(T,DELIM); TEXT T; CHARACTER DELIM;
|
||||
BEGIN
|
||||
INTEGER N, I, LPOS;
|
||||
REF(TEXTARRAY) A;
|
||||
|
||||
N := 1;
|
||||
T.SETPOS(1);
|
||||
WHILE T.MORE DO
|
||||
IF T.GETCHAR = DELIM THEN
|
||||
N := N+1;
|
||||
A :- NEW TEXTARRAY(N);
|
||||
|
||||
I := 0;
|
||||
LPOS := 1;
|
||||
T.SETPOS(LPOS);
|
||||
WHILE T.MORE DO
|
||||
IF T.GETCHAR = DELIM THEN
|
||||
BEGIN
|
||||
I := I+1;
|
||||
A.ARR(I) :- T.SUB(LPOS,T.POS-LPOS-1);
|
||||
LPOS := T.POS;
|
||||
END;
|
||||
I := I+1;
|
||||
A.ARR(I) :- T.SUB(LPOS,T.LENGTH-LPOS+1);
|
||||
SPLIT :- A;
|
||||
END SPLIT;
|
||||
|
||||
BEGIN
|
||||
TEXT S;
|
||||
REF(TEXTARRAY) TA;
|
||||
INTEGER I;
|
||||
|
||||
S :- "HELLO,HOW,ARE,YOU,TODAY";
|
||||
TA :- SPLIT(S,',');
|
||||
FOR I := 1 STEP 1 UNTIL TA.N DO
|
||||
BEGIN
|
||||
OUTTEXT(TA.ARR(I));
|
||||
OUTCHAR('.');
|
||||
END;
|
||||
OUTIMAGE;
|
||||
END;
|
||||
|
||||
END.
|
||||
Loading…
Add table
Add a link
Reference in a new issue