واصف البيانات
في مجال الحوسبة ، يُعدّ واصف البيانات بنية تحتوي على معلومات تصف البيانات.
يمكن استخدام واصفات البيانات في المترجمات ، [ 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 المؤشر التالي غير محاذٍ؛
انظر أيضاً
مراجع
- ↑ هولت، ريتشارد سي. (يوليو 1987). "واصفات البيانات: نموذج وقت الترجمة للبيانات والعنونة" . معاملات ACM في لغات البرمجة والأنظمة . 9 (3): 367-389 . doi : 10.1145/24039.24051 .
- ↑ شونبرغ، محرر. "مقارنة لغة آدا مع لغة سي++" . مزايا لغة آدا 95. تم الاطلاع عليه في 15 يناير 2013 .
- ↑ هيوليت-باكارد. "الفصل 7: واصفات وسيطات OpenVMS" . وثائق أنظمة HP OpenVMS . مؤرشف من الأصل في 13 يوليو 2020. تم الاطلاع عليه في 11 يوليو 2020 .
- ↑ هانيويل، المحدودة (1979). دليل مبرمجي Multics - دليل كتابة الأنظمة الفرعية (PDF) . الصفحات 2-13-2-18.
- ↑ شركة آي بي إم (2006). دليل برمجة Enterprise PL/I لنظام التشغيل z/OS (ملف PDF) . صفحة 385.
- ↑ معهد ماساتشوستس للتكنولوجيا/هانيويل. "array.incl.pl1" . Multics/ldd/include . تم الاسترجاع في 20 يناير 2012 .
- هياكل البيانات حسب منصة الحوسبة
- تنفيذ لغة البرمجة
- نماذج أولية لبرمجة الحاسوب
