9   Examples

This chapter contains sample programs that illustrate the symbol table representations of various language constructs. The examples are organized by source language and each consists of a program listing and the partial symbol table contents for that program. The system symbol table dumpers stdump(1) and odump(1) were used to produce the output.


9.1   C


9.1.1   Unnamed Structure

See Section 5.3.8.3 for related information.

Source Listing

Struct S1 {
int abc;
struct {int x; signed int y; unsigned int z;};
int rst;
} s1;

Symbol Table Contents

File 0 Local Symbols:
 
 0. (0)(   0)  unname.c   File     Text      symref  12
 1. (1)( 0xc)             Block    Info      symref  6
 2. (2)(   0)  x          Member   Info      [ 3] int
 3. (2)(0x20)  y          Member   Info      [ 3] int
 4. (2)(0x40)  z          Member   Info      [ 4] unsigned int
 5. (1)(   0)             End      Info      symref 1
 6. (1)(0x14)  S1         Block    Info      symref 11
 7. (2)(   0)  abc        Member   Info      [ 3] int
 8. (2)(0x20)             Member   Info      [ 5] struct(file 0, index 2)
 9. (2)(0x80)  rst        Member   Info      [ 3] int
10. (1)(   0)  S1         End      Info      symref 6
11. (0)(   0)  unname.c   End      Text      symref 0

Externals Table: 0. (file 0)(0x14) s1 Global Common [7] struct(file 0, index 6)


9.2   C++


9.2.1   Base and Derived Classes

See Section 5.3.8.6 for related information.

Source Listing

#include <iostream.h>

class employee {
	char *name;	
	short age;
	short deparment;
	int salary;
	
public:

	static int stest;
	employee *next;
	void print() const;
};

class manager : public employee {
	employee emp;
	employee *group;
	short level;

public:

	void print() const;
};

void employee::print() const
{
  cout << "name is " << name << '\n';
}

void manager::print() const
{
  employee::print();
}

void f()
{
  manager m1,m2;
  employee e1, e2;
  employee *elist;
	
  elist=&m1;
  m1.next=&e1;
  e1.next=&m2;
  m2.next=&e2;
  e2.next=0;
}
	   

 

Symbol Table Contents

File 0 Local Symbols:

  0. ( 0)(   0) bs6.cxx    File       Text       symref 51
  1. ( 1)(   0) employee   Tag        Info       [25] Class(extended file 0, index 2)
  2. ( 1)(0x18) employee   Block      Info       symref 17
  3. ( 2)(   0) name       Member     Info       [28] Pointer to char
  4. ( 2)(0x40) age        Member     Info       [29] short
  5. ( 2)(0x50) deparment  Member     Info       [29] short
  6. ( 2)(0x60) salary     Member     Info       [30] int
  7. ( 2)(0x80) next       Member     Info       [31] Pointer to Class(extended file 0, index 2)
  8. ( 2)(   0) employee::stest 
                           Static     Info       [30] int
  9. ( 2)(   0) employee::print(void) const  
                           Proc       Info       [43] endref 12, void
 10. ( 3)(   0) this       Param      Info       [40] Const Pointer to Const Class(extended file 0, index 2)
 11. ( 2)(   0) employee::print(void) const 
                           End        Info       symref 9
 12. ( 2)(   0) employee::operator =(const employee&) 
                           Proc       Info       [57] endref 16, Reference Class(extended file 0, index 2)
 13. ( 3)(   0) this       Param      Info       [48] Const Pointer to Class(extended file 0, index 2)
 14. ( 3)(   0)            Param      Info       [54] Reference Const Class(extended file 0, index 2)
 15. ( 2)(   0) employee::operator =(const employee&) 
                           End        Info       symref 12
 16. ( 1)(   0) employee   End        Info       symref 2
 17. ( 1)(   0) manager    Tag        Info       [61] Class(extended file 0, index 18)
 18. ( 1)(0x40) manager    Block      Info       symref 31
 19. ( 2)(   0) employee   Base Class Info       [25] Class(extended file 0, index 2)
 20. ( 2)(0xc0) emp        Member     Info       [25] Class(extended file 0, index 2)
 21. ( 2)(0x180) group     Member     Info       [31] Pointer to Class(extended file 0, index 2)
 22. ( 2)(0x1c0) level     Member     Info       [29] short
 23. ( 2)(   0) manager::print(void) const  
                           Proc       Info       [73] endref 26, void
 24. ( 3)(   0) this       Param      Info       [70] Const Pointer to Const Class(extended file 0, index 18)
 25. ( 2)(   0) manager::print(void) const  
                           End        Info       symref 23
 26. ( 2)(   0) manager::operator =(const manager&) 
                           Proc       Info       [90] endref 30, Reference Class(extended file 0, index 18)
 27. ( 3)(   0) this       Param      Info       [81] Const Pointer to Class(extended file 0, index 18)
 28. ( 3)(   0)            Param      Info       [87] Reference Const Class(extended file 0, index 18)
 29. ( 2)(   0) manager::operator =(const manager&) 
                           End        Info       symref 26
 30. ( 1)(   0) manager    End        Info       symref 18
 31. ( 1)(   0) employee::print(void) const 
                           Proc       Text       [414] endref 36, void
 32. ( 2)( 0x9) this       Param      Register   [416] Const Pointer to Const Class(extended file 0, index 2)
 33. ( 2)(0x18)            Block      Text       symref 35
 34. ( 2)(0x60)            End        Text       symref 33
 35. ( 1)(0x70) employee::print(void) const  
                           End        Text       symref 31
 36. ( 1)(0x70) manager::print(void) const 
                           Proc       Text       [419] endref 41, void
 37. ( 2)( 0x9) this       Param      Register   [421] Const Pointer to Const Class(extended file 0, index 18)
 38. ( 2)(0x18)            Block      Text       symref 40
 39. ( 2)(0x2c)            End        Text       symref 38
 40. ( 1)(0x3c) manager::print(void) const  
                           End        Text       symref 36
 41. ( 1)(0xac) f(void)    Proc       Text       [424] endref 50, void
 42. ( 2)( 0x8)            Block      Text       symref 49
 43. ( 3)(-64)  m1         Local      Abs        [61] Class(extended file 0, index 18)
 44. ( 3)(-128) m2         Local      Abs        [61] Class(extended file 0, index 18)
 45. ( 3)(-152) e1         Local      Abs        [25] Class(extended file 0, index 2)
 46. ( 3)(-176) e2         Local      Abs        [25] Class(extended file 0, index 2)
 47. ( 3)(   0) elist      Local      Register   [31] Pointer to Class(extended file 0, index 2)
 48. ( 2)(0x28)            End        Text       symref 42
 49. ( 1)(0x30) f(void)    End        Text       symref 41
 50. ( 0)(   0) bs6.cxx    End        Text       symref 0

 


