Here's the 1.1 release. The language itself has not changed, but the interpreter has been revamped a lot and line spacing has been fixed.
Code:
0->E
" "->Str4
" "->Str3
If length(Str1)=0
Then
Disp "NO PROGRAM FOUND IN STR1"
Pause
ClrHome
End
length(Str1)->L
0->A
0->I
0->C
1->P
1->L
Lbl MA
C+1->C
If C>L and E=1
Goto ER
If C>L
Stop
sub(Str1,C,1)->Str2
If Str2=" "
Goto MA
If Str2="R"
Goto R
If Str2="A"
Goto A
If Str2="D"
Goto D
If Str2="I"
Goto I
If Str2="S"
Goto S
If Str2="H"
Then
Goto H
Else
1->E
ClrHome
Str3+toString(C)+" "->Str3
Str4+Str2->Str4
Disp "ERROR:INVALID CHARACTER","FOUND AT LINE"
Output(2,15,C)
Disp "THE CHARACTER"
Output(3,15,Str2
Disp "IS INVALID"
Pause
End
Lbl R
0->I
Goto MA
Return
Lbl A
A+1->A
Goto MA
Return
Lbl D
I-1->I
Goto MA
Return
Lbl I
I+1->I
Goto MA
Return
Lbl S
I*A->I
0->A
Goto MA
Return
Lbl H
If I=0
L+1->L
If I=~10
Output(L,P,0
If I<0 and I>~10
Output(L,P,~I
If I>0 and I<31
Output(L,P,sub("ABCDEFGHIJKLMNOPQRSTUVWXYZ.,?Ï€",I,1)
Goto MA
Return
Lbl ER
ClrHome
Disp "REVIEW OF ERRORS."
Disp "THERE ARE"
Output(2,11,(length(Str4)-1)
Disp "ERRORS AT THESE LINES"
Disp Str3