لغات البرمجة

مقال: مقدمة لـ YAML

لغة YAML (YAML Ain’t Markup Language) هي لغة تسلسل البيانات قابلة للقراءة من قبل الإنسان. تم تطويرها بشكل أساسي لتكون لغة تكوين، ولكن يمكن استخدامها في تطبيقات عديدة أخرى حيث يتم تخزين البيانات (مثل إخراج عمليات التصحيح) أو نقلها (مثل رؤوس المستندات). تستهدف YAML العديد من التطبيقات التي يستهدفها XML، لكنها تتبنى نهجًا أكثر تقليدية وهو نهج مينيمالي يفتقر إلى التوافق مع SGML. يعتبر YAML 1.2 مجموعة فرعية من JSON، وهو تنسيق آخر لتسلسل البيانات يستخدم القوسين المنحنيين والمربعين بدلاً من البادئات.

تدعم YAML أنواع بيانات مخصصة، ولكنها تقوم بتشفير المقاييس (مثل السلاسل والأعداد الصحيحة والعائمة) والقوائم والمصفوفات المتجانسة (المعروفة أيضًا باسم القواميس أو القوائم المتجانسة). تعتمد هذه الأنواع على لغة البرمجة Perl، على الرغم من أن جميع لغات البرمجة عالية المستوى المستخدمة بشكل شائع تشترك في مفاهيم مشابهة لها. تدعم YAML كل من التنسيق الطوبوغرافي الذي يستخدم الإزاحة للإشارة إلى التدرج والتنسيق الأكثر اكتمالًا الذي يستخدم [] للقوائم و{} للمصفوفات. الصيغة المركزة حول النقطة المستخدمة للتعبير عن أزواج المفاتيح والقيم مستوحاة من رؤوس البريد الإلكتروني كما هو محدد في RFC 0822، وفاصل الوثيقة “—” مستعار من MIME (RFC 2045).

تدعم YAML التعليقات والتبويب الدلالي والتعليقات السطرية وتتبع الأخطاء في السطر بواسطة “#” كرمز للتعليق. تم استخدام مجموعة الهروب من C والتنسيق الأبيض للسلاسل متعددة الأسطر مستوحاة من HTML. يمكن أن تحتوي القوائم والمصفوفات على قوائم ومصفوفات متداخلة، مما يشكل هيكل شجري؛ ويمكن تمثيل الرسوم البيانية التعسفية باستخدام رموز YAML (مشابهة لـ XML في SOAP). تهدف YAML إلى أن تكون قابلة للقراءة والكتابة بشكل متواصل، وهو ميزة مستوحاة من SAX.

تتوفر دعم لقراءة وكتابة YAML لعدة لغات برمجة مختلفة. وتحتوي بعض محررات الشفرة المصدرية مثل Emacs وبعض بيئات التطوير المتكاملة على ميزات تجعل تحرير YAML أسهل، مثل طي الهياكل المتداخلة أو تحديد أخطاء الصيغة تلقائيًا.

للمزيد من المعلومات يمكن الاطلاع على صفحة ويكيبيديا لـ YAML.