9.2.2   Virtual Function Tables and Interludes

Source Listing

class Base1 {
  public:
    virtual int virtual_mem_func() { return 1; }
};

class Base2 : virtual public Base1 {
  public:
    virtual int virtual_mem_func() { return 2; }
};

class Base3 : public Base2 {
  public:
    virtual int virtual_mem_func() { return 3; }
};


int foo(Base1 *b1) {
    return  b1->virtual_mem_func();
}

int main() {
    Base1 *b1;
    Base2 *b2;
    Base3 *b3;

    int i,j,k;

    i = foo(b1);
    j = foo(b2);
    k = foo(b3);
    return 0;
}

 

Symbol Table Contents

File 0 Local Symbols:

  0. ( 0)(   0) interlude.cxx 
                           File       Text       symref 113
  1. ( 1)(   0) Base1      Tag        Info       [17] Class(extended file 0, index 2)
  2. ( 1)( 0x8) Base1      Block      Info       symref 19
  3. ( 2)(   0) __vptr     Member     Info       [20] Pointer to Array [(extended file 0, aux 3)0-1:64]
                                                      of Virtual func table
  4. ( 2)(   0) Base1::Base1(void) 
                           Proc       Info       [35] endref 7, Reference  Class(extended file 0, index 2)
  5. ( 3)(   0) this       Param      Info       [32] Const Pointer to Class(extended file 0, index 2)
  6. ( 2)(   0) Base1::Base1(void) 
                           End        Info       symref 4
  7. ( 2)(   0) Base1::Base1(const Base1&) 
                           Proc       Info       [45] endref 11, Reference Class(extended file 0, index 2)
  8. ( 3)(   0) this       Param      Info       [32] Const Pointer to Class(extended file 0, index 2)
  9. ( 3)(   0)            Param      Info       [42] Reference Const Class(extended file 0, index 2)
 10. ( 2)(   0) Base1::Base1(const Base1&) 
                           End        Info       symref 7
 11. ( 2)(   0) Base1::operator =(const Base1&) 
                           Proc       Info       [49] endref 15, Reference Class(extended file 0, index 2)
 12. ( 3)(   0) this       Param      Info       [32] Const Pointer to Class(extended file 0, index 2)
 13. ( 3)(   0)            Param      Info       [42] Reference Const Class(extended file 0, index 2)
 14. ( 2)(   0) Base1::operator =(const Base1&) 
                           End        Info       symref 11
 15. ( 2)( 0x1) Base1::virtual_mem_func(void) 
                           Proc       Info       [53] endref 18, int
 16. ( 3)(   0) this       Param      Info       [32] Const Pointer to Class(extended file 0, index 2)
 17. ( 2)(   0) Base1::virtual_mem_func(void) 
                           End        Info       symref 15
 18. ( 1)(   0) Base1      End        Info       symref 2
 19. ( 1)(   0) Base2      Tag        Info       [55] Class(extended file 0, index 20)
 20. ( 1)(0x18) Base2      Block      Info       symref 42
 21. ( 2)(   0) __vptr     Member     Info       [20] Pointer to Array [(extended file 0, aux 3)0-1:64] 
                                                      of Virtual func table
 22. ( 2)(0x40) __bptr     Member     Info       [20] Pointer to Array [(extended file 0, aux 3)0-1:64] 
                                                      of Virtual func table
 23. ( 2)(   0) Base1      Virtual Base Class 
                                      Info       [17] Class(extended file 0, index 2)
                                                                                
 24. ( 2)(   0) Base2::Base2(void) 
                           Proc       Info       [67] endref 28, Reference Class(extended file 0, index 20)
 25. ( 3)(   0) this       Param      Info       [64] Const Pointer to Class(extended file 0, index 20)
 26. ( 3)(   0) <control>  Param      Info       [ 3] int
 27. ( 2)(   0) Base2::Base2(void) 
                           End        Info       symref 24
 28. ( 2)(   0) Base2::Base2(const Base2&) 
                           Proc       Info       [77] endref 33, Reference Class(extended file 0, index 20)
 29. ( 3)(   0) this       Param      Info       [64] Const Pointer to Class(extended file 0, index 20)
 30. ( 3)(   0) <control>  Param      Info       [ 3] int
 31. ( 3)(   0)            Param      Info       [74] Reference Const Class(extended file 0, index 20)
 32. ( 2)(   0) Base2::Base2(const Base2&) 
                           End        Info       symref 28
 33. ( 2)(   0) Base2::operator =(const Base2&) 
                           Proc       Info       [81] endref 38, Reference Class(extended file 0, index 20)
 34. ( 3)(   0) this       Param      Info       [64] Const Pointer to Class(extended file 0, index 20)
 35. ( 3)(   0) <control>  Param      Info       [ 3] int
 36. ( 3)(   0)            Param      Info       [74] Reference Const Class(extended file 0, index 20)
 37. ( 2)(   0) Base2::operator =(const Base2&) 
                           End        Info       symref 33
 38. ( 2)( 0x1) Base2::virtual_mem_func(void) 
                           Proc       Info       [85] endref 41, int
 39. ( 3)(   0) this       Param      Info       [64] Const Pointer to Class(extended file 0, index 20)
 40. ( 2)(   0) Base2::virtual_mem_func(void) 
                           End        Info       symref 38
 41. ( 1)(   0) Base2      End        Info       symref 20
 42. ( 1)(   0) Base3      Tag        Info       [87] Class(extended file 0, index 43)
 43. ( 1)(0x18) Base3      Block      Info       symref 65
 44. ( 2)(   0) __vptr     Member     Info       [20] Pointer to Array [(extended file 0, aux 3)0-1:64] 
                                                      of Virtual func table
 45. ( 2)(0x40) __bptr     Member     Info       [20] Pointer to Array [(extended file 0, aux 3)0-1:64] 
                                                      of Virtual func table
 46. ( 2)(   0) Base2      Base Class Info       [55] Class(extended file 0, index 20)
 47. ( 2)(   0) Base3::Base3(void) 
                           Proc       Info       [99] endref 51, Reference Class(extended file 0, index 43)
 48. ( 3)(   0) this       Param      Info       [96] Const Pointer to Class(extended file 0, index 43)
 49. ( 3)(   0) <control>  Param      Info       [ 3] int
 50. ( 2)(   0) Base3::Base3(void) 
                           End        Info       symref 47
 51. ( 2)(   0) Base3::Base3(const Base3&) 
                           Proc       Info       [109] endref 56, Reference Class(extended file 0, index 43)
 52. ( 3)(   0) this       Param      Info       [96] Const Pointer to Class(extended file 0, index 43)
 53. ( 3)(   0) <control>  Param      Info       [ 3] int
 54. ( 3)(   0)            Param      Info       [106] Reference Const Class(extended file 0, index 43)
 55. ( 2)(   0) Base3::Base3(const Base3&) 
                           End        Info       symref 51
 56. ( 2)(   0) Base3::operator =(const Base3&) 
                           Proc       Info       [113] endref 61, Reference Class(extended file 0, index 43)
 57. ( 3)(   0) this       Param      Info       [96] Const Pointer to Class(extended file 0, index 43)
 58. ( 3)(   0) <control>  Param      Info       [ 3] int
 59. ( 3)(   0)            Param      Info       [106] Reference Const Class(extended file 0, index 43)
 60. ( 2)(   0) Base3::operator =(const Base3&) 
                           End        Info       symref 56
 61. ( 2)( 0x1) Base3::virtual_mem_func(void) 
                           Proc       Info       [117] endref 64, int
 62. ( 3)(   0) this       Param      Info       [96] Const Pointer to Class(extended file 0, index 43)
 63. ( 2)(   0) Base3::virtual_mem_func(void) 
                           End        Info       symref 61
 64. ( 1)(   0) Base3      End        Info       symref 43
 65. ( 1)(   0) __INTER__Base3_virtual_mem_func_Base1_Base2_Xv 
                           Interlude  Info       thunk(extended file 0, index 61), proc(extended file 0, index 104)
 66. ( 1)(   0) __INTER__Base2_virtual_mem_func_Base1_Xv 
                           Interlude  Info       thunk(extended file 0, index 38), proc(extended file 0, index 108)
 67. ( 1)(0x160) __vtbl_5Base1 
                           Static     SData      [126] Const Array [(extended file 0, aux 3)0-0:64] of Pointer to void
 68. ( 1)(0x168) __vtbl_5Base2 
                           Static     SData      [126] Const Array [(extended file 0, aux 3)0-0:64] of Pointer to void
 69. ( 1)(0x170) __btbl_5Base2 
                           Static     SData      [138] Const Array [(extended file 0, aux 3)0-0:64] of long
 70. ( 1)(0x178) __vtbl_5Base15Base2 
                           Static     SData      [126] Const Array [(extended file 0, aux 3)0-0:64] of Pointer to void
 71. ( 1)(0x180) __vtbl_5Base3 
                           Static     SData      [126] Const Array [(extended file 0, aux 3)0-0:64] of Pointer to void
 72. ( 1)(0x188) __btbl_5Base3 
                           Static     SData      [138] Const Array [(extended file 0, aux 3)0-0:64] of long
 73. ( 1)(0x190) __vtbl_5Base15Base25Base3 
                           Static     SData      [126] Const Array [(extended file 0, aux 3)0-0:64] of Pointer to void
 74. ( 1)(   0) Base1::virtual_mem_func(void) 
                           StaticProc Text       [152] endref 79, int
 75. ( 2)( 0x1) this       Param      Register   [32] Const Pointer to Class(extended file 0, index 2)
 76. ( 2)( 0x4)            Block      Text       symref 78
 77. ( 2)( 0x8)            End        Text       symref 76
 78. ( 1)( 0xc) Base1::virtual_mem_func(void) 
                           End        Text       symref 74
 79. ( 1)(0x14) Base2::virtual_mem_func(void) 
                           StaticProc Text       [154] endref 84, int
 80. ( 2)( 0x1) this       Param      Register   [64] Const Pointer to Class(extended file 0, index 20)
 81. ( 2)( 0x4)            Block      Text       symref 83
 82. ( 2)( 0x8)            End        Text       symref 81
 83. ( 1)( 0xc) Base2::virtual_mem_func(void) 
                           End        Text       symref 79
 84. ( 1)(0x28) Base3::virtual_mem_func(void) 
                           StaticProc Text       [156] endref 89, int
 85. ( 2)( 0x1) this       Param      Register   [96] Const Pointer to Class(extended file 0, index 43)
 86. ( 2)( 0x4)            Block      Text       symref 88
 87. ( 2)( 0x8)            End        Text       symref 86
 88. ( 1)( 0xc) Base3::virtual_mem_func(void) 
                           End        Text       symref 84
 89. ( 1)(0x34) foo(Base1*) Proc      Text       [158] endref 94, int
 90. ( 2)( 0x9) b1         Param      Register   [29] Pointer to Class(extended file 0, index 2)
 91. ( 2)(0x10)            Block      Text       symref 93
 92. ( 2)(0x28)            End        Text       symref 91
 93. ( 1)(0x38) foo(Base1*) End       Text       symref 89
 94. ( 1)(0x6c) main       Proc       Text       [160] endref 104, int
 95. ( 2)( 0xc)            Block      Text       symref 103
 96. ( 3)(-8)   b1         Local      Abs        [29] Pointer to Class(extended file 0, index 2)
 97. ( 3)(-16)  b2         Local      Abs        [61] Pointer to Class(extended file 0, index 20)
 98. ( 3)( 0x9) b3         Local      Register   [93] Pointer to Class(extended file 0, index 43)
 99. ( 3)(-24)  i          Local      Abs        [ 3] int
