regexkit

إطار موضوعي - ج- ج للتعبيرات العادية باستخدام مكتبة PCRE لنظام التشغيل Mac OS X Cocoa و Gnustep
التحميل الان

regexkit الترتيب والملخص

الإعلانات

  • Rating:
  • رخصة:
  • BSD
  • السعر:
  • FREE
  • اسم الناشر:
  • John Engelhart
  • موقع ويب الناشر:
  • أنظمة التشغيل:
  • 10.5
  • حجم الملف:
  • 1.7 MB

regexkit العلامات


regexkit وصف

إطار موضوعي - ج- ج- جيم للتعبيرات العادية باستخدام مكتبة PCRE لنظام التشغيل Mac OS X Cocoa و Gnustep Regoxkit هو إطار موضوعي C للتعبيرات العادية: دعم Mac OS X Cocoa و Gnustep. لا يلزم الطبقات الفرعية. يضيف بسلاسة دعم التعبير العادي لجميع كائنات مؤسسة NSArray و NSDictionary و NSST و NSSTRING مع مجموعة غنية من إضافات الفئة الغنية. Unicode UTF-8 مدعومة. وثائق واسعة عالية الجودة. كود المصدر الكامل مع رخصة BSD . يستخدم مكتبة التعبيرات العادية المرخصة BSD مرخصة BSD لمحرك التعبير العادي. دعم دعم ل Mac OS X 10.5 ليوبارد: دعم 64 بت. تم تصميمها مسبقا لشركة PPC، PPC64، I386، و X86_64. تمكين مجموعة القمامة. دعم كامل لميزة جمع القمامة الفهود. الوثائق المتكاملة XCode 3.0. احصل على معلومات API في الوقت الفعلي عبر مساعد البحث. فيما يلي بعض الملامح الرئيسية ل "Regexkit": التخزين المؤقت الشكل المترجمة للتعبير العادي للسرعة. مؤشر متعددة الآمن، بما في ذلك قارئ متعددة، كاتب واحد الوصول إلى ذاكرة التخزين المؤقت المترجمة Regex. يجعل الحد الأدنى من استخدام تخزين كومة الكومة (أي Malloc () وحرة ())، بدلا من ذلك تخصيص معظم احتياجات المخزن المؤقت المؤقت ديناميكيا من المكدس. يستخدم الأساس الأساسي مباشرة على نظام التشغيل Mac OS X للحصول على سرعة إضافية. ما الجديد في هذا الإصدار: تعديل وحدات ماكرو RKPrettyObject لتكون وظيفة بدلا من الماكرو قبل Preprocessor. هذا يحدق ~ 30K قبالة التنفيذ، أو 4-7K لكل بنية. وأضاف AdustranceNote إذا كان PCRE_STUDY قادرا على تحسين التعبير العادي. تمت إضافة Xcode_cflags_ * * و PCRE_CFLAGS_ * إلى Regexkit Build Settings.xcconfig لإضافة CFLAGS محددة من نظام التشغيل بمصادر Xcode و PCRE. استخدام CFLAGS الجديد المضافة أعلاه، وأضاف -Fstack-protector - الكل إلى أهداف Mac OS X 10.5. -fectack-protector - جميعها هي ميزة دول مجلس التعاون الخليجي التي تم اختراقها من الإصدارات الأحدث من دول مجلس التعاون الخليجي التي يمكن أن تصطاد العديد من المكدس. تعديل ProjectExportedSymbols لتصدير ثوابت RKERRREY، RKERRORDOMAIN، و RKREGEXPCRELIBRARY NSSTRING. وأضاف regexkit التمديدات الخاصة إلى NSException و NSERROR لتبسيط إنشاء إصدارات موضعة لكل منهما بسيطة. وأضاف العديد من وحدات وحدات ماكرو المعالج Private Private الخاصة بتبسيط إنشاء سلاسل مترجمة. هذه متشابهة في الطبيعة للمؤسسات الأسرة NSLocalationedString من وحدات الماكرو. تحويل rkconvertutf8toutf16rangeforring و rkconvertutu16toutf8rangeForing إلى StringBuffer، وبالتالي يمكن إجراء الروتين الداخلي استدعاء وظائف StringBافات أكثر كفاءة. أصبحت طرق السلسلة العادية مغلفة حول وظائف StringBuffer. أنشأت وظيفة Regexkit الخاصة RKLocalizedStringForpcrocompleErorCode التي ترجع سلسلة وصف خطأ مناسبة بشكل أفضل إلى أوصاف NSError التي يراه المستخدمون النهائيين. الأوتار المترجمة تأتي في نهاية المطاف من الأطر حزمة مورد حزمة PCRE.Strings. إنشاء متغير عالمي Regexkit الخاص، RKFrameworkBundle الذي تم إنشاؤه بواسطة RKREGEX وقت الحمل يوفر الوسائل للوصول إلى السلاسل المترجمة. إنشاء وظيفة خاصة تقوم بإنشاء NSException من NSError بنفس الطريقة التي يقوم بها interwithregexstring: الخيارات: الطريقة التي سبق لها فعلت تلك الطريقة التي تقوم الآن بإنشاء وإرجاع NSERROR لمعظم شروط الخطأ. تعديل RKREGEX ISEATAIL: للوصول مباشرة بمتغيرات مثيل كائنات المقارنة إذا كان كائن فئة RKREGEX للسرعة. وأضاف وظيفة خاصة Regexkit لإرجاع عدد البايتات لشخصية مشفرة UTF8 في مؤشر معين، ووظيفة تقوم بإرجاع النطاق لشخصية مشفرة UTF8 في إزاحة معينة من المؤشر. إذا كانت تعويض نقاط الإزاحة في منتصف حرف مشفرة UTF8، فسيتم نسخها احتياطيا إلى بداية حرف UTF8 الموجود في الإزاحة المعينة، ثم حدد عدد البايتات المطلوبة لتمثيل نقطة رمز Unicode واحدة مشفرة بتنسيق UTF8. وسعت استراتيجيات القفل التي توفرها Framework Framework Class Locking Class. سابقا، قدمت فئة القفل فقط استراتيجية الحصول على حظر. الاستراتيجيات المتاحة الآن تشمل: حاول للقراءة. حاول الكتابة. حاول الكتابة، ثم حاول القراءة. حاول الكتابة، ثم حظر الاستحواذ للقراءة. حظر الاستحواذ للقراءة. حظر الاستحواذ للكتابة. تم إجراء هذا التغيير للسماح لبعض وظائف التخزين المؤقت لتكون غير حظر عندما يكون مؤشر ترابط غير قادر على الحصول على الدرجة المطلوبة من الاستبعاد المتبادل لمورد مشترك على الفور. وأضاف فئة قفل خاصة جديدة، RKConditionlock، مما يشبه نظيره المؤسسات. تم ذلك لتوفير واجهة استدعاء وظيفة أسرع ومنهجيات قفل محسنة، إلى جانب الأوقات النسبية NstimeInterval القائمة على الأوقات القريبة NSDate الأكثر تكلفة. إن استخدام كائنات NSDate يتحمل عقوبة أداء كبيرة بسبب إنشاء الكائنات العامة والتدمير للنقل في نهاية المطاف قيمة مزدوجة كوسيطة. من خلال توفير حجة معلمة مزدوجة الوقت النسبية مباشرة، يتم تجاوز هذا النفقات العامة بالكامل. توفر الوظائف الخاصة بتوفير RKFastconditionlock و RKFastconditionLock جميع الوظائف، والتي يمكن استدعاؤها مباشرة، وأساليب واجهة الواجهة الموجهة للكائنات فقط كعب فقط لهذين الوظيفتين. لا يتم تصدير هذه الوظائف والكائنات وهي إطار خاص. قم بتوحيد الكثير من المنطق المشترك للأقفال إلى الوظيفتين RKFastClutexlock و RKFastMuteXUnlock. تم نقل فئة Rklock إلى قاعدة الكود الشائعة هذه، ولكن في الوقت الحالي، تظل RKReadWritelock دون تغيير. لا يتم إنشاء Mutexes Phread Mutexes بواسطة Rklock و RKConditionlock باستخدام Pthread_MuteX_ErrorCheck الذي يسبب اختبارات التعلم الإضافية، مثل قفل مؤشر الترابط نفسه، وإلغاء تأمين MUTEX مقفلة، أو مؤشر ترابط يحاول فتح Mutex التي تم حبسها بواسطة موضوع مختلف. تحديث الترخيص المعروض في المثبت لتضمين ترخيص PCRE بشكل صريح. وأضاف رخصة PCRE إلى ملف ترخيص دليل جذر المشروع. وأضاف ملف الترخيص إلى أهداف إطار Regexkit Forms نسخ مرحلة بناء موارد Bundle حتى يتم تقديم الترخيص في دليل موارد الأطر. وأضاف وحدات الماكرو / وظائف RKATomicbarrier التي تؤدي دلالات حاجز الذاكرة الكاملة للبنية حيث يحدث هذا فرقا. قم بتغيير Partlock و Endlock DTRACE تحقيقات ثانية من int to nsinteger لتتناسب مع المعلومات التي توفرها الآن Rklock و RkreadWritelock. يتم الإبلاغ الآن الإبلاغ عن استراتيجية القفل ومستوى القفل النهائي المكتسبة بدلا من إشارة بسيطة للقراءة / الكتابة بسيطة. وأضاف العوارض، Endlock، وفتح Regexkit.usdt. تقسيم ملف الرأس RegexkitPrivate.h في العديد من الملفات، RegexkitPrivateatomic.h، RegexkitPrivattTrace.h، Regexkitprivatelization.h، Regexkitprivatememory.h، Regexkitprivatethreads.h، و nsstringprivate.h. تغيير rkregex بحيث يتم كل تهيئة الفصل في طريقة تهيئة. في السابق، حدث بعض التهيئة في طريقة الحمل التي تهدف إلى تنفيذها حتى إذا لم يتم استخدام الفصل في نهاية المطاف. أضيف أيضا فحص الحرس في بعض نقاط إدخال الوظائف لأن استدعاء الدالة لن يؤدي إلى تحريك السلوك التهيئة. تحديث Generatehtml.pl للتكرار بشكل صحيح فوق المجموعات في جدول الثوابت إدخال المحتويات. في السابق، تم تحديث هذا يدويا لكل مجموعة جديدة. تحديث حقوق الطبع والنشر لعام 2008. وأضاف القدرة على تحديد مدى توفرها (تم إدخالها، دون إزالتها، إزالتها في الإصدار، إلخ) إلى نظام الوثائق مع توفر الملف .sql. قم بتحديث أدوات DocSet لاستخدام هذه المعلومات عند إنشاء ملف Tokens.xml. غيرت هيكل اختبارات الوحدة المختلفة. كان هناك الكثير من التعليمات البرمجية التي تمكنت، مع مرور الوقت، تمكنت من تكرارها في العديد من الملفات ثم الانجراف بمرور الوقت. تم توحيد ذلك في RKTestCase.M، مما يخلق كائن أساسي مشترك له فرعية من إرسال كائنات اختبار وحدة Regexkit التي ترثها. إزالة وظيفة احصائيات Mac OS X Malloc من اختبار الوحدة كائن NSDate. أزيل أيضا نوع NshighrestimeInterval ونحل محله مع NstimeInterval كما كان من النوع المزدوج. وأضاف SortregexCollection.m لعقد الاختبارات المتعلقة بوظيفة مجموعة Regex الجديدة التي تم فرزها. اصلاحات الشوائب: في regexkit.usdt، تم تبديل حجج التحقيق في الأداء من أجل الشدة والجدات العامة. تم تصحيح هذا. إصلاح نوع-O في regexkit_match_timing.instrument. تم تغيير بطريقة أو بأخرى " x" إلى B التي تسببت في عدم أن تكون الأداة قانونية لتحليلها وبالتالي لا تظهر في Instruments.App. إصلاح بعض الأخطاء في بعض ملفات HTML ورقة نمط Print.css التي من شأنها أن تعيق بعض الألقاب سلبا بعد الحدود القابلة للطباعة. إصلاح علة عرض فايرفوكس في common.css التي تسببت في عدم تنسيق صناديق SourceCode. ستعرض فئة RKReadWritElock بعرض عدد غير صحيح من عدد الأخطاء الزائفة بمحاولات أقصى عدد من المحاولات. سيزيد فئة RKReadWritelock بشكل غير ضار عداد تصحيح أخطاء داخلي مرتين إذا لم تتمكن من الحصول على قفل مستوى الكتابة في المحاولة الأولى. سيتم تحديث فئة RKREADWRITELOCK بشكل غير صحيح إيفار داخلي فيما يتعلق بشرط القراءة أو الكتابة للقفل بغض النظر عما إذا كان خطأ pthread غير المكتسبة أم لا. تغيير أساليب RKREGEX وإصدار طرق لاستخدام إجراءات RKATomicBarrier لفرض حاجز الذاكرة الكاملة. قد يكون هذا قد أدى إلى ظروف السباق على الهندسة التي تحدث فيها هذا اختلافا، مثل بنية PowerPC، وعندما يحاول وحدة المعالجة المركزية متعددة تحديث موقع الذاكرة نفسه في وقت واحد. غيرت الإطار RKREGEXFROMSTREGESORREGEX الداخلي بحيث يكون عند تحديد كائن أن يكون عضوا في فئة RKREGEX، ولكن لا تتطابق الخيارات المحددة في Instantiabel Regex مع الخيارات المطلوبة، يتم استخدام فئة Eregex للميزة لإنشاء جديد rkregex مع الخيارات المطلوبة بدلا من استخدام فئة RKREGEX الأساسية. هذا من شأنه أن يحدث فرقا فقط لفئة Subclass من RKREGEX التي تجاوزت عملية إنشاء الكائنات. SourceForge BUG 1850418 - "خطأ يربط أقل من 10.4". يتم تغطية هذه المشكلة في معلومات الإصدار - ملاحظات الإصدار مقابل 0.6.0 بيتا. تحديث: إعادة إرسال هذا الخطأ إلى Apple كما BUG # 5708443. تم إغلاق تقرير الأخطاء الأصلي كما يتصرف بشكل صحيح. التبرير المعطى هو "هو نفسه الارتباط - أخطاء الرابط القائم على 10.4 عندما يرى أشياء لا يفهمها في 10.5 libsystem.dylb. (SIC)" و "فيما يتعلق بالمنصب الثاني، لا يوجد خطأ في رابط العاشرة لا يعرف ذلك). " أن نكون صادقين، أنا نوع من الخسارة حول كيفية نجاح المهندس في قفز من الخطأ إلى مبررات موجودة لإغلاقها كصرفي بشكل صحيح. علة المصدر 1878659 - "لا تبني على 10.5 أنظمة بناء هدف 10.4". إصلاح مشروط من rk_requires_nil_nil_nil إعادة تعريفها الشرطية السابقة بشكل غير صحيح باسم NS_REQUIRES_NIL_NIL_NIL_NIL_NIL_NIL_NIL_NIL_NIL_NIL_NIL_NIL_NIL_NIL_NIL_NIL_NIL_NIL_NIL_NIL_NIL_NIL_NIL_NIL_NIL_NIL_NIL_NILBION وأضاف محددة (NS_REQUIRES_NIL_TORMINAINE) لمزيد من تقييد الشرط. قم أيضا بتحديث Enable_MacoSx_garbage_Collection ليتم تقييدها مع تحديد (__ OBJC_GC____) وتمكين enable_dtrace_Instrumentation المراد تقييدها عن طريق تحديد (S_DTRACE_DOF)، والذي يتم تعريفه في Mach-O / Loader.h. تم إصلاح الخطأ الذي تم الإبلاغ عنه لأول مرة بواسطة Doug Dickinson في مشاركة رسالة منتدى Regexkit "تطابق / استبدال مع سلسلة مرجعية فارغة؟". تحول هذا إلى أن يكون خطأ في NSSTRING.M وظيفة خاصة RKStringByMatchinganding. كان لهذه الوظيفة تحسينات حيث لم تحدث بدائل، لم يتم إجراء أي تغييرات على الأصل، ويمكن أن تعيد السلسلة الأصلية غير تحريرها بدلا من إنشاء واحدة جديدة. لسوء الحظ، فإن الحالة التي تتطابق فيها Regex مطابقة بداية السلسلة المراد البحث فيها، ولكن كانت سلسلة البديلة "فارغة" (أي "، @" ")، ظهر هذا كما لو لم تكن هناك تغييرات دون طلب بدائل. ثابت من خلال التحقق أيضا من NSrange النهائي من السلسلة التي تم تحريرها مقابل السلسلة الأصلية للبحث. إذا كانت هناك "تطابق في البداية، لكن استبدال أي شيء" يحدث الآن (أي، كما لو كان موقع NSrange قد انتقل من 0 إلى قيمة> 0)، فستكون هذه النطاقات مختلفة وستعود الآن إلى سلسلة مع قطع البداية إيقاف. قد يكون هذا قد أاحظ أيضا بحث مماثل واستبداله الذي حدث في نهاية الذيل لسلسلة، ولكن الإصلاح سيقوم بالقبض على هذا الشرط أيضا.


regexkit برامج ذات صلة

refactorit.

إعادة المرجع - أداة إعادة صبط شاملة مستهدفة لاحتياجات مطوري الشركات ...

151 8.2 MB

تحميل