~jsvoboda/helenos/sysel

« back to all changes in this revision

Viewing changes to uspace/dist/src/sysel/lib/list.sy

  • Committer: Jiri Svoboda
  • Date: 2010-05-08 08:10:44 UTC
  • Revision ID: jiri@wiwaxia-20100508081044-5hvcjwu15rsfvgnv
Update SBI to rev. 244.

Show diffs side-by-side

added added

removed removed

Lines of Context:
30
30
class List/t is
31
31
        var head : ListNode/t;
32
32
 
33
 
        -- Initialize list.
34
 
        fun Init() is
 
33
        -- New empty list.
 
34
        new() is
35
35
                head = new ListNode/t();
36
36
                head.prev = head;
37
37
                head.next = head;
45
45
                ntl = head.prev;
46
46
 
47
47
                n = new ListNode/t();
48
 
                n.value = data;
 
48
                n.data = data;
49
49
 
50
50
                n.prev = ntl;
51
51
                n.next = head;
73
73
end
74
74
 
75
75
class ListNode/t is
76
 
        var value : t;
 
76
        var data : t;
77
77
 
78
78
        var prev : ListNode/t;
79
79
        var next : ListNode/t;
80
80
        var head : ListNode/t;
81
81
 
82
 
        -- Value stored in this node.
83
 
        prop Value : t is
 
82
        -- Data stored in this node.
 
83
        prop Data : t is
84
84
                get is
85
 
                        return value;
 
85
                        return data;
86
86
                end
87
87
        end
88
88
 
100
100
                end
101
101
        end
102
102
 
 
103
        -- Remove node from list.
 
104
        fun Remove() is
 
105
                var p : ListNode/t;
 
106
                var n : ListNode/t;
 
107
 
 
108
                p = prev; n = next;
 
109
                p.next = n;
 
110
                n.prev = p;
 
111
 
 
112
                prev = nil;
 
113
                next = nil;
 
114
        end
 
115
 
103
116
        -- Get next node.
104
117
        fun get_next() : ListNode/t is
105
118
                if next != head then