100. ( 3)(-28)  j          Local      Abs        [ 3] int
101. ( 3)(-32)  k          Local      Abs        [ 3] int
102. ( 2)(0x70)            End        Text       symref 95
103. ( 1)(0x80) main       End        Text       symref 94
104. ( 1)(0x20) __INTER__Base3_virtual_mem_func_Base1_Base2_Xv 
                           StaticProc Text       [162] endref 108, btNil
105. ( 2)(   0)            Block      Text       symref 107
106. ( 2)(0x28)            End        Text       symref 105
107. ( 1)( 0x8) __INTER__Base3_virtual_mem_func_Base1_Base2_Xv 
                           End        Text       symref 104
108. ( 1)( 0xc) __INTER__Base2_virtual_mem_func_Base1_Xv 
                           StaticProc Text       [164] endref 112, btNil
109. ( 2)(   0)            Block      Text       symref 111
110. ( 2)(0x14)            End        Text       symref 109
111. ( 1)( 0x8) __INTER__Base2_virtual_mem_func_Base1_Xv 
                           End        Text       symref 108
112. ( 0)(   0) interlude.cxx 
                           End        Text       symref 0


9.2.3   Namespace Definitions and Uses

See Section 5.3.6.4 for related information.

Source Listing

ns1.h:

namespace ns1 {
    class Cobj {};
    extern int i1;
}

