|HOME |ABOUT |ARTICLES |ACK |FEEDBACK |TOC |LINKS |BLOG |JOBS |


Tutorials



LIST



There are two of lists in e language
-- Regular list
-- Keyed list Regular



Regular List



-List types hold ordered collections of data elements.
-All items in a list must be of the same type.
-List elements can be of any type.
-Items in a list can be indexed with the subscript operator [ ], by placing a non-negative integer expression in the brackets.
-List indexes start at zero. You can select an item from a list by specifying its index.
-Lists are dynamically resizable.
-Lists contain many predefined methods.
-Lists are defined by using the list of keyword in a variable or a field definition.



EXAMPLE:
lis : list of int;


List Operations



size() : This is used to set the size of the list.
add(item or list) : Add an item to the end of a list
add0(item or list) : Add an item to the head of a list
clear(): Delete all items from a list
delete(index) : Delete an item from a list
insert(index,item) : Insert an item in a list at a specified index
pop(item) : Remove and return the last list item
pop0(item) : Remove and return the first list item
push(item) : Add an item to the end of a list
push0(item) : Add an item to the head of a list
resize() : Change the size of a list




EXAMPLE:
<'
extend sys {
run() is also {
var a_list: list of int = {1;2;3;4};
var b_list: list of int = {5;5};
print a_list;
print a_list.pop();
a_list.add(9);
print a_list;
a_list.insert(2,33);
print a_list;
a_list.add(b_list);
print a_list;
a_list.delete(4);
print a_list;
a_list.add0(22);
print a_list;
print a_list.pop0();
a_list.push(44);
print a_list;
a_list.push0(55);
print a_list;
a_list.resize(4);
print a_list;
a_list.clear();
print a_list;
}
};
'>
RESULT:

a_list =
0. 1
1. 2
2. 3
3. 4
a_list.pop() = 4
a_list =
0. 1
1. 2
2. 3
3. 9
a_list =
0. 1
1. 2
2. 33
3. 3
4. 9
a_list =
0. 1
1. 2
2. 33
3. 3
4. 9
5. 5
6. 5
a_list =
0. 1
1. 2
2. 33
3. 3
4. 5
5. 5
a_list =
0. 22
1. 1
2. 2
3. 33
4. 3
5. 5
6. 5
a_list.pop0() = 22
a_list =
0. 1
1. 2
2. 33
3. 3
4. 5
5. 5
6. 44
a_list =
0. 55
1. 1
2. 2
3. 33
4. 3
5. 5
6. 5
7. 44
a_list =
0. 0
1. 0
2. 0
3. 0
a_list = (empty)


Keyed List:



A keyed list data type is similar to hash tables or association lists found in other programming languages. If the element type of the list is a scalar type or a string type, then the hash key must be the predefined implicit variable it.

A keyed list is a distinct type, different from a regular list. This means that you cannot assign a keyed list to a regular list, nor assign a regular list to a keyed list: if list_a is a keyed list and list_b is a regular list, list_a = list_b is a syntax error.



EXAMPLE:
<'
extend sys {
!a: list(key: it) of int(bits: 3);
run() is also {
var b: int(bits: 4);
for i from 0 to 10 {
gen b;
a.add(b);
};
if a.key_exists(2) then {
print a;
print a.key_index(4);
};
};
};
'>


RESULT:

a = (11 items, dec):
-3 -3 -2 1 -2 2 -1 0 -4 0 -3 .0
a.key_index(4) = 2



Index
Introduction
E Basics
Data Types
Operators
Struct
Units
List
Methods
Concurrency Actions
Constraints
Extend
When And Like
Events
Temporal Expressions
Temporal Operators 1
Temporal Operators 2
Synchronizing With The Simulator
Wait And Sync
Physical Virual Feilds
Packing N Unpacking
Pre Run N On The Fly
Coverage
Commands
Extendable Methods
Non Extendable Methods
And Gate Evc

Report a Bug or Comment on This section - Your input is what keeps Testbench.in improving with time!





<< PREVIOUS PAGE

TOP

NEXT PAGE >>

copyright 2007-2017 :: all rights reserved www.testbench.in::Disclaimer