Subversion Repositories Kolibri OS

Rev

Rev 9893 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 9893 Rev 9895
Line 1... Line 1...
1
(*
1
(*
2
    BSD 2-Clause License
2
    BSD 2-Clause License
Line 3... Line 3...
3
 
3
 
4
    Copyright (c) 2018-2022, Anton Krotov
4
    Copyright (c) 2018-2023, Anton Krotov
5
    All rights reserved.
5
    All rights reserved.
Line 6... Line 6...
6
*)
6
*)
Line 1135... Line 1135...
1135
            ELSE
1135
            ELSE
1136
                IL.AddCmd(IL.opMODR, 2)
1136
                IL.AddCmd(IL.opMODR, 2)
1137
            END
1137
            END
Line 1138... Line 1138...
1138
 
1138
 
1139
        |PROG.stORD:
1139
        |PROG.stORD:
1140
            IL.AddCmd(IL.opPRECALL, 0);
1140
            cmd1 := IL.getlast();
1141
            PExpression(parser, e);
1141
            PExpression(parser, e);
1142
            PARS.check(isChar(e) OR isBoolean(e) OR isSet(e) OR isCharW(e) OR isStringW1(e), pos, 66);
1142
            PARS.check(isChar(e) OR isBoolean(e) OR isSet(e) OR isCharW(e) OR isStringW1(e), pos, 66);
1143
            IF e.obj = eCONST THEN
1143
            IF e.obj = eCONST THEN
1144
                IF isStringW1(e) THEN
1144
                IF isStringW1(e) THEN
1145
                    ASSERT(ARITH.setInt(e.value, StrToWChar(e.value.string(SCAN.STRING).s)))
1145
                    ASSERT(ARITH.setInt(e.value, StrToWChar(e.value.string(SCAN.STRING).s)))
1146
                ELSE
1146
                ELSE
1147
                    ARITH.ord(e.value)
1147
                    ARITH.ord(e.value)
1148
                END
1148
                END
1149
            ELSE
1149
            ELSE
-
 
1150
                IF isBoolean(e) THEN
-
 
1151
                    cmd2 := IL.getlast();
-
 
1152
                    IL.setlast(cmd1);
-
 
1153
                    IL.AddCmd(IL.opPRECALL, 0);
-
 
1154
                    IL.AddCmd0(IL.opRES);
-
 
1155
                    IL.drop;
1150
                IF isBoolean(e) THEN
1156
                    IL.setlast(cmd2);
1151
                    IL._ord
1157
                    IL._ord
1152
                END
1158
                END
1153
            END;
1159
            END;