ns2.h:

namespace ns1 {
    int x1(void);
}

ns.C:

#include "ns1.h"
#include "ns2.h"

namespace ns1 {
    extern int part3;
}

int ns1::i1 = 1000;
int ns1::part3 = 3;
int ns1::x1(void) {
    using namespace ns1;
    return i1*10;
}

Symbol Table Contents

File 0 Local Symbols:

  0. ( 0)(   0) ns.C          File      Text    symref 7
  1. ( 1)(   0) ns1::x1(void) Proc      Text    [4] endref 6, int
  2. ( 2)(   0)               Using     Info    [6] symref(file 1, index 1)
  3. ( 2)( 0x8)               Block     Text    symref 5
  4. ( 2)(0x14)               End       Text    symref 3
  5. ( 1)(0x18) ns1::x1(void) End       Text    symref 1
  6. ( 0)(   0) ns.C          End       Text    symref 0

File 1 Local Symbols:

  0. ( 0)(   0) ns1.h         File      Text    symref 8
  1. ( 1)(   0) ns1           Namespace Info    symref 7
  2. ( 2)(   0) ns1::x1(void) Proc      Info    [2] endref 4, int
  3. ( 2)(   0) ns1::x1(void) End       Info    symref 2
  4. ( 2)(   0) i1            Member    Info    [4] int
  5. ( 2)(   0) part3         Member    Info    [4] int
  6. ( 1)(   0) ns1           End       Info    symref 1
  7. ( 0)(   0) ns1.h         End       Text    symref 0

Externals Table:

0. (file 0)(0x50) ns1::i1       Global    SData   [3] int
1. (file 0)(0x58) ns1::part3    Global    Sdata   [3] int
2. (file 0)(   0) ns1::x1(void) Proc      Text    symref 1


9.2.4   Unnamed Namespaces

See Section 5.3.6.4.3 for related information.

Source Listing

uns.C:

namespace {
    int usv1;
    int usv2;
}

int privat(void) {
    return usv1 + usv2;
}

Symbol Table Contents

File 0 Local Symbols:

  0. ( 0)(   0) uns.C           File       Info    symref 13
  1. ( 1)(   0)                 Namespace  Info    symref 5
  2. ( 2)(   0) usv1            Member     Info    [3] int
  3. ( 2)(   0) usv2            Member     Info    [3] int
  4. ( 1)(   0)                 End        Info    symref 1
  5. ( 1)(   0)                 Using      Info    [4] symref(file 0, index 1)
  6. ( 1)(0x50) __unnamed::usv1 Static     SBss    [3] int
  7. ( 1)(0x54) __unnamed::usv2 Static     SBss    [3] int
  8. ( 1)(   0) privat(void)    Proc       Text    [5] endref 12, int
  9. ( 2)( 0x8)                 Block      Text    symref 11
 10. ( 2)(0x1c)                 End        Text    symref 9
 11. ( 1)(0x20)                 End        Text    symref 8
 12. ( 0)(   0)                 End        Text    symref 0


9.2.5   Namespace Aliases

See Section 5.3.6.4.2 for related information.

Source Listing

alias.C:

namespace long_namespace_name {
    extern int nmem;
}

int get_nmem(void) {
    namespace nknm = long_namespace_name;
    namespace nknm2 = nknm;
    return nknm::nmem;
}

Symbol Table Contents

File 0 Local Symbols

  0. ( 0)(   0) alias.C             File      Text   symref 11
  1. ( 1)(   0) long_namespace_name Namespace Info   symref 4
  2. ( 2)(   0) nmem                Member    Info   [3] int
  3. ( 1)(   0) long_namespace_name End       Info   symref 1
  4. ( 1)(   0) get_nmem(void)      Proc      Text   [4] endref 10, int
  5. ( 2)( 0x8)                     Block     Text   symref 9
  6  ( 2)(   0) nknm                Alias     Info   [5] symref(file 0,index 1)
  7  ( 2)(   0) nknm2               Alias     Info   [6] symref(file 0,index 6)
  8. ( 2)(0x10)                     End       Text   symref 5
  9. ( 1)(0x14) get_nmem(void)      End       Text   symref 4
 10. ( 0)(   0) alias.C             End       Text   symref 0

Externals Table

0. (file 0)(0x4) long_namespace_name::nmem Global   Undefined  [3]int
1. (file 0)(  0) get_nmem(void)            Proc     Text       symref 4


9.2.6   Exception-Handling

See Section 3.3.8 for related information.

Source Listing

#include <iostream.h>
 
class Vector {
	int *p;
	int sz;

  public:
	enum { max=1000 };

	Vector(int);

	class Range { };
	class Size { };

	int operator[](int i);

}; // Vector

Vector::Vector(int i) {
	if (i>max) throw Size();
	p=new int[i];
	if (p) sz=i;
	else sz=0;
}

int Vector::operator[](int i) {
	if (0<=i && i<sz) return p[i];
	throw Range();
}

void f() {
	int i;

  	try {
		cout<<"size?";
		cin>>i;     
		Vector v(i);
		cout<<v[i]<<"\n";
	}

	catch (Vector::Range) {
		cout<< "bad news; outta here...\n";
	} 	      

	catch (Vector::Size) {
		cout<< "can't initialize to that size...\n";
	}
	
} // f

main() {
	
	f();
}	

 

Symbol Table Contents

