CALM/arwiki huggingface dataset:
ويستعان في هذا التحليل بأداة يمكنها تحديد نوع البنية الصرفية لكل كلمة، واختيار الوظيفة النحوية التي يوافقها، وتعيين العلامة الإعرابية المناسبة لها.
دور الباحث اللغوي في التحليل اللغوي الحاسوبي.
يتمثل الدور الأساسي لأدوات التحليل اللغوي في مساعدة الباحث في إتمام عمليات التحليل اللغوي، وليس في الاستغناء عنه. فنسبة الدقة التي تصل إليها هذه الأدوات ليست كتلك التي يحققها الباحث المتخصص، فهي وإن كانت مرتفعة في أدوات التحليل الصرفي حيث يمكنها أن تتجاوز 96% فإنها في التحليل الدلالي والنحوي لا تزال في حاجة إلى تطوير ودعم لغوي وتقني، ويهدف هذا الموقع إلى إقامة تفاعل مثمر بين الأدوات بما تتميز به من دقة وسرعة، والباحث بما يتميز به من قدرة على الفهم والترجيح.
ناحية إسكندرون أو ناحية الإسكندرونة ناحية عثمانية كانت تابعة لمركز سنجق حلب الذي كان يقع ضمن ولاية حلب. في عام 1914. بلغ عدد سكان الناحية ؟؟؟ نسمة عام 1914.
إن تخليق (تكوين) البرنامج هو شكل خاص من أشكال البرمجة الأوتوماتيكية التي غالبا ما تقترن بتقنية للتحقق الرسمي .إن الهدف هو أن يتم أوتوماتيكيا إنشاء برنامج يفي بصورة مبرهنة بمواصفات معينة عالية المستوى. وعلى عكس غيرها من تقنيات البرمجة الأوتوماتيكية ، فإنه عادة ما تكون المواصفات بيانات غير خوارزمية لحسابات منطقية مناسبة.
نشأت الفكرة في الستينيات بهدف استخدام تقنيات الذكاء الاصطناعي لبناء مبرمجا أوتوماتيكيا , باستغلال صلات عميقة بين الرياضيات ونظرية البرمجة. إن عدم النجاح المبكر يعني أن النهج الرياضي قد فقد حظوته سريعا جنبا إلى جنب مع الحماس لعموما.على الرغم من أن بعض الباحثين لا يزالون يبحثون باتباع نهج رسمية فإنه قد تم الحصول على المزيد من النجاح عن طريق الجمع بين تقنيات الاستنباط الخالص ذات الأساليب البحثية القوية والحد من تطبيقها على مجالات معينة.
المشاكل والقيود.
يرى البعض أن مفهوم جيل البرنامج الآلي ينتج عنه في كثير من الأحيان سوءا في "عوملة" المعلومات. يقال إن التكرار المعروف يجب ألا يؤخذ في الاعتبار ولا يعرض.ومع ذلك فإن لغات برمجة معينة في بعض الأحيان تكون محدودة بحيث أنه على المرء أن يعرض تكرارا لمفهوم أو نمط من أجل الاستمرار في استخدام نفس اللغة. وفيما يلي التوضيح المبسط للعوملة:
Poor Factoring:
x = a + a + a + a + a
Good Factoring:
x = a * 5 (where the asterisk is "times")
إن جيل البرنامج يميل إلى التركيز على آلية التكرار الموضحة في المثال الأول، عندما ربما يجد نهج آخر تجريدا أعلى وهو في هذه الحالة الضرب. هناك أمثلة أخرى تشمل وضع المعايير في ملف أو قاعدة بيانات بدلا من التطبيق الداخلي للكود.
معالج RCA CDP 1802 والمعروف أيضاً بـ COSMAC (كمبيوتر المصفوفة المتآلفة المتماثلة التكميلية) وهو معالج دقيق CMOS (µP) 8 بت أنتجته شركة RCA في أوائل عام 1976. ويتم تصنيعه حاليا بواسطة شركة انترسيل كمعالج دقيق عالية الثقة. ويختلف هيكل معالج 1802 عن معظم المعالجات الدقيقة 8 بت الأخرى.
في 1970 و1971 قام جوزيف ويسبكر نظام كمبيوتر جديد بهيكل 8 بت، وأصدرت شركة RCA عمل ويسبكر باسم COSMAC 1801R و1801 Uفي أوائل عام 1975 باستخدام عمليتها CMOS (باسم COSMOS اختصار سيليكون تكميلية/ أشباه موصلات أكسيد فلزي Complementary Silicon/Metal-oxide Semiconductor). وفي 1976 قام فريقي بقيادة جيري هرزوج بتكامل الرقيقتين في رقاقة واحدة، وهي رقاقة 1802.
يتمتع RCA 1802 بتصميم CMOS ثابت مع عدم وجود الحد الأدنى من التردد على مدار الساعة بحيث يمكن تشغيله بسعة منخفضة جدا وبطاقة منخفضة أيضا. فلديه ناقل متوازي 8 بت وناقل بيانات ثنائي الاتجاه وناقل عنوان مضاعف (أي بايت نظام عالي لعنوان 16 بت وبايت نظام منخفض للعنوان الذي يتناوب في استخدام خطو ناقل العنوان المادي 8 بت عن طريق الوصول إلى خطوط الناقل في دورات مختلفة على مدار الساعة).
و RCA 1802 بها بت واحدة، منفذ مخرجات قابل للبرمجة أربعة دبابيس مخرجات يتم اختبارها مباشرة بواسطة تعليمات الفرع.
ونموذج I/O مرن وقابل للبرمجة وبه ساعة أحادية المرحلة مع جهاز تذبذب سريعة على رقية رقاقة. وجموعة سجلة تتكون من ستة عشر سجلات 16 بت. ويمكن وضع وعداد البرنامج (PC) في أي من هذه الأماكن الأمر الذي يوفر طريقا سهلا لتنفيذ عدادات برامج أو مؤشرات أو سجلات.
بالإضافة إلى تقنية CMOS المعيارية أصبح 1802 أيضاً متوفرا ومصنوع بتقنية عملية أشباه موصلات من السليكون على الياقوت Silicon on Sapphire، الأمر الذي يعطيه درجة من المقاومة الإشعاع وتفرغ كهربي (ESD)، وإلى جانب قدراته البالغة في خفض الطاقة فإن هذا يجعل الرقاقة مناسبة تماما في تطبيقات الفضاء (وأيضاً في الوقت الذي تم فيه إنتاج معالج 1802 توافر عدد قليل من المعالجات الدقيقة الإشعاعية في الأسواق).
استخدمت المركبة الفضائية جاليليو معالجات 1802. كما زُعم على نحو غير صحيح غالبا أن المعالج 1802 استخدم في المركبات الفضائية الأولي فيكينج Viking وفوياجر Voyager لكنه لم يكن متوفر في وقت تصميم هذا المركبات الفضائية، وتصف المصادر الرئيسية أجهزة كميوتر فيكينج Viking وفوياجر Voyager على أن لها هيكل يختلف تماما عن المعالج 1802 وليست قائمة على معالج دقيق. واستخدم معالج 1802 بشكل واسع في الأقمار الصناعية التي تدور في مدار الأرض بشك أساسي في كمبيوترها الرئيسي لكن منذ التسعينات حيث انتشر استخدام جهاز كمبيوتر نظم الاتصالات عن بعد التحكم في الطائرات قليلة التعقيد.
اُستخدم معالج 1802 أيضاً في ACAL، نظام قائم على معالج دقيق لتحديد الغازات في الحرب الكيماوية. وقد تم تصميم ACAL بواسطة وسائل Oldelft / DelftK، شركة هولندية متخصصة في أعمال الدفاع والعسكرية. وقد حصل ACAL فقط على مرحلة النموذج الأولي ولم تحقق إنتاج أبدا.
من بين التطبيقات التجارية نظام التحكم في دخول بناء رئيسي MIL، صُنع في أستراليا، وتم وسُوق في أوروبا في الثمانينات.
كان الكثير من المعالجات الدقيقة تقوم على معالج 1802 ومن بينها COMX-35 وCOSMAC ELF (1976 وCOSMAC VIP وNetronics ELF II وQUEST SuperELF وFinnish Telmac 1800 وOscom Nano وYugoslave Peccom 32 و64 بالإضافة إلى لوحة مفاتيح RCA Sudio II video game console (واحدة من أول لوح المفاتيح المستخدمة في الرسومات النقطية)
أول لغة عالية المستوى كانت متوفرة لدى معالج 1802 كانت فورث Forth من إنتاج شركة فورث Forth في 1976.
السجلات وI/O.
من الخصائص الهامة في معالج 1802 هي ملف السجلات والذي يتكون من 16 ملف كل ملف 16 بت. ويمكنك اختيار أي من هذه السجلات الستة عشر على أن يكون حاسب البرنامج من خلال استخدام تعيمات SEX. للسجل R0 استخدام خاص في الاحتفاظ بعنوان الذاكر لجهاز التحكم المثبت DMA.
للمعالج خمسة خطوت I/O خاصة، ويجود مخرج Q واحد يمكن ضبطه باستخدام تعليما SEQ وإعادة ضبطة باستخدام REQ. ويوجد ثلاثة مدخلات خارجية: EF1 وEF2 وEF3 وEF4 ويوجد 8 تعليمات فرعية مخصصة للتفريع المشروط حسب حالة خطوت المدخلات هذه.
خطوط EF وQ مُبالغ في استخدامهم بصورة نموذجية في أجهزة الكمبيوتر الهواة القائمة على RCA معالج 1802 بسبب المعالجة المناسبة للخطوط. وهي نموذجية بالنسبة لخط Q لتوجيه واجهة حالة كاسيت CASSETTE وLED وواجهة RS-232 والسماعات. وهذا يعني أن المستخدم يمكنه بالفعل سماع بيانات الكاسيت أو RS-232 التي يتم نقلها.
مكالمات فرعية subroutine call.
لا يحتوي المعالج على مكالمة فرعية فورية وتعليمات RET على الرغم من إمكانية محاكاتهما. وملف السجلات يجعل من الممكن بعض آليات العودة والمكالمة الفرعية المهمة على الرغم من أنها مناسبة للبرامج الصغيرة بصورة أفضل من التشفير بغرض عام. كما يمكن إجراء المكالمات الفرعية المستخدمة بصفة عامة بسرعة عن طريق الاحتفاظ بعناوينها في أحد السجلات الستة عشر؛ ويمكن استخدام تعليمات SEP لاتصال مكالمة فرعية يوجهها أحد سجلات البت الستة عشر وتعليمات SEP أخرى للإعادة إلى المتصل (SEP اختصار Set Program Counter، وتحدد أي السجلات الستة عشر سيتم استخدامها لعداد البرنامج من هذه النقطة فصاعدا). وقبل أن تعود المكالمة الفرعية تقفز إلى الموقع الذي يسبق نقطة إدخالها حتى يتم توجه السجل بعد إعادة التعليمات التحكم للمتصل إلى القيمة الصحيحة للمرة القادمة. والاختلاف الكبر في هذا البرنامج هو تلقي مكالمتين فرعيتين أو أكثر في رنة واحدة فيتم اتصالهما بترتيب جولة روبين. ففي أجهزة كمبيوتر الهواة الأولى كانت الخدع الشبيهة بذلك تستخدم بصورة عامة في اختراق أفقي لإعادة برمجة عنوان خط الفحص لتكرار كل خط فحص أربع مرات لجهاز التحكم في الفيديو. ولم تكن المكالمات الفرعية مشكلة لأن كافة تعليمات المكالمات CALL مفهرسة (بعض المعالجات لها مكالمات مباشرة فقط)
نماذج المعالجة.
نظرا لأن ناقل العنوان 16 بت وناقل البيانات 8 بت وسجلات الغرض العام الستة عشر جميعها عرضها 16 بت، لكن المتراكم accumulator (ما يُسمى بسجل البيانات أو D-register) هو الوحيد الذي اتساعه 8 بت. ولذلك فإن المتراكم يميل إلى أن يكون عنق زجاجة. وتحويل محتويات أحد السجلات إلى سجل آخر يشمل أربعة تعليمات (أحدهم Get وآخر Put على HI بايت للسجل، وزوج مشابه بالنسبة لـ LO بايت: GHI R1 وPHI R2 وGLO R1 وPLO R2). وبشكل مشابه فإن تحميل ثابت جديد في أحد السجلات (مثل عنوان جديد لقفزة فرعية أو عنوان متغير بيانات) يشمل أيضاً أربعة تعليمات (اثنان بتحميل مباشرة، تعليمات LDI، وواحد لكل نصف ثابت، وكل واحد يعقبه أمر PUT للسجل، PHI وPLO).
نموذجا المعالجة، السجل غير المباشر Indirect register والسجل غير المباشر بزيادة غير تلقائية Indirect register with auto-increment فعالان إلى حد ما للقيام بعمليات 8 بت على البيانات الموجودة في المتراكم. وهناك نماذج معالجة أخرى وهكذا فإن نموذج المعالجة المباشرة direct addressing يحتاج إلى محاكاته باستخدام الأربعة تعليمات المذكورة آنفا لتحميل العنوان في شريط السجل؛ ثم يعقبها تعليمات لاختيار هذا السجل كسجل فهرس؛ ثم يعقبها أخيرا العملية المقصودة على متغير البيانات الذي يُشير إليه العنوان.
نموذج التحميل وDMA.
يحتوي معالج CDP 1802 على جهاز تحكم ثابت DMA، وبه خطان طلب DMA لعمليات مدخلات ومخرجات DMA، ويُستخدم R0 كمؤشر عنوان DMA.
كما يقدم جهاز تحكم DMA أيضاً "نموذج تحميل" خاص يسمح بتحميل الذاكرة تكون مدخلات المعالج، CLEAR وWAIT، نشطة. الأمر الذي يسمح بتحميل البرنامج دون الحاجة إلى برنامج تحميل تمهيدي قائم على ROM. وقد استخدم هذا جهاز الكمبيوتر الدقيق COSMAC E1F وملحقاته لتحميل البرنامج من مفاتيح التبديل أو لوحة مفاتيح عشرية.
توقيت التعليمات.
كفاءة دورة الساعة ضعيفة بالمقارنة بمعظم المعالجات الدقيقة 8 بت. فثمان دورات ساعة تمثل دائرة آلة، ومعظم التعليمات تستغرق في تنفيذها دورتان آلة (16 دورة ساعة)، والتعليمات المتبقية تستغرق ثلاث دورات آلة (24 دورة ساعة). وبالمقارنة نجد أن MOS Technology 6502 يستغقر من 2 إلى 7 دورات ساعة لتنفيذ أمرا واحدا، وIntel 8080 يستغرق من4 إلى 8 دورات ساعة.
رقائق دعم.
في المعالجات الدقيقة الأولى كانت رقاقة جهاز التحكم في عرض الفيديو Video Display Controller للرسومات المصاحبة، CDP1861 لصيغة الفيديو NTSC، (تختلف CDP1864 بالنسبة لـ PAL، تستخدم جهاز التحكم DMA الثابت لعرض الرسومات النقطية.
رقاقة 1861 يمكنها عرض 64 بيكسل بصورة أفقيا و128 بيكسل رأسيا، وعلى الرغم من أن ذلك يتم عن طريق إعادة تحميل سجل R0 إلا أن الدقة قد تقل إلى 46 × 64 أو 64 × 32 لاستخدام مساحة أقل من الذاكرة أو لعرض بيكسلات مربعة. ونظراً لان إطار الحاجز مشابه في من حيث الحجم للذاكرة فإنه من المعتاد أن عرض بياناتك أو برنامجك على الشاشة سيسمح لك بمشاهدة "فكر" الكمبيوتر (أي معالجة بياناته).
البرامج التي تتصرف بجنون وتقوم بشكل عارض بالكتابة فوق بعضها البعض يمكن أن تكون رائعة، فعلى الرغمن من أن النسخة الأسرع لمعالج 1802 يمكن أن تعمل عن د سرعة 5 ميجا هرتز (عند 5 فولت، تبدو أسرع من عند 10 فولت)، إلا أنها عادة ما تعمل عند سرعة 3.58 ميجا هرتز/2 للتناسب مع متطلبات رقائق 1861 التي تعطي سرعة تزيد زيادة طفيفة عن 100,000 أمر في الثانية.
أمثلة للكود.
هذا الكود يقتطف اختبار ALU OPS، فهو روتين تشخيصي:
"Minor parts of this article were originally based on material from the قاموس الحوسبة المجاني على الانترنت، which is under the GFDL".
طبقًا لنظرية الحوسبة، والمعروفة عادةً بنظرية العدد أو التكرار، فإن مجموعة الأعداد الطبيعية S تكون مرقّمة بشكلٍ عوديّ (تراجعي)، وقابلة للعد أو الإحصاء حسابيًا، وتكون قابلة للحسم جزئيًا، ويمكن إثباتها بالبرهان أو يمكن لآلات تورنغ تمييزها والتعرُّف عليها بسهولة إذا:
أو، بشكلٍ مساوٍ،
فالحالة الأولى توضِّح لماذا يُسْتَخدَم مصطلح "قابلة للحسم جزئيًا" في بعض الأحيان؛ في حين أنّ الحالة الثانية تشير إلى سبب استخدام مصطلح "قابلة للإحصاء حسابيًا". وغالبًا ما تُسْتَخدَم الاختصارات r.e. (مرقّمة بشكلٍ عوديّ)، و c.e. (قابلة للإحصاء حسابيًا)، بدلاً من العبارة كاملة حتى في الوسائل المطبوعة.
وفي نظرية التعقيد الحسابي، تكون فئة التعقيد التي تحتوي على جميع المجموعات التي يمكن إحصاء تكرارها (أو المرقّمة بشكلٍ عوديّ) هي أيضًا فئة مرقّمة بشكلٍ عوديّ. أمّا في النظرية العودية أو الحاسوبية، فإنّ شبكة المجموعات المرقّمة بشكلٍ عوديّ والتي تكون تحت الإدراج يُرمَز لها بـ formula_1.
التعريف المنهجيّ.
تكون مجموعة الأعداد الطبيعية S مرقّمة بشكلٍ عوديّ (أو يمكن إحصاء تكرارها)، إذا كان هناك دالة جزئية متكرّرة (أو بالمثل دالة جزئية قابلة للحساب) مجالُها هو S على نحوٍ دقيقٍ تمامًا، أي أنّ الدالة تكون مُعرّفةً فقط إذا كان أحد مدخلاتها هو أحد عناصر المجموعة S.
ويمكن أنْ يمتّد التعريف ليشمل المجموعة العشوائية A القابلة للعّد باستخدام ترقيم جودِل ، فيبيّن هذا الترقيم عناصر المجموعة مؤكِّدًا أن أي مجموعة جزئية من A هي مجموعة مرقّمة بشكلٍ عوديّ (أو يمكن إحصاء تكرارها) وذلك إذا كانت مجموعة أرقام جودِل المناظِرة لها مرقّمة بشكلٍ عوديّ (أو يمكن إحصاء تكرارها).
صِيَغ متكافِئة.
فيما يلي جميع الخصائص المتكافئة لمجموعة الأعداد الطبيعية S:
ويمكن تحقيق التكافؤ بين قابلية الحسم جزئيًا وقابلية العد عن طريق استخدام منهج الدمج أو التداخل.
إن الخصائص الديوفانتية لأي مجموعة مرقّمة بشكلٍ عوديّ (أو يمكن إحصاء تكرارها)- وإن لم تكن بنفس وضوح وحدسية التعريفات السابقة- قد تم اكتشافها بواسطة يوري ماتياسيفيتش كجزء من الحل الهادم للمسألة العاشرة لهيلبرت . وحيث أنّ المجموعات الديوفانتية تسبق نظرية العد أو التكرار في الظهور، لذلك فإنّها تُعّد من الناحية التاريخية أول طريقة لوصف تلك المجموعات (وذلك على الرغم من أنّه قد تمت ملاحظة هذا التشابه فقط بعد أكثر من ثلاثة عقود من ظهور المجموعات المرقّمة بشكلٍ عوديّ).إنّ عدد المتغيرات غير الحرة المذكورة في تعريف وتحديد المجموعة الديوفانتية أعلاه لهو الأكثر معرفةً حتى الآن؛ ومن المحتمل أنّ استخدام عددًا أقل قد يؤدي إلى تعريف جميع المجموعات الديوفانتية.
إذا كانت A و B مجموعتان مرقّمتان بشكلٍ عوديّ، فإنّ "A" ∩ "B", "A" ∪ "B" and "A" × "B" هي مجموعات(يمكن إحصاء تكرارها) مرقّمة بشكلٍ عوديّ، (حيث يرتبط زوج الأعداد الطبيعية المرتب مع عدد طبيعي واحد ليشكِّلا دالة كانتور الثنائية).
إنّ الصورة العكسية لأي مجموعة يمكن إحصاء تكرارها في ظل دالة جزئية متكرِّرة هي أيضًا مجموعة يمكن إحصاء تكرارها.
وتكون أي مجموعة مرقّمة بشكلٍ عوديّ فقط إذا كانت عند المستوى formula_12 من الهرم الحسابي.
ويمكن القول بأنّ المجموعة T مرقمة بشكلٍ عودي ومكمِّل أو co-r.e. إذا كان المكمِّل لها formula_13 مرقّم بشكلٍ عوديّ (أو يمكن إحصاء تكراره). وبالمثل تكون أي مجموعة مرقمة بشكلٍ عودي ومكمِّل فقط إذا كانت عند المستوى formula_14 من الهرم الحسابي.
تكون المجموعة A متكرِّرة (المعنى المرادف: قابلة للحساب) فقط عندما يكون كلاً من A ومتتمة A مرقمًا بشكلٍ عوديّ. وتكون أي مجموعة متكرِّرة فقط إذا كانت تمثِّل مجال أي دالة متزايدة كلية ومتكرّرة أو إذا كانت محدودة.
وتتصِّف بعض المجموعات الثنائية التي يمكن إحصاء تكرارها بأنّه يمكن فصلها بنجاح بينما لايمكن فصل بعضها الآخر.
وفقًا لنظرية تورنغ – تشرتش ، فإنّ أي دالة قابلة للحساب بشكلٍ فعّال يمكن حسابها بواسطة آلة تورنغ، وعليه فإنّ المجموعة S تكون مرقّمة بشكلٍ عوديّ فقط إذا كان هناك خوارزم يضْفِي صفة الإحصاء أو التعداد على S. وعلى الرغم من هذا فإنّه لا يمكن الأخذ بهذا التعريف كتعريف اصطلاحي أو منهجيّ وذلك لأنّ نظرية تورنغ – تشرتش ماهي إلا مجرد تخمينٌ عاميّ وليست حقيقة مسلَّم بها منهجيًا.
إنّ تعريف المجموعة التي يمكن إحصاء تكرارها بأنّها مجال أي دالة جزئية – وليست بالأحرى نطاق أي دالة كلية متكرّرة – لهو تعريفٌ شائع في النصوص المعاصرة. وبفحص نظريات التكرار المعمَّمة كنظرية التكرار ألفا، يتضِّح لنا السبب وراء هذا الاختيار حيث يرى البعض أنّ التعريف المُناظر للمجالات أكثر طبيعية. بينما نجد أنّ نصوصٍ أخرى تتناول هذا التعريف فيما يخص الإحصاءات والتعدادات، الأمر الذي يتكافأ مع المجموعات التي يمكن إحصاء تكرارها.
ظهر في عام 1979 ؛ قبل 32 عاماالمصممم ايك كاوليشا و Mike Cowlishaw, المطور مايك كاوليشا وآى بى إم Mike Cowlishaw, IBMالإصدار المستقر ANSI X3.274 (1996 منذ 14 عام) قواعد الكتابة ديناميكي، كل شيء يعتبر سلسلة (REXX الكلاسيكي) أو جسم (REX الجسم) التطبيقات الرئيسية VM/SP ثم بعده, TSO/E V2 ثم بعده, IBMNetRexx,[1] و Object REXX,و Open Object و Rexxو ,[2]Regina ,[3] others اللهجاتObject REXX و، Open Object و Rexx و، NetRexxتأثرت بـPL/I, و Algol و، EXEC 2 أثرت فيNetRexx, و Object REXX و، Open Object و Rexx
REXX (المنفذ الممتد المعدل) هي لغة برمجة تفسير التي استحدثت في آي بي إم IBM. وهى لغة برمجة رفيعة المستوى منظمة التي صممت لتكون سهلة التعلم وسهلة القراءة على حد سواء. كلا من الملكية ومترجمين المصدر المفتوحة لREXX متاحة على نطاق واسع في مجال الحوسبة، والمترجمين المتاحين للحاسباات اي بي ام الكبيرة.
يستخدم Rexx على نطاق واسع كلغة جلو glue language، ولغة الماكرو macro، وغالبا ما تستخدم لمعالجة البيانات والنصوص توليد التقارير، وهذه أوجه التشابه مع بيرل Perl يعني أن Rexx يعمل بشكل جيد في برمجة الواجهة العمومية للمعبر (CGI) ويستخدم في الواقع لهذا الغرض. Rexx هي لغة برمجة النصوص المكتوبة في بعض أنظمة التشغيل، على سبيل المثال OS/2, MVS, VM, AmigaOS، وأيضا يستخدم كلغة ماكرو داخلية في بعض البرامج الأخرى، مثل، KEDIT, THE، المحاكي الطرفي ZOC. بالإضافة إلى ذلك، يمكن استخدام لغة Rexx للبرمجة في برمجة النصوص ووحدات الماكرو في أي برنامج يستخدم برمجة ويندوز المضيفه، ولغة برمجة المشغلات أكتف أكس (مثلأً VBScript و JScript) لو تم تثبيت إحدى مشغلات ريكس Rexx (أنظر أدناه).
Rexx متوفر مع VM/SP إلى، الإصدار 2 من TSO/E ،إلى OS/2 (1.3 on up), و PC DOS (7.0 or 2000) و Windows NT 4.0 (الموارد Resource Kit: Regina). نصوص REXX لـ OS/2 ويندوز القائم على ان تي NT-based Windows لديه تمدد اسم الملف. cmdوالسطر الأول من النص يحدد نظام التشغيل الذي عليه النص.
REXX لديها الخصائص والميزات التالية :
REXX تحتوي فقط على 23 تعليمات بديهية عموماً (على سبيل المثال call و parse, و select) مع الحد الأدنى من علامات الترقيم ومتطلبات التنسيق. وهى أساسية ولغة ذات شكل حر تقريبا مع نوع واحد فقط من البيانات، وسلسلة الأحرف، وهذه الفلسفة تعني أن جميع البيانات مرئية (رمزية)، ومميزات تصحيح الأخطاء وتعقب الخطأ مبسطة.
قواعد REXX مشابهة لـ PL/I، ولكن رموزها أقل، وهذا يجعلها أصعب في التحليل (حسب البرنامج) ولكن أسهل في الاستخدام، باستثناء الحالات التي يكون فيها سلوك PL/I قد يؤدي إلى مفاجآت.
REXX صمت ونفذت أولا، في لغة التجميع، كمشروع "لوقته "بين 20 مارس 1979 ومنتصف 1982 من قبل مايك كاوليشاو Mike Cowlishaw من آي بي إم، أصلا كلغة برمجة نصية لتحل محل الغاتEXEC و EXEC 2.[4] وقد صممت لتكون لغة برمجة نصية أو ماكرو لأي نظام. على هذا النحو، تعتبر REXX سلفاً لـ Tcl و Python. وكان هدف REXX من قبل مؤلفها أن تكون مبسطة وأسهل للتعلم نسخة من لغة البرمجة PL/I. ومع ذلك، بعض الاختلافات من PL/I قد تخدع الغافلين.
وقد وصفت لأول مرة للجمهور في مؤتمر شير 56 SHARE 56 في هيوستن، تكساس، في 1981 ،[5] حيث تفاعل العملاء، وأيدها تيد جونستون في SLAC، أدت إلي تضمينها على أنها منتج آي بي إم في عام 1982.
على مدى السنين، آي بي إم ضمنت REXX تقريبا في جميع نظم التشغيلها (VM/CMS و VM/GCS و MVS TSO/E و AS/400 و VSE/ESA و AIX, CICS/ESA و PC DOS, و OS/2,) واستحدثت إصدارات متوفرة ل نوفيل نت وار Novell NetWare، ويندوزWindows,، جافا Java، ولينوكسLinux.
تمت كتابة النسخة الأولية التي ليست من آي بي إم لـ PC DOS عن طريق تشارلز داني في 5 / 1984. والإصدار الأول للمترجم ظهر في عام 1987، كتب لـ CMS بواسطة وندين وودروف. [6] وتم استحداث إصدارات أخرى أيضاً لـ Atari و AmigaOS و Unix (أشكال متعددة) و Solaris و DEC, Windows و Windows CE و Pocket PC و DOS و Palm OS و QNX و OS/2 و Linux و BeOS و EPOC32 و AtheOS و OpenVMS و OpenEdition و AppleMacintosh, و Mac OS X.[7]،
إصدار Amiga من REXX، يسمى ARexx وكان متضمناً مع 2 AmigaOS وكانت شعبية أبتداءً من البرمجة وكذلك مراقبة التطبيق. العديد من تطبيقات أميغا لديها "منفذ ARexx" "ARexx port" متضمن فيهم مما يتيح السيطرة على التطبيق من Rexx. نص Rexx وحيد يمكنه التبديل بين منافذ Rexx المختلفة من أجل السيطرة على العديد من التطبيقات التي تعمل.
العديد من إصدارات برامج REXX المجانية متاحة. وفي عام 1992، ظهري معظم المنافذ مفتوحة المصدر التي تستخدم على نطاق واسع : REXX/imc من إيان كولير ليونكس وريجينا Regina من اندرس كريستنسن (التي اعتمدت لاحقاً من قبل مارك هيسلينج Mark Hessling) لويندوز ولينكس. BREXX معروفة لـ WinCE وبرامج Pocket PC.
OS/2 لديه نظام بصري تطويري من واتكم Watcom VX-REXX وكتنت هناك لهجة أخرى VisPro REXX من هوكوير Hockware.
في عام 1996 نشر المعهد الوطني الأمريكي للمعايير (ANSI) مقياساً لREXX : ANSI X3.274–1996 "تكنولوجيا المعلومات -- لغة برمجة REXX". وقد تم نشر أكثر من أربعة وعشرون كتاباً في REXX منذ عام 1985.
منذ منتصف التسعينات، ظهر شكلين حديثين من REXX :
في عام 1990، نظمت كاثي داغر من SLAC أول ندوة مستقلة عن REXX، مما أدى إلى تشكيل رابطة لغة REXX. وتعقد ندوات سنويا.
ملحوظة REXX حدد عيدها ال25 في 20 مارس 2004، الذي احتفل به في بلوجين، بأمانيا في الندوة العالمية الخامسة عشر لرابطة لغة REXX ،في مايو 2004.
يوم 12 أكتوبر 2004، أعلنت آي بي إم خطتهم لإصدار مصادر تنفيذ Object REXX تحت الرخصة العامة المشتركة Common Public License.الإصدارات الأخيرة من Object REXX تحتوي على مشغل البرامج النصية ActiveX WSH لتنفيذ هذا الإصدار من لغة Rexx.
في 22 فبراير 2005، تم الإعلان عن الإصدار الأول العام من كائن Rexxالمفتوح Open Object Rexx (ooRexx). يحتوي هذا المنتج على مشغل البرمجة النصية WSH الذي يسمح لبرمجة لنظام التشغيل ويندوز والتطبيقات بـ Rexx في نفس الشكل تنفيذ مع Visual Basic و Java/J++بتثبيت WSH الافتراضي وبيرل ومشغلات البرمجة النصية ،Perl و Tcl و.Python-third-party ملحق اسم الملف الافتراضي لنصوص ooRexxScript هو *.rxs.
يتم أيضا تثبيت سطر الأوامر مترجم Rexx مع ooRexx، ومن الممكن أيضا تشغيل برامج ooRexxScript من سطر الأوامر بواسطة الأمر CScript (WScript يمكن أيضا أن يتم تشغيلها من سطر الأوامر) استناداً إلى مضيف برمجة ويندوز.
وقد تم تطوير A Rexx IDE, RxxxEd لويندوز. RxSock لشبكة الاتصالات، فضلا عن الإضافات الأخرى، تطبيقات Regina Rexx تم تطويرها، ومترجم Rexx لسطر أوامر ويندوز تم توفيره في معظم الإصدارات المختلفة من ويندوز وتعمل تحت كل منها وكذلك مايكروسوفت دوس MS-DOS.
Rexx القابلة للنقل بواسطة كيلو-واط Kilowatt و Rexx الشخصية بواسطة كويركس Quercus هما نوعان من مترجمين Rexx صممتا لمايكروسوفت دوس MS-DOS ويمكن بالطبع أن تعمل تحت ويندوز وكذلك باستخدام موجه الأوامر.
كتابة إملائية بأحرف كبيرة.
في الأصل كانت تسمى فقط " Rex" و"المنفذ المعدل" ؛ " X" الاضافية تم إضاف لتجنب التعارض مع أسماء المنتجات الأخرى. والتوسع في Rexx إلى المنفذ الموسع المعدل يعتقد أن يكون backronym. وكانت ريكس أصلا كافة أحرفها كبيرة لأن رمز الكمبيوتر المركزي كان موجه بالحرف الكبيرة. وكان النمط في تلك الأيام أن كل أسماء تكون بأحرف كبيرة، ويرجع ذلك جزئيا تقريبا أن كل الرموز كانت لا تزال تكتب بالاحرف الكبيرة حينها، ثم أصبح المنتج REXX، وكلا من طبعات كتاب مايك كاوليشاو Cowlishaw تستخدم الإحرف الكبيرة. منالتسعينات كانت مكتوبة في المجمل Rexx، مع أحرف صغيرة : REXX. اعتبارا من عام 2008، مايك كاوليشا و Mike Cowlishaw يبدو وكأنه يفضل Rexx، وثائق آي بي إم استخدمت REXX، مقاييسANSI استخدمت REXX.
التكرار الحلقي.
بناء التحكم في الحلقة في REXX يبدأ من DO وينتهي مع END نهاية ولكنه يأتي في عدة أشكال. NetRexx تستخدم الكلمة الرئيسية LOOP بدلا من DO لعمل التكرار الحلقي، في حين ooRexx تعامل LOOP و DO بالتساوي في حالة التكرار الحلقي.
الأشكال التقليدية :
With an index variable:
another variant:
قد يتم حذف الخطوة الزائدة (Z أعلاه) وافتراضها إلى 1. ويمكن أيضا حذف الحد الأعلى (Y أعلاه) يمكن حذفها، مما يجعل الحلقة تستمر إلى الأبد. يمكنك أيضا يتم التكرار الحلقي إلى الأبد بدون متغير مؤشر مع هذا :
codice_6
يمكن للبرنامج الخروج من الحلقة الحالية مع تعليمات leave (والذي هو الطريق الطبيعي للخروج من الحلقة "الأبدية")، أو يمكن أن تختصر الطريق مع التعليمات iterate.
النماذج do while و do until متعادلة :
codice_7
and:
codice_8
الاشتراطية.
اختبار الشروط مع إذا IF
codice_9
لاحظ أن فقرة ELSE اختياري.
أو، باختصار :
codice_10
للحصول على تعليمة واحدة، DO و END يمكن حذفها أيضاً :
codice_11
أو، في نسخة موجزة :
codice_12
التفصيل اختياري، ولكنه يساعد على تحسين القراءة.
اختبار الشروط المتعددة.
SELECT هو بناء CASE لـ REXX، مثل غيرها من العديد من البنيات المستمدة من PL/I:
codice_13
NOP لا يشير تنفيذ أي تعليمات.
لاحظ أن بند OTHERWISE (الخلاف) اختياري. إذا تم حذفه ولا يتم استيفاء WHEN الشروط، ثم يتم رفع حالة القواعد.
المتغيرات البسيطة.
المتغيرات في REXX ليس لها أنواع، وفي البداية يتم تقييمها بأسمائهم، في أحرف كبيرة. وهكذا يمكن أن تختلف أنواع المتغيرات مع استخدامها في البرنامج :
codice_14
المتغيرات المركبة.
خلافا للعديد من لغات البرمجة الأخرى، REXX الكلاسيكية لا يوجد لديها دعم مباشر لمصفوفات المتغيرات التي تعالج بمؤشر عددي. بدلا من ذلك فإنها توفر متغيرات مركبة. المتغير المركب يتكون من جذع يليه ذيل A.. يتم استخدام (نقطة) لضم الجذع إلى الذيل. إذا كانت الذيول المستخدمة رقمية، فمن السهل لإنتاج نفس التأثير كمصفوفة.
codice_15
بعد ذلك المتغيرات التالية مع القيم التالية موجودة : stem.1 == 9, stem.2 = 8, stem.3 == 7...
وخلافا للمصفوفات، مؤشر المتغير الجذعي غير مطلوب أن يكون له قيمة عددية. على سبيل المثال، الرمز التالي هو صحيح :
codice_16
في REXX أيضاً من الممكن تحديد قيمة افتراضية للجذع.
stem. = 'Unknown'
stem.1 = 'USA'
stem.44 = 'UK'
stem.33 = 'France'
بعد هذه المهام فإن مصطلح stem.3 سوف ينتج 'شيء غير معروف' 'Unknown'.
ويمكن أيضا حذف كل الجذع مع عبارة DROP.
codice_17
وله أيضاً تأثير إزالة أي قيمة افتراضية معينة سابقا.
بالاتفاق (وليس كجزء من اللغة) مجمع stem.0 غالبا ما يستخدم لتتبع عدد العناصر الموجودة في الساق، على سبيل المثال إجراء لإضافة كلمة إلى قائمة قد تكون مشفرة مثل هذا :
codice_18
ومن الممكن أيضا أن يكون هناك عناصر متعددة في ذيل المتغير امركب. على سبيل المثال :
codice_19
يمكن استخدام عناصر الذيل الرقمي المتعدد لتوفير تأثير مصفوفة متعددة الأبعاد.
تم العثور على ملامح مشابهة لمتغيرات REXX المركبة في العديد من اللغات الأخرى (المصفوفات الترابطية في أووك AWK، علامات الرقم hashes في بيرل Perl، Hashtablesجداول البعثرة في جافا، الخ). ومعظم هذه اللغات توفير تعليمات للتكرار على كل المفاتيح (أو ذيول في لغة REXX) من مثل هذا البناء، ولكن هذا غير موجود في REXX الكلاسيكية. بدلا من ذلك فإنه من الضروري للحفاظ على قوائم المساعدة لقيم الذيل، حسب اقتضاء الأمر. على سبيل المثال في برنامج لعد الكلمات يمكن استخدام الإجراء التالي لتسجيل كل وجود لكلمة.
codice_20
ومن ثم لاحقا
codice_21
في سبيل بعض الوضوح من الممكن الجمع بين هذه التقنيات إلى جذع واحد.
codice_22
ثم لاحقا
codice_23
ومع ذلك، لا يوفر REXX شبكة أمان هنا، إذا كانت إحدى الكلمات رقم كامل أقل من dictionary.0 ستفشل في ظروف غامضة.