هذا هو الأمر الذي يمكن تشغيله في مزود الاستضافة المجانية OnWorks باستخدام إحدى محطات العمل المجانية المتعددة على الإنترنت مثل Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت
برنامج:
اسم
الدول - أداة معالجة النصوص awk alike
موجز
الولايات [-hvV] [-D فار=فال] [-f ملف] [-o ملف إلاخراج] [-p مسار] [-s com.startstate] [-W مستوى]
[اسم الملف ...]
الوصف
المحافظة هي أداة معالجة نصوص مشابهة مع بعض ملحقات آلة الحالة. إنها
مصممة لتسليط الضوء على التعليمات البرمجية المصدرية للبرنامج وللمهام المماثلة التي تكون فيها معلومات الحالة
يساعد على معالجة المدخلات.
في لحظة واحدة من الزمن، المحافظة في حالة واحدة، كل منها مشابه تمامًا لعمل awk
البيئة، لديهم تعبيرات عادية تتم مطابقتها من المدخلات والإجراءات
والتي يتم تنفيذها عند العثور على تطابق. من كتل العمل، الولايات يستطيع اداء
تحولات الدولة؛ ويمكن أن ينتقل إلى حالة أخرى تستمر المعالجة منها.
يتم تسجيل التحولات الدولة ذلك الولايات يمكن العودة إلى حالة الاتصال بمجرد التيار
انتهت الدولة.
أكبر الفرق بين الولايات وawk، إلى جانب ملحقات آلة الحالة، هو ذلك
الولايات ليست موجهة نحو الخط. إنه يطابق رموز التعبير العادية من الإدخال ومرة واحدة
تتم معالجة المطابقة، وتستمر المعالجة من الموضع الحالي، وليس من
بداية سطر الإدخال التالي.
OPTIONS
-D فار=فال, - تعريف =فار=فال
تعريف المتغير فار أن يكون لها قيمة السلسلة فال. الكتابة فوق تعريفات سطر الأوامر
تعريفات متغيرة تم العثور عليها من ملف التكوين.
-f ملف, - ملف =ملف
قراءة تعريفات الحالة من الملف ملف. كافتراضي، الولايات يحاول قراءة الدولة
تعريفات من الملف الولايات.st في دليل العمل الحالي.
-ح ، --مساعدة
اطبع رسالة مساعدة قصيرة واخرج.
-o ملف, - الخرج =ملف
حفظ الإخراج إلى ملف ملف بدلاً من طباعته المعياري.
-p مسار, - المسار =مسار
اضبط مسار التحميل على مسار. مسار التحميل الافتراضي هو الدليل، والذي منه
يتم تحميل ملف تعريفات الحالة.
-s حالة, - الدولة =حالة
بدء التنفيذ من الدولة حالة. يحل هذا التعريف محل حالة البدء التي تم حلها
من بداية منع.
-الخامس، - الإسراف
زيادة إسهاب البرنامج.
-الخامس، --الإصدار
طباعة الولايات الإصدار والخروج.
-W مستوى, - تحذير =مستوى
اضبط مستوى التحذير على مستوى. القيم المحتملة ل مستوى هي:
ضوء التحذيرات الضوئية (افتراضي)
الكل كل التحذيرات
تنص على PROGRAM FILES
المحافظة يمكن أن تحتوي ملفات البرنامج على بداية منع، com.startrules و قواعد الأسماء كتل ل
تحديد الحالة الأولية، حالة التعاريف و التعبيرات.
إنّ كافة أنواع عهود الـ بداية الكتلة هي الرئيسية () لـ الولايات البرنامج، يتم تنفيذه عند بدء تشغيل البرنامج النصي لـ
كل ملف إدخال ويمكنه إجراء أي تهيئة يحتاجها البرنامج النصي. عادة أيضاً
يدعو check_startrules() و check_namerules() البدائيون الذين يحلون الأولي
الحالة من اسم ملف الإدخال أو البيانات الموجودة في بداية ملف الإدخال.
فيما يلي نموذج لكتلة البداية التي تقوم بتهيئة متغيرين وتقوم بالبدء القياسي
حل الدولة:
بداية
{
أ = 1 ؛
msg = "مرحبا بالعالم!";
check_startrules ()؛
check_namerules ()؛
}
بمجرد معالجة كتلة البداية، تستمر معالجة الإدخال من البداية
الدولة.
يتم حل الحالة الأولية من خلال المعلومات الموجودة في ملف com.startrules و قواعد الأسماء
كتل. تحتوي كلا الكتلتين على تعبير عادي - أزواج الرموز، عندما يكون الشكل عاديًا
تتم مطابقة التعبير من اسم من بداية ملف الإدخال، الأولي
تتم تسمية الحالة بالرمز المقابل. على سبيل المثال، البداية والاسم التاليان
يمكن للقواعد التمييز بين ملفات C وFortran:
قواعد الأسماء
{
/\.(c|h)$/ c;
/\.[fF]$/ fortran;
}
com.startrules
{
/-\*- [cC] -\*-/ c;
/-\*- فورتران -\*-/ فورتران;
}
إذا تم استخدام هذه القواعد مع كتلة البداية المعروضة مسبقًا، الولايات تحقق أولا من
بداية ملف الإدخال. إذا كان لديه سلسلة - * - c - * -، من المفترض أن يحتوي الملف على C
الكود وتبدأ المعالجة من الحالة المسماة c. إذا كانت بداية الإدخال
يحتوي الملف على سلسلة - * - فورتران - * -، الحالة الأولية هي فورتران. إذا لم يكن هناك أي من قواعد البداية
متطابق، فإن اسم ملف الإدخال مطابق لقواعد الأسماء. إذا انتهى الاسم إلى
لاحقة c or C، نذهب إلى الولاية c. إذا كانت اللاحقة f or F، الحالة الأولية هي فورتران.
إذا فشلت قاعدتا البداية والاسم في حل حالة البداية، الولايات مجرد نسخ لها
الإدخال إلى الإخراج غير معدلة.
يمكن أيضًا تحديد حالة البدء من سطر الأوامر باستخدام الخيار -s, --حالة.
تعريفات الحالة لها بناء الجملة التالي:
حالة { على سبيل المثال {البيانات} ... }
أين على سبيل المثال هو: تعبير عادي أو تعبير خاص أو رمز و البيانات قائمة
من التصريحات. عند التعبير على سبيل المثال مطابق من المدخلات، كتلة البيان
أعدم. يمكن لكتلة البيان الاتصال الولايات' البدائيات، الإجراءات الفرعية المحددة من قبل المستخدم، استدعاء
حالات أخرى، وما إلى ذلك. بمجرد تنفيذ الكتلة، تستمر معالجة الإدخال من
موضع الإدخال الحالي (والذي ربما تم تغييره إذا كانت كتلة البيان تسمى أخرى
تنص على).
التعبيرات الخاصة ابدأ و END يمكن استخدامها في مكان على سبيل المثال. تعبير ابدأ
يتطابق مع بداية الحالة، ويتم استدعاء الكتلة الخاصة به عند إدخال الحالة.
التعبير END يتطابق مع نهاية الحالة، ويتم تنفيذ الكتلة الخاصة به عندما الولايات يترك
الدولة.
If على سبيل المثال هو رمز، يتم البحث عن قيمته من البيئة العالمية وإذا كان كذلك
التعبير العادي، فإنه يطابق الإدخال، وإلا فسيتم تجاهل هذه القاعدة.
إنّ كافة أنواع عهود الـ الولايات يمكن أن يحتوي ملف البرنامج أيضًا على تعبيرات المستوى الأعلى، ويتم تقييمها بعد ذلك
يتم تحليل ملف البرنامج ولكن قبل معالجة أي ملفات إدخال أو بداية كتلة هو
مقيمة.
أولية وظائف
دعوة (رمز)
الانتقال إلى الدولة رمز ومتابعة معالجة ملف الإدخال من تلك الحالة. وظيفة
يعود مهما كان رمز انتهاء الدولة عائد أعلى عاد البيان.
calln (الاسم)
اعجاب دعوة ولكن الحجة الاسم يتم تقييمها ويجب أن تكون قيمتها سلسلة. ل
على سبيل المثال، يمكن استخدام هذه الوظيفة لاستدعاء حالة يتم تخزين اسمها فيها
المتغير.
check_namerules ()
حاول حل حالة البداية من قواعد الأسماء قواعد. إرجاع الوظيفة 1 إذا بدأت
تم حل الحالة أو 0 غير ذلك.
check_startrules ()
حاول حل حالة البداية من com.startrules قواعد. إرجاع الوظيفة 1 إذا بدأت
تم حل الحالة أو 0 غير ذلك.
CONCAT (شارع, ...)
قم بتسلسل سلاسل الوسيطات وإرجاع النتيجة كسلسلة جديدة.
الطفو (أي وقت)
تحويل الوسيطة إلى رقم النقطة العائمة.
غيتنف (شارع)
الحصول على قيمة متغير البيئة شارع. إرجاع سلسلة فارغة إذا كان المتغير فار is
غير معرف.
مادبا (أي وقت)
تحويل الوسيطة إلى عدد صحيح.
الطول (بند, ...)
حساب طول سلاسل أو قوائم الوسيطة.
الإدارية (أي وقت, ...)
إنشاء قائمة جديدة تحتوي على عناصر أي وقت...
ذعر (أي وقت, ...)
الإبلاغ عن خطأ غير قابل للاسترداد والخروج بالحالة 1. الوظيفة لا تعود أبدًا.
طباعة (أي وقت, ...)
تحويل الوسائط إلى سلاسل وطباعتها إلى الإخراج.
نطاق (مصدر, بداية, النهاية)
إرجاع نطاق فرعي من مصدر ابتداء من الموقف بداية (شاملا) ل النهاية
(حصريا). دعوى مصدر يمكن أن تكون سلسلة أو قائمة.
REGEXP (سلسلة)
تحويل السلسلة سلسلة إلى تعبير عادي جديد.
regexp_syntax (دبابة, بناء الجملة)
تعديل تركيبات أحرف التعبير العادي عن طريق تعيين بناء جملة جديد بناء الجملة لـ
حرف دبابة. القيم المحتملة ل بناء الجملة هي:
"ث" الحرف هو مكون الكلمة
' ' الشخصية ليست مكونًا للكلمة
regmatch (سلسلة, REGEXP)
تحقق مما إذا كانت السلسلة سلسلة يطابق التعبير العادي REGEXP. ترجع الوظائف أ
حالة النجاح المنطقية وتعيين سجلات التعبير الفرعي $n.
regsub (سلسلة, REGEXP, SUBST)
بحث في التعبير العادي REGEXP من السلسلة سلسلة واستبدال المطابقة
سلسلة فرعية مع السلسلة SUBST. إرجاع السلسلة الناتجة. الاستبدال
سلسلة SUBST يمكن أن تحتوي $n إشارات إلى n:th التعبير الفوقي بين قوسين.
regsuball (سلسلة, REGEXP, SUBST)
اعجاب regsub ولكن استبدل جميع مطابقات التعبير العادي REGEXP من السلسلة
سلسلة مع السلسلة SUBST.
require_state (رمز)
التحقق من أن الدولة رمز ويعرف. إذا كانت الحالة المطلوبة غير محددة، فإن
تحاول الوظيفة تحميلها تلقائيًا. إذا فشل التحميل، سيتم إنهاء البرنامج
مع رسالة خطأ.
انقسم (REGEXP, سلسلة)
سلسلة الانقسام سلسلة لسرد مطابقات التعبير العادي مع الأخذ في الاعتبار REGEXP as
فاصل العناصر.
sprintf (معاهدة المواد الانشطارية، ...)
تنسيق الوسائط وفقًا لـ معاهدة المواد الانشطارية وإرجاع النتيجة كسلسلة.
ستركمب (str1, str2)
إجراء مقارنة حساسة لحالة الأحرف للسلاسل str1 و str2. إرجاع الوظيفة
القيمة التي هي:
-1 سلسلة str1 أقل من str2
0 السلاسل متساوية
1 سلسلة str1 أكبر من str2
سلسلة (أي وقت)
تحويل الوسيطة إلى سلسلة.
com.strncmp (str1, str2, NUM)
إجراء مقارنة حساسة لحالة الأحرف للسلاسل str1 و str2 مقارنة في
أقصى NUM حرفا.
سلسلة فرعية (شارع, بداية, النهاية)
إرجاع سلسلة فرعية من السلسلة شارع ابتداء من الموقف بداية (شاملا) ل النهاية
(حصريا).
مدمج المتغيرات
$. رقم سطر الإدخال الحالي
$n القادم n:التعبير الفرعي للتعبير العادي بين قوسين من أحدث حالة
التعبير العادي أو من regmatch بدائي
$` كل شيء قبل التعبير العادي المطابق. هذا قابل للاستخدام عند استخدامه مع
القادم regmatch بدائية. محتويات هذا المتغير غير محددة عند استخدامها في
كتل الإجراءات لإحالة البيانات قبل التعبير العادي للكتلة.
$B اسم مستعار ل $`
أرجف قائمة أسماء ملفات الإدخال
اسم الملف
اسم ملف الإدخال الحالي
برنامج اسم البرنامج (عادة الولايات)
الإصدار سلسلة إصدار البرنامج
استخدم الحالات عبر الإنترنت باستخدام خدمات onworks.net