File 0 Local Symbols:

  0. ( 0)(   0) multiexc.cxx File     Text       symref 83
  1. ( 1)(   0) Vector     Tag        Info       [16] Class(extended file 0, index 2)
  2. ( 1)(0x10) Vector     Block      Info       symref 40
  3. ( 2)(   0) <generated_name_0005> 
                           Tag        Info       [19] enum(extended file 0, index 4)
  4. ( 2)(   0) <generated_name_0005> 
                           Block      Info       symref 7
  5. ( 3)(0x3e8) max       Member     Info       [ 2] btNil
  6. ( 2)(   0) <generated_name_0005> End        Info       symref 4
  7. ( 2)(   0) Range      Tag        Info       [22] Class(extended file 0, index 8)
  8. ( 2)( 0x1) Range      Block      Info       symref 14
  9. ( 3)(   0) Vector::Range::operator =(const Vector::Range&) 
                           Proc       Info       [40] endref 13, Reference Class(extended file 0, index 8)
 10. ( 4)(   0) this       Param      Info       [31] Const Pointer to Class(extended file 0, index 8)
 11. ( 4)(   0)            Param      Info       [37] Reference Const Class(extended file 0, index 8)
 12. ( 3)(   0) Vector::Range::operator =(const Vector::Range&) 
                           End        Info       symref 9
 13. ( 2)(   0) Range      End        Info       symref 8
 14. ( 2)(   0) Size       Tag        Info       [44] Class(extended file 0, index 15)
 15. ( 2)( 0x1) Size       Block      Info       symref 21
 16. ( 3)(   0) Vector::Size::operator =(const Vector::Size&) 
                           Proc       Info       [62] endref 20, Reference Class(extended file 0, index 15)
 17. ( 4)(   0) this       Param      Info       [53] Const Pointer to Class(extended file 0, index 15)
 18. ( 4)(   0)            Param      Info       [59] Reference Const Class(extended file 0, index 15)
 19. ( 3)(   0) Vector::Size::operator =(const Vector::Size&) 
                           End        Info       symref 16
 20. ( 2)(   0) Size       End        Info       symref 15
 21. ( 2)(   0) p          Member     Info       [66] Pointer to int
 22. ( 2)(0x40) sz         Member     Info       [ 3] int
 23. ( 2)(   0) Vector::Vector(int) 
                           Proc       Info       [76] endref 27, Reference Class(extended file 0, index 2)
 24. ( 3)(   0) this       Param      Info       [73] Const Pointer to Class(extended file 0, index 2)
 25. ( 3)(   0) i          Param      Info       [ 3] int
 26. ( 2)(   0) Vector::Vector(int) 
                           End        Info       symref 23
 27. ( 2)(   0) Vector::Vector(const Vector&) 
                           Proc       Info       [86] endref 31, Reference Class(extended file 0, index 2)
 28. ( 3)(   0) this       Param      Info       [73] Const Pointer to Class(extended file 0, index 2)
 29. ( 3)(   0)            Param      Info       [83] Reference Const Class(extended file 0, index 2)
 30. ( 2)(   0) Vector::Vector(const Vector&) 
                           End        Info       symref 27
 31. ( 2)(   0) Vector::operator [](int) 
                           Proc       Info       [90] endref 35, int
 32. ( 3)(   0) this       Param      Info       [73] Const Pointer to Class(extended file 0, index 2)
 33. ( 3)(   0) i          Param      Info       [ 3] int
 34. ( 2)(   0) Vector::operator [](int) 
                           End        Info       symref 31
 35. ( 2)(   0) Vector::operator =(const Vector&) 
                           Proc       Info       [92] endref 39, Reference Class(extended file 0, index 2)
 36. ( 3)(   0) this       Param      Info       [73] Const Pointer to Class(extended file 0, index 2)
 37. ( 3)(   0)            Param      Info       [83] Reference Const Class(extended file 0, index 2)
 38. ( 2)(   0) Vector::operator =(const Vector&) 
                           End        Info       symref 35
 39. ( 1)(   0) Vector     End        Info       symref 2
 40. ( 1)(   0) __throw_Q16Vector4Size 
                           Tag        Info       [96] struct(extended file 0, index 41)
 41. ( 1)(0x10) __throw_Q16Vector4Size 
                           Block      Info       symref 45
 42. ( 2)(   0) type_signature 
                           Member     Info       [99] Pointer to char
 43. ( 2)(0x40) thunk      Member     Info       [99] Pointer to char
 44. ( 1)(   0) __throw_Q16Vector4Size 
                           End        Info       symref 41
 45. ( 1)(0x3c0) __throw_Q16Vector4Size 
                           Static     Data       [176] Array [(extended file 7, aux 9)0-1:128] 
                                                       of struct(extended file 0, index 41)
 46. ( 1)(0x3a0) __throw_Q16Vector5Range 
                           Static     Data       [176] Array [(extended file 7, aux 9)0-1:128] 
                                                       of struct(extended file 0, index 41)
 47. ( 1)(   0) Vector::Vector(int) 
                           Proc       Text       [184] endref 57, Reference Class(extended file 0, index 2)
 48. ( 2)( 0xa) this       Param      Register   [73] Const Pointer to Class(extended file 0, index 2)
 49. ( 2)( 0x9) i          Param      Register   [ 3] int
 50. ( 2)(0x20)            Block      Text       symref 56
 51. ( 3)(-8)   __t8       Local      Abs        [44] Class(extended file 0, index 15)
 52. ( 3)(0x3c0) __throw_Q16Vector4Size 
                           Static     Data       indexNil 
 53. ( 3)(-16)  __t9       Local      Abs        [10] unsigned long
 54. ( 3)(-24)  __t10      Local      Abs        [194] Pointer to Array [(extended file 7, aux 9)0-0:32] of int
 55. ( 2)(0x74)            End        Text       symref 50
 56. ( 1)(0xb4) Vector::Vector(int) 
                           End        Text       symref 47
 57. ( 1)(0xb4) Vector::operator [](int) 
                           Proc       Text       [200] endref 65, int
 58. ( 2)(0x28) this       Param      Abs        [73] Const Pointer to Class(extended file 0, index 2)
 59. ( 2)( 0x9) i          Param      Register   [ 3] int
 60. ( 2)(0x1c)            Block      Text       symref 64
 61. ( 3)(-16)  __t11      Local      Abs        [22] Class(extended file 0, index 8)
 62. ( 3)(0x3a0) __throw_Q16Vector5Range 
                           Static     Data       indexNil 
 63. ( 2)(0x44)            End        Text       symref 60
 64. ( 1)(0x7c) Vector::operator [](int) 
                           End        Text       symref 57
 65. ( 1)(0x130) f(void)   Proc       Text       [202] endref 78, void
 66. ( 2)(0x1c)            Block      Text       symref 77
 67. ( 3)(-32)  i          Local      Abs        [ 3] int
 68. ( 3)(-48) __current_try_block_decl 
                           Local      Abs        indexNil 
 69. ( 3)(0x28)            Block      Text       symref 72
 70. ( 4)(-24)  v          Local      Abs        [16] Class(extended file 0, index 2)
 71. ( 3)(0xab)            End        Text       symref 69
 72. ( 3)(0xac)            Block      Text       symref 74
 73. ( 3)(0xe3)            End        Text       symref 72
 74. ( 3)(0xe4)            Block      Text       symref 76
 75. ( 3)(0x113)           End        Text       symref 74
 76. ( 2)(0x11c)           End        Text       symref 66
 77. ( 1)(0x130) f(void)   End        Text       symref 65
 78. ( 1)(0x260) main      Proc       Text       [204] endref 82, int
 79. ( 2)(0x10)            Block      Text       symref 81
 80. ( 2)(0x18)            End        Text       symref 79
 81. ( 1)(0x24) main       End        Text       symref 78
 82. ( 0)(   0) multiexc.cxx End      Text       symref 0

 


