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; |