Veri açıklayıcısı - Data descriptor
Olarak bilgisayar , bir veri tanımlayıcı verileri tanımlayan bir yapı ihtiva eden bir bilgidir.
Veri tanımlayıcıları kullanılabilecek derleyici gibi dillerde çalışma zamanında bir yazılım yapısı olarak, Ada veya PL / I veya bazı bilgisayarlarda bir donanım yapısı gibi olarak Burroughs büyük sistemler .
Veri tanımlayıcıları tipik olarak adlandırılan argüman bilgi geçirmek için çalışma zamanında kullanılır subroutinler . HP OpenVMS ve Multics argüman tanımlayıcı için sistem genelinde dilden bağımsız standartlara sahip. Tanımlayıcılar, aynı zamanda, bir şekilde sadece tam çalışma zamanında bilinen veriler, ilgili bilgileri saklamak için kullanılan dinamik olarak tahsis edilmiş bir dizi .
Bir aksine uyuşturucu vektörü , bir veri tanımlayıcı adres bilgilerini içermiyor.
Örnekler
IBM tarafından kullanılan aşağıdaki açıklayıcı Şirket PL / I bir tanımlamak için karakter dizesini :
+--------+--------+--------+--------+ | desc | string | | flags | | type | type | (res) | | +--------+--------+--------+--------+ | maximum string length | | | +--------+--------+--------+--------+ byte 0 1 2 3
- 'Azalan türü', bu bir eleman tanımlayıcı yerine bir dizi veya yapı tanımlayıcısı olduğunu gösterir 2'dir.
- 'Dize türü' Bu uzunluğu değişen veya olmayan değişen bir karakter veya biraz dize olduğunu gösterir. 2, bir sigara olarak değiştirilmesi, (sabit uzunluklu) karakter dizisini gösterir.
- '(Res)' karakteri dizeleri için kullanılmaz ayrılmış bir bayt olduğunu.
- 'bayraklar' dizesi, kodlamasını belirtmek EBCDIC veya ASCII ve değişen dizeleri uzunluğunun kodlama.
- 'Maksimum dizi uzunluğu' sigara değişen dizeleri dize gerçek uzunluğu veya değişen dizeleri için maksimum uzunluğudur.
İşte bir kaynağı olan dizi Multics gelen tanımlayıcısı. Tanımlar baz dizi bilgileri için bir yapı ve her boyut için bir yapı içerir. (Multics 36 bitlik kelimelerle sistemlerde ran).
dcl 1 array based aligned, 2 node_type bit(9) unaligned, 2 reserved bit(34) unaligned, 2 number_of_dimensions fixed(7) unaligned, 2 own_number_of_dimensions fixed(7) unaligned, 2 element_boundary fixed(3) unaligned, 2 size_units fixed(3) unaligned, 2 offset_units fixed(3) unaligned, 2 interleaved bit(1) unaligned, 2 c_element_size fixed(24), 2 c_element_size_bits fixed(24), 2 c_virtual_origin fixed(24), 2 element_size ptr unaligned, 2 element_size_bits ptr unaligned, 2 virtual_origin ptr unaligned, 2 symtab_virtual_origin ptr unaligned, 2 symtab_element_size ptr unaligned, 2 bounds ptr unaligned, 2 element_descriptor ptr unaligned; dcl 1 bound based aligned, 2 node_type bit(9), 2 c_lower fixed(24), 2 c_upper fixed(24), 2 c_multiplier fixed(24), 2 c_desc_multiplier fixed(24), 2 lower ptr unaligned, 2 upper ptr unaligned, 2 multiplier ptr unaligned, 2 desc_multiplier ptr unaligned, 2 symtab_lower ptr unaligned, 2 symtab_upper ptr unaligned, 2 symtab_multiplier ptr unaligned, 2 next ptr unaligned;
Ayrıca bakınız
Referanslar
Bu bilgisayar programlama lı makale bir taslaktır . Sen Vikipedi'ye katkıda bulunabilirsiniz genişletmeden . |