9.3   Fortran


9.3.1   Common Data

See Section 5.3.6.6 for related information.

Source Listing

comm.f:

C  main program             
	INTEGER IND, CLASS(10)
	REAL MARKS(50)
	COMMON CLASS,MARKS,IND
	CALL EVAL(5)
	STOP
	END
C
	SUBROUTINE EVAL(PERF)
	INTEGER PERF,JOB(10),PAR
	REAL GRADES(50)
	COMMON JOB,GRADES,PAR
	RETURN
	END

 

Symbol Table Contents

File 0 Local Symbols:
  
  0. ( 0)(    0) comm.f     File       Text        symref 13
  1. ( 1)(    0) comm$main_ Proc       Text        [25] endref 6, btNil
  2. ( 2)( 0x10)            Block      Text        symref 5
  3. ( 3)(    0) _BLNK__    Static     Common      [39] struct(extended file 1, index 1)
  4. ( 2)( 0x44)            End        Text        symref 2
  5. ( 1)( 0x44) comm$main_ End        Text        symref 1
  6. ( 1)( 0x44) eval_      Proc       Text        [42] endref 12, btNil
  7. ( 2)(    0) PERF       Param      VarRegister [11] 32-bit long
  8. ( 2)(  0x4)            Block      Text        symref 11
  9. ( 3)(    0) _BLNK__    Static     Common      [56] struct(extended file 2, index 1)
 10. ( 2)(  0x4)            End        Text        symref 8
 11. ( 1)(  0x8) eval_      End        Text        symref 6
 12. ( 0)(    0) comm.f     End        Text        symref 0

File 1 Local Symbols:
  
  0. ( 0)(    0) _BLNK__    File       Text        symref 7
  1. ( 1)( 0xf4) _BLNK__    Block      Common      symref 6
  2. ( 2)(0x780) IND        Member     Info        [ 5] 32-bit long
  3. ( 2)(    0) CLASS      Member     Info        [ 6] Array [(extended file 0, aux 11)1-10:4] of 32-bit long
  4. ( 2)(0x140) MARKS      Member     Info        [12] Array [(extended file 0, aux 11)1-50:4] of float
  5. ( 1)(    0)            End        Common      symref 1
  6. ( 0)(    0) _BLNK__    End        Text        symref 0

File 2 Local Symbols:
  
  0. ( 0)(    0) _BLNK__    File       Text        symref 7
  1. ( 1)( 0xf4) _BLNK__    Block      Common      symref 6
  2. ( 2)(    0) JOB        Member     Info        [ 5] Array [(extended file 0, aux 11)1-10:4] of 32-bit long
  3. ( 2)(0x780) PAR        Member     Info        [11] 32-bit long
  4. ( 2)(0x140) GRADES     Member     Info        [12] Array [(extended file 0, aux 11)1-50:4] of float
  5. ( 1)(    0)            End        Common      symref 1
  6. ( 0)(    0) _BLNK__    End        Text        symref 0

Externals table:
0. (file  0) (   0) MAIN__             Proc       Text       symref 1
1. (file  0) (0xf4) _BLNK__            Global     Common     indexNil 
2. (file  0) (   0) comm$main_         Proc       Text       symref 1
3. (file  0) (0x44) eval_              Proc       Text       symref 6
4. (file  0) (   0) for_stop           Proc       Undefined  indexNil 
5. (file  0) (   0) for_set_reentrancy Proc       Undefined  indexNil 
6. (file  0) (   0) _fpdata            Global     Undefined  indexNil 



			***FILE DESCRIPTOR TABLE***

  filename             address            vstamp -g sex      lang flags
       cbLine  ---------------iBase/count----------------------------------
     lnOffset     sym      line      pd    string     opt     aux   rfd
comm.o:
  comm.f               0x0000000000000000 0x0000  0  el   Fortran readin
            0       0         0       0         0       0       0     0
            5      13        20       2        44       0      59     0
  _BLNK__              0x0000000000000000 0x0000  0  el   Fortran merge
            0      13         0       2        44       0      59     0
            0       7         0       0        33       0      18     0
  _BLNK__              0x0000000000000000 0x0000  0  el   Fortran merge
            0      20         0       2        77       0      77     0
            0       7         0       0        32       0      18     0

 


9.3.2   Alternate Entry Points

See Section 5.3.6.7 for related information.

Source Listing

aent.f:

      program entryp

      print *, "In entryp, the main routine"
      call anentry()
      call anentry1(2,3)
      call anentry1a(2,3,4,5,6,7)
      call asubr()
      print *, "exiting..."

      end

      subroutine asubr
      real*4 areal /1.2345E-6/
      print *, "In asubr"
      return

      entry anentry
      print *, "In anentry"
      return

      entry anentry1(a,b,c,d,e,f)
      a = 1
      b = 2
      print *, "In anentry1"
      return

      include 'entrya.h'

      entry anentry2(b,a)
      print *, "In anentry2"
                  return

      entry anentry3
      include 'entryb.h'
                return

      end

 

Symbol Table Contents

