Regexkit

Mac OS X Cocoa ve Gnustep için PCRE Kütüphanesini Kullanarak Düzenli İfadeler İçin Bir Objective-C Çerçevesi
Şimdi İndirin

Regexkit Sıralama ve Özet

Reklamcılık

  • Rating:
  • Lisans:
  • BSD
  • Fiyat:
  • FREE
  • Yayıncı adı:
  • John Engelhart
  • yayıncı web sitesi:
  • İşletim sistemleri:
  • 10.5
  • Dosya boyutu:
  • 1.7 MB

Regexkit Etiketler


Regexkit Açıklama

Mac OS X Cocoa ve Gnustep için PCRE kütüphanesini kullanarak düzenli ifadeler için bir objektif-C çerçeve Regexkit, düzenli ifadeler için bir objektif-C çerçevedir: · Mac OS X Cocoa ve Gnustep için destek. · Alt sınıflandırma gerekmez. Sorunsuz bir şekilde, tüm NSARRAY, NSDICTIONARY, NSSET ve NSString Vakfı nesnelerine, zengin bir objektif-C kategorisi eklemelerine sahip NSString Vakfı nesnelerine düzenli ifade ekler. · Unicode UTF-8 desteklenir. · Kapsamlı, yüksek kaliteli dokümantasyon. · BSD lisansına sahip tam kaynak kodu . · Normal ekspresyon motoru için BSD lisanslı pcre perl uyumlu normal ifadeler kütüphanesini kullanır. Mac OS X 10.5 Leopard için desteği içerir: · 64 bit destek. PPC, PPC64, I386 ve X86_64 için önceden oluşturulmuş. · Çöp toplama etkin. Leopards çöp toplama özelliği için tam destek. · Entegre XCODE 3.0 belgeleri. Araştırma görevlisi aracılığıyla gerçek zamanlı API bilgileri alın. İşte "regexkit" nin bazı önemli özellikleri: · Hız için düzenli ifadenin derlenmiş formunu önbelleğe alır. · Çoklu okuyucu da dahil olmak üzere, tek yazar, derlenmiş regex önbelleğine çok parçalı erişim. · En az öbek depolamayı (yani, malloc () ve ücretsiz ()), bunun yerine çoğu geçici tampon ihtiyaçlarını dinamik olarak yığıntan tahsis eder. · Ek hız için Core Vakfı doğrudan Mac OS X'te kullanır. Bu sürümde yenilikler: · RkprettyObject makrolarını bir ön işlemci makrosu yerine bir fonksiyon olarak değiştirin. Bu, çalıştırılabilir bir veya mimar başına 4-7K kapalı ~ 30k traş. · PCRE_STUDY normal ifadeyi optimize edebildiyse bir performanslandırıcı eklendi. · XCODE_CFLAGS_ * ve PCRE_CFLAGS_ *'yu RegexKit Build Settings.xcConfig'e XCODE ve PCRE inşa edilmiş kaynaklara os spesifik cflags eklemek için eklendi. · Yukarıda eklenen yeni CFAG'lerin kullanılması, -Fstack-Protector-Hepsi Mac OS X 10.5 hedeflerine eklendi. -Fstack-Protector-Hepsi, Apple'ın daha sonraki GCC'nin sürümlerinden daha fazla yığın parçasını yakalayabilen sürümlerinden ayrıldığı bir GCC özelliğidir. · Yeni RKERRORKEY, RKERRORDOMAIN ve RKREGEXPCRELIBRARY NSSTRING sabitlerini ihraç etmek için değiştirilmiş projeExportedSymbols. · Her birinin basit başlatılması için yerelleştirilmiş sürümleri oluşturmayı basitleştirmek için NSException ve NSERROR'a Regexkit özel uzantılarına eklendi. · Yerelleştirilmiş dizeleri oluşturmayı basitleştirmek için birkaç Regexkit özel ön işlemci makrosu ekledi. Bunlar, NSLOcalizedString Macros ailesinin temellerinde doğada benzerdir. · RKCONVERTUTUTF8TOUTF16RANGEFORSTRING ve RKCONVERTUTTUTF16TOUTF8RANGEFORSTRING FARKISE'ye dönüştürülür. Düz dize yöntemleri, stringbuffer fonksiyonlarının etrafındaki sarmalayıcılar haline geldi. · Bir hata açıklama özel fonksiyonu oluşturuldu RklocalizedStringForpCrecompileErrorCode, kullanıcıların gördüğü Nserror açıklamalarına daha uygun olan bir hata açıklaması dizesini döndüren bir hata açıklaması. Yerelleştirilmiş dizeler nihayetinde çerçeveler paket kaynak dosyasından gelir. · RKREGEX tarafından, lokalize dizgilerlere erişmenin araçlarını sağlayan yükleme süresinde oluşturulan bir Regexkit Özel Küresel Değişken, RKFrameworkBundle oluşturuldu. · Bir NserRor'dan bir NSException oluşturan özel bir işlev yarattı, InitWithregexString: Seçenekler: Daha önce bu yöntemin artık bir NserRror'u oluşturduğu ve çoğu hata koşulları için bir Nserror'u döndürür. · Modifiye RKREGEX ISEEQUEY: RKREGEX Sınıfı Hız için bir RKREGEX sınıfı nesnesi ise, karşılaştırma nesnelerinin örnek değişkenlerine doğrudan erişmek için. · Bir UTF8 kodlu karakteri için bir UTF8 kodlu karakteri için bayt sayısını ve bir UTF8 kodlu karakteri için aralığı bir işaretçinin belirli bir ofsetinde döndüren bir işlevi ekledi. Ofset bir UTF8 kodlu karakterinin ortasına işaret ederse, verilen ofsette olan UTF8 karakterinin başlangıcına geri dönecektir, daha sonra UTF8 formatında kodlanan tek bir Unicode kod noktasını temsil etmek için gereken bayt sayısını belirler. Kilitleme stratejilerini, özel kilitleme sınıfının sağladığı kilitleme stratejilerini genişletti. Önceden kilitleme sınıfı sadece bir engelleme kazancı stratejisi sağladı. Şimdi mevcut stratejiler şunlardır: · Okumaya çalışın. · Yazmayı deneyin. · Yazmayı deneyin, sonra okumayı deneyin. · Yazmayı deneyin, ardından okuma için edinmeyi engelleyin. · Okuma için engelleme. · Yazma için engelleme. · Bir iplik, derhal paylaşılan bir kaynak için istenen karşılıklı dışlama derecesini alamadığında, belirli önbellekleme fonksiyonlarının engellenmemesine izin verilmesi için yapılmıştır. · Temellerine benzer olan yeni bir özel kilitleme sınıfı, rkonditionLocklock, bu. Bu, daha pahalı NSDate nesnesi tabanlı zamanlar yerine NSTimeInterval tabanlı nispi süreleri ile birlikte daha hızlı bir fonksiyon çağrı arayüzü ve gelişmiş kilitleme metodolojileri sağlamak için yapıldı. NSDate nesnelerinin kullanılması, nihayetinde bir argüman olarak çift bir değer iletmek için nesne oluşturma ve yıkım ek yükü nedeniyle önemli bir performans cezasına çarptırılır. Doğrudan nispi bir zaman sağlayarak çift geçti parametre argümanı, ek yükün tamamen atlandığı. İki fonksiyon rkfastContionLitionLock ve RKFastConditionunLockUnLock, doğrudan olarak adlandırılabilecek tüm işlevleri sağlar ve nesne yönelimli arayüz yöntemleri bu iki fonksiyon için sadece taslaklardır. Bu fonksiyonlar ve nesneler dışa aktarılmaz ve özel çerçevelerdir. · RKFASTMUTEXLOCK ve RKFASTMUTEXUNLOCK'IN 2 fonksiyonundaki kilitler için bir sürü ortak mantığı birleştirdi. RKLOCK sınıfı bu genel kod tabanına taşındı, ancak zaman için, rkreadwritelock değiştirilmemiş kaldı. · RKLOCK ve RKAntitionLock tarafından oluşturulan pthread muteksleri, PTHREAD MUTEX ATTRIUTIGON PTTHREAD_MUTEX_ErrorCheck'le birlikte, kilitli bir mutekti kilitleyen, kilidi bir muteksin kilidini açma, kilidi bir mutekste kilidini açma veya bir mutekti açmaya çalışan bir iplik gibi yapılacak Bu, farklı bir iplikle kilitlendi. · PCRE lisansını açıkça eklemek için Installer'da görüntülenen lisansı güncelledi. · PCRE lisansını Proje Kök Dizin lisans dosyasına ekledi. · REGEXKIT Framework Hedefleri'ne lisans dosyasını ekledi. · Bunun bir fark yarattığı mimariler için tam bellek bariyer semantiği yapan RKATOMICBARrier makroları / işlevleri eklendi. · Acemi Kilitleme ve Endlock Dtrace Probları, RKLOCK ve RKReadwritelock tarafından sağlanan bilgileri eşleştirmek için Int'e İkinci Argüman. İstenen kilitleme stratejisi ve elde edilen nihai kilit seviyesi, basit bir Boolean okuma / yazma göstergesi yerine rapor edilir. · Başlangıç Kilitleme, Endlock ve Regexkit.USDT'nin kilidini açın. · Başlık dosyasını REGEXKITPRIVATE.H'yi birkaç dosyaya bölün, regexkitprivateatomic.h, regexkitprivatedTrace.h, regexkitprivatelodalization.h, regexkitprivatememory.h, regexkitprivateThreads.h, ve nsstringprivate.h. · RKREGEX'i değiştirdi, böylece sınıf başlatma işleminin başlatma yönteminde gerçekleşir. Önceden, bazı başlatma yük yönteminde, sınıfın sonuçta kullanılmasa bile yürütüldüğü anlamına gelen yük yönteminde gerçekleşti. Ayrıca, bir işlevi çağırmak, bir işlevi çağırmak davranışını tetiklemeyeceğinden, bazı fonksiyon giriş noktalarında güvenlik kontrolleri eklendi. · GenerateHTML.PL, Constants Constants of Cintains girişinde grupları düzgün şekilde yönlendirin. Önceden, bu her yeni grup için manuel olarak güncellendi. · 2008 için telif hakkı güncellendi. · Dosya kullanılabilirliği. Tokens.xml dosyasını oluştururken bu bilgileri kullanmak için DocSet Araçları güncellendi. · Çeşitli birim testlerin yapısını değiştirdi. Zamanla, birkaç dosyada çoğaltılmayı başardığı ve daha sonra zaman içinde birbirinden ayrılmayı başardığı birçok kod vardı. Bu, RKTestcase.m'ye konsolide edildi. · Mac OS X Malloc Stats işlevselliğini ünite testleri NSDate nesnesinden kaldırın. Ayrıca NshighResTimeInterval tipini çıkarın ve her ikisi de çift tipte olduğu için NSTimeInterval ile değiştirildi. · Yeni multithreaded sıralanmış Regex Collection işlevi ile ilgili testleri tutmak için SortEdregeXCollection.m eklendi. Hata düzeltmeleri: · Regexkit.USDT'de, Ciddiyet ve Generalstartend için PerformanceNote Probe argümanları değiştirildi. Bu düzeltildi. · Regexkit_match_timing.instrument'ta bir Type-O sabitlenir. Her nasılsa, "% x", cihazın ayrıştırılması yasal olmamasını ve böylece Instruments.App'ta görünmemesine neden olan B olarak değiştirildi. · Bazı HTML dosyalarında ve bazı başlıkların, bazı başlıkların yazdırılabilir kenarlığın geçmişinden olumsuz yönlendirilmesine neden olacak bazı hataları düzeltildi. · SourceCode kutularının biçimlendirilmemesine neden olan ortak.css'lerde bir Firefox ekran hatası düzeltildi. · RKREADWRITELOCK sınıfı, maksimum girişim sayısından çıkan sahte hataların sayısının sayısının yanlış sayısını zararsız bir şekilde gösterecektir. · RKReadWritelock sınıfı, ilk denemede bir yazma seviyesi kilidi elde edemediyse, dahili bir hata aygıtını iki kez zararsız bir şekilde arttırır. · RKREADWRITELOCK sınıfı, bir pthread hatasının kilitlenmemiş olup olmadığına bakılmaksızın, kilidi okuma veya yazma durumuna ilişkin bir dahili bir IVAR'ı yanlış bir şekilde günceller. · Tam bir bellek bariyerini uygulamak için rkatomicbarrier rutinlerini kullanmak için RKREGEX tutma ve bırakma yöntemlerini değiştirdi. Bu, bunun PowerPC mimarisi gibi bir fark yaratan mimariler üzerindeki yarış koşullarına yol açmış olabilir ve birden fazla CPU, aynı anda aynı bellek konumunu güncellemeye çalıştığında. · Dahili RKREGEXFROMSTRINGORREGEX işlevlerini değiştirdi, böylece bir nesnenin RKregex sınıfının bir üyesi olarak belirlenmesi durumunda, ancak başlatılan regex'te belirtilen seçenekler gerekli seçeneklerle eşleşmiyor, başlatılan regex sınıfı yeni oluşturmak için kullanılır. Taban RKREGEX sınıfını kullanmak yerine gerekli seçeneklere sahip RKREGEX. Bu, yalnızca nesne oluşturma işlemini sürdüren bir rkregex alt sınıfına bir fark yaratacaktır. · SourceForge Bug 1850418 - '10.4' altında bağlantıda hata. Bu sorun, 0,6.0 beta için serbest bırakma bilgilerini bırakın. Güncelleme: Bu hatayı Apple'a böcek olarak yeniden gönderdi # 5708443. Orijinal hata raporu doğru davrandığı gibi kapatıldı. Verilen haklı ", 10.5 libsystem.dylb'de anlamadığı şeyleri gördüğünde 10.4 tabanlı bağlayıcı hataları. 10.5 bağlayıcısında. -Macosx_Version_min = 10.4 ile 10.5 libsystem.dylib'e karşı bağlamak iyidir. DTrace bölümü, Libsystem.dylib'in uygulanmasının bir parçasıdır. Dyleb (ancak 10.4 bağlayıcı) arayüzünün bir parçası değildir. bunu bilmiyor). " Dürüst olmak gerekirse, mühendisin hatadan doğru davrandığı gibi yürürlüğe girmesi için verilen gerekçelere nasıl sıçramayı başardığına dair bir kayıpım. · SourceForge Bug 1878659 - '10.4 Hedefi oluşturma 10.5 sistemde inşa etmiyor'. RK_REQUIRRES_NIL_TERININTININT Koşulunu düzeltildi. Önceki şartlı, 10.5 sistem üzerinde inşa ederken NS_Requires_nil_terination olarak yanlış tanımlandı, ancak kesinlikle 10.4 hedefliyor. Koşullayı daha da kısıtlamak için tanımlanmış (ns_requires_nil_terination) eklendi. Ayrıca Enable_Macosx_Garbage_Collection, Mach-O / Loader.h'da tanımlanan tanımlanmış (S_DTRACE_DOF) ile daha fazla sınırlandırılacak (__BCC_GC__) ve ENABLE_DTRACE_INStrumation ile daha fazla sınırlandırılmalıdır. · İlk önce Doug Dickinson tarafından SourceForge Regexkit Forum Mesajı 'Boş Referans Dizesi ile Eşleştir / Değiştiriliyor mu?' Tarafından bildirilen bir hata düzeltildi. Bu, NSString.m özel fonksiyonunda bir hata olduğu ortaya çıktı. Bu fonksiyonun bir optimizasyonun olmadığı bir optimizasyona sahipti, orijinal için hiçbir değişiklik yapılmamışsa, yeni bir tane oluşturmak yerine orijinal dizgiyi iade edebilir. Ne yazık ki, regex'in aranması gereken dizenin başlangıcıyla eşleştiği durumlarda, ancak yedek dize 'boş' (yani, @ "" idi. Düzenlenmiş dizgenin son NSrange'nin son nsrange'ı, aramak için orijinal dizgiye karşı kontrol ederek düzeltildi. Eğer bir 'başlangıçta eşleşme, ancak hiçbir şeyle değiştirin' şu anda olur (yani, nsrange konumu 0'dan bir değere> 0'dan hareket etmiş gibi), bu aralıklar farklı olacaktır ve şimdi başlayan bir dize doğru bir dize döndürecektir. kapalı. Bu, benzer aramayı da etkilemiş olabilir ve bir dizgenin kuyruğu ucunda gerçekleşen yerini almış olabilir, ancak düzeltme bu durumu da yakalayacaktır.


Regexkit İlgili Yazılım

Refactorit

Refactorit - Kurumsal geliştiricilerin ihtiyaçlarına yönelik kapsamlı refactoring aracı ...

151 8.2 MB

İndirmek