Subversion Repositories Kolibri OS

Rev

Rev 7983 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 7983 Rev 8097
Line 14... Line 14...
14
 
14
 
15
    tINTEGER* = 1;  tREAL* = 2;  tSET*    = 3;
15
    tINTEGER* = 1;  tREAL* = 2;  tSET*    = 3;
16
    tBOOLEAN* = 4;  tCHAR* = 5;  tWCHAR*  = 6;
16
    tBOOLEAN* = 4;  tCHAR* = 5;  tWCHAR*  = 6;
Line -... Line 17...
-
 
17
    tSTRING*  = 7;
-
 
18
 
Line 17... Line -...
17
    tSTRING*  = 7;
-
 
Line 18... Line 19...
18
 
19
    opEQ* = 0; opNE* = 1; opLT* = 2; opLE* = 3; opGT* = 4; opGE* = 5;
Line 19... Line 20...
19
 
20
    opIN* = 6; opIS* = 7;
Line 20... Line 21...
20
TYPE
21
 
Line 670... Line 671...
670
 
671
 
671
    RETURN res
672
    RETURN res
Line 672... Line 673...
672
END equal;
673
END equal;
673
 
674
 
674
 
675
 
Line 675... Line 676...
675
PROCEDURE relation* (VAR v: VALUE; v2: VALUE; operator: RELATION; VAR error: INTEGER);
676
PROCEDURE relation* (VAR v: VALUE; v2: VALUE; op: INTEGER; VAR error: INTEGER);
676
VAR
677
VAR
Line 677... Line 678...
677
    res: BOOLEAN;
678
    res: BOOLEAN;
Line 678... Line 679...
678
 
679
 
Line 679... Line 680...
679
BEGIN
680
BEGIN
680
    error := 0;
681
    error := 0;
Line 681... Line 682...
681
 
682
 
682
    res := FALSE;
683
    res := FALSE;
Line 683... Line 684...
683
 
684
 
684
    CASE operator[0] OF
685
    CASE op OF
-
 
686
 
-
 
687
    |opEQ:
685
 
688
        res := equal(v, v2, error)
686
    |"=":
689
 
687
        res := equal(v, v2, error)
690
    |opNE:
688
 
691
        res := ~equal(v, v2, error)
689
    |"#":
-
 
690
        res := ~equal(v, v2, error)
-
 
691
 
-
 
Line 692... Line 692...
692
    |"<":
692
 
693
        IF operator[1] = "=" THEN
-
 
694
            res := less(v, v2, error);
693
    |opLT:
-
 
694
        res := less(v, v2, error)
695
            IF error = 0 THEN
695
 
696
                res := equal(v, v2, error) OR res
696
    |opLE:
697
            END
697
        res := less(v, v2, error);
698
        ELSE
698
        IF error = 0 THEN
699
            res := less(v, v2, error)
699
            res := equal(v, v2, error) OR res
700
        END
700
        END
701
 
-
 
Line 702... Line 701...
702
    |">":
701
 
703
        IF operator[1] = "=" THEN
702
    |opGE:
704
            res := ~less(v, v2, error)
703
        res := ~less(v, v2, error)
705
        ELSE
704
 
706
            res := less(v, v2, error);
705
    |opGT:
707
            IF error = 0 THEN
706
        res := less(v, v2, error);
Line 760... Line 759...
760
 
759
 
761
    RETURN check(v)
760
    RETURN check(v)
Line -... Line 761...
-
 
761
END setInt;
-
 
762
 
-
 
763
 
-
 
764
PROCEDURE concat* (VAR s: ARRAY OF CHAR; s1: ARRAY OF CHAR): BOOLEAN;
-
 
765
VAR
-
 
766
    res: BOOLEAN;
-
 
767
 
-
 
768
BEGIN
-
 
769
    res := LENGTH(s) + LENGTH(s1) < LEN(s);
-
 
770
    IF res THEN
-
 
771
        STRINGS.append(s, s1)
-
 
772
    END
-
 
773
 
-
 
774
    RETURN res
762
END setInt;
775
END concat;
763
 
776
 
764
 
777
 
Line 765... Line 778...
765
PROCEDURE init;
778
PROCEDURE init;