File 0 Local Symbols:

  0. ( 0)(    0) aent.f     File       Text        symref 30
  1. ( 1)(    0) entryp_    Proc       Text        [ 4] endref 5, btNil
  2. ( 2)( 0x14)            Block      Text        symref 4
  3. ( 2)( 0xf8)            End        Text        symref 2
  4. ( 1)(0x108) entryp_    End        Text        symref 1
  5. ( 1)(0x108) asubr_     Proc       Text        [ 6] endref 29, btNil
  6. ( 2)( 0x20)            Block      Text        symref 28
  7. ( 3)(0x610) AREAL      Static     Data        [ 8] float
  8. ( 3)(0x17c) anentry_   Proc       Text        [ 9] endref -1, btNil
  9. ( 4)(0x1f0) anentry1_  Proc       Text        [11] endref -1, btNil
 10. ( 5)(  0xa) A          Param      VarRegister [ 8] float
 11. ( 5)(  0x9) B          Param      VarRegister [ 8] float
 12. ( 5)( -144) C          Param      Var         [ 8] float
 13. ( 5)( -152) D          Param      Var         [ 8] float
 14. ( 5)( -160) E          Param      Var         [ 8] float
 15. ( 5)( -168) F          Param      Var         [ 8] float
 16. ( 5)(0x290) anentry1a_ Proc       Text        [13] endref -1, btNil
 17. ( 6)(  0xa) A          Param      VarRegister [ 8] float
 18. ( 6)(  0x9) B          Param      VarRegister [ 8] float
 19. ( 6)( -144) C          Param      Var         [ 8] float
 20. ( 6)( -152) D          Param      Var         [ 8] float
 21. ( 6)( -160) E          Param      Var         [ 8] float
 22. ( 6)( -168) F          Param      Var         [ 8] float
 23. ( 6)(0x330) anentry2_  Proc       Text        [15] endref -1, btNil
 24. ( 7)(  0x9) B          Param      VarRegister [ 8] float
 25. ( 7)(  0xa) A          Param      VarRegister [ 8] float
 26. ( 7)(0x3ac) anentry3_  Proc       Text        [17] endref -1, btNil
 27. ( 7)(0x384)            End        Text        symref 6
 28. ( 6)(0x3a0) asubr_     End        Text        symref 5
 29. ( 5)(    0) aent.f     End        Text        symref 0

Externals table:
0. (file 0) (    0) MAIN__             Proc       Text       symref 1
1. (file 0) (    0) entryp_            Proc       Text       symref 1
2. (file 0) (0x108) asubr_             Proc       Text       symref 5
3. (file 0) (0x290) anentry1a_         Proc       Text       symref 16
4. (file 0) (0x1f0) anentry1_          Proc       Text       symref 9
5. (file 0) (0x17c) anentry_           Proc       Text       symref 8
6. (file 0) (    0) for_set_reentrancy Proc       Undefined  indexNil 
7. (file 0) (    0) for_write_seq_lis  Proc       Undefined  indexNil 
8. (file 0) (0x330) anentry2_          Proc       Text       symref 23
9. (file 0) (0x3ac) anentry3_          Proc       Text       symref 26
10.(file 0) (    0) _fpdata            Global     Undefined  indexNil 


			***PROCEDURE DESCRIPTOR TABLE***

    name      prof rfrm  isym iline  iopt   regmask  regoff  fpoff fp
   address    guse gpro lnOff lnLow lnHigh fregmask  frgoff lcloff pc

aent.o:
  aent.f           [0 for 7]
    entryp_     0   0      1     0    -1  0x04000200   -112    112 30
      0x000     1   8      0     1    10  0x00000000      0      0 26
    asubr_      0   0      5    66    -1  0x04001e00   -256    256 30
      0x108     1   8      8    12    37  0x00000000      0      0 26
    anentry_    0   0      8    95    -1  0x04001e00   -256    256 30
      0x17c     1   8     11    17    -1  0x00000000      0      0 26
    anentry1_   0   0      9   124    -1  0x04001e00   -256    256 30
      0x1f0     1   8     14    21    -1  0x00000000      0      0 26
    anentry1a_  0   0     16   164    -1  0x04001e00   -256    256 30
      0x290     1   8     20     1    -1  0x00000000      0      0 26
    anentry2_   0   0     23   204    -1  0x04001e00   -256    256 30
      0x330     1   8     25    29    -1  0x00000000      0      0 26
    anentry3_   0   0     26   235    -1  0x04001e00   -256    256 30
      0x3ac     1   8     28    33    -1  0x00000000      0      0 26

 


9.3.3   Array Descriptors

See Section 5.3.8.9 for related information.

Source Listing

arraydescs.f:

! -*- Fortran -*-

        integer, allocatable, dimension(:,:) :: alloc_int_2d
        real, pointer, dimension(:) :: pointer_real_1d

        allocate(alloc_int_2d(10,20))

        call zowie(alloc_int_2d)

	end
	
contains

        subroutine zowie(assumed_int_2d)
         integer, dimension(:,:) :: assumed_int_2d
         print *, assumed_int_2d
         return
        end subroutine

 

Symbol Table Contents

File 0 Local Symbols:
  
  0. ( 0)(    0) arraydescs.f        File       Text        symref 43
  1. ( 1)(    0) main$arraydescs_    Proc       Text        [ 4] endref 26, btNil
  2. ( 2)( 0x40) $f90$f90_array_desc Block      Info        symref 10
  3. ( 3)(    0) dim                 Member     Info        [ 6] 8-bit int
  4. ( 3)( 0x40) element_length      Member     Info        [ 7] 32-bit long
  5. ( 3)( 0x80) ptr                 Member     Info        [ 9] Pointer to float
  6. ( 3)(0x140) ies1                Member     Info        [10] 32-bit long
  7. ( 3)(0x180) ub1                 Member     Info        [11] 32-bit long
  8. ( 3)(0x1c0) lb1                 Member     Info        [12] 32-bit long
  9. ( 2)(    0) $f90$f90_array_desc End        Info        symref 2
 10. ( 2)( 0x58) $f90$f90_array_desc Block      Info        symref 21
 11. ( 3)(    0) dim                 Member     Info        [16] 8-bit int
 12. ( 3)( 0x40) element_length      Member     Info        [17] 32-bit long
 13. ( 3)( 0x80) ptr                 Member     Info        [19] Pointer to 32-bit long
 14. ( 3)(0x140) ies1                Member     Info        [20] 32-bit long
 15. ( 3)(0x180) ub1                 Member     Info        [21] 32-bit long
 16. ( 3)(0x1c0) lb1                 Member     Info        [22] 32-bit long
 17. ( 3)(0x200) ies2                Member     Info        [23] 32-bit long
 18. ( 3)(0x240) ub2                 Member     Info        [24] 32-bit long
 19. ( 3)(0x280) lb2                 Member     Info        [25] 32-bit long
 20. ( 2)(    0) $f90$f90_array_desc End        Info        symref 10
 21. ( 2)( 0x14)                     Block      Text        symref 25
 22. ( 3)(0x450) POINTER_REAL_1D     Static     Bss         [13] struct(extended file 0, index 2)
 23. ( 3)(0x3c0) ALLOC_INT_2D        Static     Data        [26] struct(extended file 0, index 10)
 24. ( 2)(0x160)                     End        Text        symref 21
 25. ( 1)(0x170) main$arraydescs_    End        Text        symref 1
 26. ( 1)(0x170) zowie_              Proc       Text        [29] endref 42, btNil
 27. ( 2)( 0x58) $f90$f90_array_desc Block      Info        symref 38
 28. ( 3)(    0) dim                 Member     Info        [31] 8-bit int
 29. ( 3)( 0x40) element_length      Member     Info        [32] 32-bit long
 30. ( 3)( 0x80) ptr                 Member     Info        [34] Pointer to 32-bit long
 31. ( 3)(0x140) ies1                Member     Info        [35] 32-bit long
 32. ( 3)(0x180) ub1                 Member     Info        [36] 32-bit long
 33. ( 3)(0x1c0) lb1                 Member     Info        [37] 32-bit long
 34. ( 3)(0x200) ies2                Member     Info        [38] 32-bit long
 35. ( 3)(0x240) ub2                 Member     Info        [39] 32-bit long
 36. ( 3)(0x280) lb2                 Member     Info        [40] 32-bit long
 37. ( 2)(    0) $f90$f90_array_desc End        Info        symref 27
 38. ( 2)(  0x9) ASSUMED_INT_2D      Param      VarRegister [41] struct(extended file 0, index 27)
 39. ( 2)( 0x34)                     Block      Text        symref 41
 40. ( 2)(0x1f4)                     End        Text        symref 39
 41. ( 1)(0x220) zowie_              End        Text        symref 26
 42. ( 0)(    0) arraydescs.f        End        Text        symref 0

 


