سؤال

أنا جديد جدا على ADA، وأنا أحاول القيام ببعض الأعمال البسيطة مع بعض النص. كل ما أريد فعله هو قراءة في ملف، وشريط أي شيء ليس حرفا أو مساحة أو خط جديد. لذلك إزالة جميع علامات الترقيم والأرقام. في لغات أخرى، سأقوم فقط بإنشاء تعبير بسيط [^ a-za-z]، انظر إلى كل حرف وحذفه إذا كان يناسب Regex، لكن لا يمكنني العثور على أي وثائق على Regex في ADA. لذلك، هل هناك Regex في ADA؟ إذا لم يكن الأمر كذلك، فما هي أفضل طريقة بالنسبة لي أن أذهب حول تحرير نص بسيط مثل هذا.

شكرا جزيلا،

هل كانت مفيدة؟

المحلول

إذا كنت تستخدم برنامج التحويل البرمجي GNAT، فهناك مجموعة من الطرود التي تسمى GNAT.RegExp, GNAT.RegPat و GNAT.Spitbol صنع لهذه المهمة.

احذر أنه ليس Regexp Ala Perl القياسي ولكنه يعتمد على Snobol4. ومع ذلك، لا ينبغي أن يكون من الصعب للغاية تحويل من نوع واحد من التعبير المنتظم إلى آخر.

نصائح أخرى

قد ترغب في الذهاب من خلال هذا المثال، فقط ابحث عن الأحرف التي تريد تجاهلها ولا تضعها في السلسلة الجديدة.

أي إصدار من ADA الذي تستخدمه؟

http://www.adaic.com/docs/95style/html/sec_8/8-4-7.html.

من المحتمل أن أنظر إلى الأشياء Snobol GNAT في حذائك.

ومع ذلك، هناك مشروع متاح للتحليل المعجمي العام (مثل روح التمهيد إلى حد ما) أوبندين. وبعد لمهام أكثر تعقيدا أكثر تعقيدا، قد تجد أنها مفيدة.

لم أعمل مع التجسد الحديث، ولكن مرة أخرى عندما كنت الرصاص على ذلك كان المشروع مترجم مترجلا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top