<- People Behind Informatics


All 0-9 A B C D E F G H I J K L M N O P Q R S T U V W XY Z




 
Dijkstra Display
If a programming language allows statically nested procedures (or blocks), the compiler must take care that embedded procedures can access variables declared in outer levels. If the language supports recursion then this is not easy, because for each procedure, several activation records may be alive at the same time. The problem can be solved by adding a so-called access link to each activation record, which points to the actual activation record of the outer level. This solution is correct, but may become slow if the number of statically nested procedures is large. If at level k a variable at level m is accessed (note that k >= m must hold), the list of access links of length k-m must be traversed. Dijkstra suggested to use an array structure instead of the list, containing at each level a pointer to the corresponding activation record. This array was called the Dijkstra Display. With this, if at level k a variable at level m is to be accessed, the address of the corresponding activation record is simply found at display[m]. The disadvantage of this method is that the size of the Dijkstra Display poses a limit on static containment.

[Source: Laszlo Böszörmenyi: Notes to the Virtual Exhibition "People behind Informatics"]

 

 

<- People Behind Informatics


Home  |  Top  |  Search  |  Gallery  | Glossary  | Sitemap  |  Making Of  |  Help