9.4   Pascal


9.4.1   Sets

See Section 5.3.8.13 for related information.

Source Listing

program sets(input,output);

type digitset=set of 0..9;

var odds,evens:digitset;

begin

  odds:=[1,3,5,7,9];
  evens:=[0,2,4,6,8];

end.

 

Symbol Table Contents

File 0 Local Symbols:
  
  0. ( 0)(   0) set.p      File       Text       symref 10
  1. ( 1)(0x50) $dat       Static     SBss       indexNil 
  2. ( 1)(   0) main       Proc       Text       [ 8] endref 9, btNil
  3. ( 2)( 0x4)            Block      Text       symref 8
  4. ( 3)(   0) digitset   Typdef     Info       [16] set of(extended file 0, index 10)
  5. ( 3)(  -8) odds       Local      Abs        [16] set of(extended file 0, index 10)
  6. ( 3)( -16) evens      Local      Abs        [16] set of(extended file 0, index 10)
  7. ( 2)(0x1c)            End        Text       symref 3
  8. ( 1)(0x24) main       End        Text       symref 2
  9. ( 0)(   0) set.p      End        Text       symref 0

 


9.4.2   Subranges

See Section 5.3.8.12 for related information.

Source Listing

subrange.p:

program years(input,output);

type century=0..99;

var year:century;

begin
 
readln(year);

end.

 

Symbol Table Contents

File 0 Local Symbols:

  0. ( 0)(   0) subrange.p File       Text       symref 9
  1. ( 1)(0xc0) $dat       Static     SBss       indexNil 
  2. ( 1)(   0) main       Proc       Text       [ 8] endref 8, btNil
  3. ( 2)(0x10)            Block      Text       symref 7
  4. ( 3)(   0) century    Typdef     Info       [10] range0..99 of(extended file 0, index 2): 8
  5. ( 3)(  -8) year       Local      Abs        [10] range0..99 of(extended file 0, index 2): 8
  6. ( 2)(0x68)            End        Text       symref 3
  7. ( 1)(0x74) main       End        Text       symref 2
  8. ( 0)(   0) subrange.p End        Text       symref 0

 


9.4.3   Variant Records

See Section 5.3.8.11 for related information.

Source Listing

variant.p:

program variant(input,output);

type    employeetype=(h,s,m);
	employeerecord=record
		id:integer;
		case status: employeetype of     
		  	h: (rate:real;
			    hours:integer;);	
			s: (salary:real);
			m: (profit:real);
	end; { record }

var 	employees:array[1..100] of employeerecord;

begin
  
	employees[1].id:=1;
	employees[1].profit:=0.06;

end.

 

Symbol Table Contents

File 0 Local Symbols
 
 0. (0)(    0) variant.p      File       Text       symref 28
 1. (1)(    0) VARIANT        StaticProc Text       [2] endref 27, btNil
 2. (2)(    0) EMPLOYEETYPE   Block      Info       symref 7
 3. (3)(    0) H              Member     Info       [0] btNil
 4. (3)(  0x1) S              Member     Info       [0] btNil
 5. (3)(  0x2) M              Member     Info       [0] btNil
 6. (2)(    0) EMPLOYEETYPE   End        Info       symref 2
 7  (2)( 0x10) EMPLOYEERECORD Block      Info       symref 23
 8  (3)(    0) ID             Member     Info       [1] int
 9  (3)( 0x20) STATUS         Member     Info       [5] enum(extended file 1, index 2)
10. (3)(  0x9)                Block      Variant    symref 22
11. (4)(  0xc)                Block      Info       symref 15
12. (5)( 0x40) RATE           Member     Info       [11] float
13. (5)( 0x60) HOURS          Member     Info       [1] int
14  (4)(    0)                End        Info       symref 11
15. (4)( 0x11)                Block      Info       symref 18
16. (5)( 0x40) SALARY         Member     Info       [11] float
17. (4)(    0)                End        Info       symref 15
18. (4)( 0x16)                Block      Info       symref 21
19. (5)( 0x40) PROFIT         Member     Info       [11] float
20. (4)(    0)                End        Info       symref 18
21. (3)(  0x9)                End        Variant    symref 10
22. (2)(    0) EMPLOYEERECORD End        Info       symref 7
23. (2)( 0x18)                Block      Text       symref 26
24. (3)(-1600) EMPLOYEES      Local      Abs        [32] Array [(extended file 1, aux 27)1-100:128] 
                                                    of struct (extended file 1, index 7)
25. (2)( 0x30)                End        Text       symref 23
26. (1)( 0x40) VARIANT        End        Text       symref 1
27. (0)(    0) variant.p      End        Text       symref 0