واصف البيانات

في مجال الحوسبة ، يُعدّ واصف البيانات بنية تحتوي على معلومات تصف البيانات.

يمكن استخدام واصفات البيانات في المترجمات ، [ 1 ] كهيكل برمجي في وقت التشغيل في لغات مثل Ada [ 2 ] أو PL/I ، أو كهيكل أجهزة في بعض أجهزة الكمبيوتر مثل أنظمة Burroughs الكبيرة مع واصفاتها .

تُستخدم مُعرّفات البيانات عادةً أثناء التشغيل لتمرير معلومات الوسائط إلى الإجراءات الفرعية المُستدعاة . يمتلك كلٌ من OpenVMS [ 3 ] و Multics [ 4 ] معايير مُستقلة عن اللغة على مستوى النظام لمُعرّفات الوسائط. كما تُستخدم المُعرّفات لتخزين معلومات حول البيانات التي لا تُعرف بالكامل إلا أثناء التشغيل، مثل المصفوفة المُخصصة ديناميكيًا .

أمثلة

يستخدم برنامج IBM Enterprise PL/I الواصف التالي لوصف سلسلة الأحرف : [ 5 ]

إزاحة البايت+0+1+2+3
0نوع الواصفنوع السلسلة(res)الأعلام
4أقصى طول للوتر
  • 'desc type' هو 2 للإشارة إلى أن هذا وصف عنصر وليس وصف مصفوفة أو بنية.
  • يشير نوع السلسلة إلى أنها سلسلة أحرف أو بتات، ذات طول متغير أو ثابت. يشير الرقم 2 إلى سلسلة أحرف ثابتة الطول.
  • '(res)' هو بايت محجوز لا يستخدم لسلاسل الأحرف.
  • تشير "العلامات" إلى ترميز السلسلة، EBCDIC أو ASCII ، وترميز طول السلاسل المتغيرة.
  • "الطول الأقصى للسلسلة" هو الطول الفعلي للسلسلة بالنسبة للسلاسل غير المتغيرة، أو الطول الأقصى للسلاسل المتغيرة.

هذا هو مصدر واصف المصفوفة من Multics. [ 6 ] تتضمن التعريفات بنية لمعلومات المصفوفة الأساسية وبنية لكل بُعد. (كان Multics يعمل على أنظمة ذات كلمات 36 بت).

dcl 1 array based alignment, 2 نوع العقدة بت (9) غير محاذٍ، بتتان محجوزتان (34) غير محاذيتين، 2 عدد الأبعاد ثابت (7) غير محاذٍ، 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, بتتان متداخلتان (1) غير محاذيتين، 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 element_descriptor ptr unaligned; dcl 1 bound based alignment, 2 نوع العقدة بت (9)، 2 c_lower fixed(24), 2 c_upper fixed(24), 2 c_multiplier fixed(24), 2 c_desc_multiplier fixed(24), 2 مؤشر سفلي غير محاذٍ، 2 مؤشر علوي غير محاذٍ، مؤشر المضاعف 2 غير محاذٍ، 2 desc_multiplier ptr unaligned, 2 symtab_lower ptr unaligned, 2 symtab_upper ptr unaligned, 2 symtab_multiplier ptr unaligned, 2 المؤشر التالي غير محاذٍ؛ 

انظر أيضاً

مراجع

  1. هولت، ريتشارد سي. (يوليو 1987). "واصفات البيانات: نموذج وقت الترجمة للبيانات والعنونة" . معاملات ACM في لغات البرمجة والأنظمة . 9 (3): 367-389 . doi : 10.1145/24039.24051 .
  2. شونبرغ، محرر. "مقارنة لغة آدا مع لغة سي++" . مزايا لغة آدا 95. تم الاطلاع عليه في 15 يناير 2013 .
  3. هيوليت-باكارد. "الفصل 7: واصفات وسيطات OpenVMS" . وثائق أنظمة HP OpenVMS . مؤرشف من الأصل في 13 يوليو 2020. تم الاطلاع عليه في 11 يوليو 2020 .
  4. هانيويل، المحدودة (1979). دليل مبرمجي Multics - دليل كتابة الأنظمة الفرعية (PDF) . الصفحات 2-13-2-18. 
  5. شركة آي بي إم (2006). دليل برمجة Enterprise PL/I لنظام التشغيل z/OS (ملف PDF) . صفحة 385. 
  6. معهد ماساتشوستس للتكنولوجيا/هانيويل. "array.incl.pl1" . Multics/ldd/include . تم الاسترجاع في 20 يناير 2012 .