Regexkit.

Un quadro di obiettivi-C per le espressioni regolari utilizzando la libreria PCRE per Mac OS X Cacao e Gnustep
Scarica ora

Regexkit. Classifica e riepilogo

Annuncio pubblicitario

  • Rating:
  • Licenza:
  • BSD
  • Prezzo:
  • FREE
  • Nome editore:
  • John Engelhart
  • Sito web dell'editore:
  • Sistemi operativi:
  • 10.5
  • Dimensione del file:
  • 1.7 MB

Regexkit. Tag


Regexkit. Descrizione

Un quadro di obiettivi-C per espressioni regolari utilizzando la Biblioteca PCRE per Mac OS X Cacao e Gnusustep Regexkit è un quadro di obiettivi-C per espressioni regolari: · Supporto per Mac OS X Cacao e Gnusustep. · Nessuna sotto-classificazione richiesta. Aggiunge perfettamente il supporto di espressioni regolari a tutti gli oggetti NSarray, Nsdictionary, NSSET e NSString Foundation con un ricco set di aggiunte di categoria Obiettivo-C. · Unicode UTF-8 supportato. · Ampia documentazione di alta qualità. · Codice fonte completo con una licenza BSD . · Utilizza la libreria di espressioni regolari compatibili con licenza BSD BSD per il normale motore di espressione. Include il supporto per Mac OS X 10.5 Leopard: · Supporto 64 bit. Pre-Build per PPC, PPC64, I386 e X86_64. · Garbage Collection Abilitato. Supporto completo per leopardi Categoria Garbage Collection. · Documentazione Xcode 3.0 integrata. Ottieni informazioni su API in tempo reale tramite l'assistente di ricerca. Ecco alcune caratteristiche chiave di "regexkit": · Cache La forma compilata dell'espressione regolare per la velocità. · Cassaforte multithreading, incluso il lettore multiplo, accesso a scrittore singolo accesso multithread alla cache regex compilata. · Effettua un uso minimo di memoria heap (cioè, malloc () e gratis ()), allocare invece il buffer temporaneo ha bisogno dinamicamente dalla pila. · Utilizza il fondamento principale direttamente su Mac OS X per ulteriore velocità. Cosa c'è di nuovo in questa versione: · Modificato le macro RKprettyObject per essere una funzione invece di una macro preprocessore. Questo si rade ~ 30k fuori dall'eseguibile o 4-7k per architettura. · Aggiunta un performance se Pcre_Study è stato in grado di ottimizzare l'espressione regolare. · Aggiunto xcode_cflags_ * e pcre_cflags_ * a Regexkit Build Settings.xcConfig per aggiungere i CFLAG specifici del sistema operativo a XCode e PCRE fonti costruiti. · Utilizzando i nuovi cFFLAG aggiunti sopra, aggiunto -FSTACK-PROTECTOR-ALL ALL'UNIVISTA DI MAC OS X 10.5. -Fstack-Protector: tutto è una funzione GCC che Apple ha recuperato da rilasci successivi di GCC che può catturare molti distrutti. · ProjectExportedsymbols modificato per esportare le nuove costanti di rkerrorkey, rkerrdomain e rkregexpcrelibrary nsstring. · Aggiunte estensioni private di Regexkit a NSexception e Nserror per semplificare la creazione di versioni localizzate di ciascuna per impianti semplici. · Aggiunti diversi macro di pre-processore privati di regextit per semplificare la creazione di stringhe localizzate. Questi sono simili in natura alle fondazioni NsLocalizzingString Family of Macros. · Convertito RKCONVERTUTF8ToutF16RangeForingString e RKCONVERTUTF15ToutF8RangeForing su Equivalenti StringBuffer in modo che le routine interne potrebbero chiamare le funzioni di stringbuffer più efficienti. I metodi di stringa normale sono diventati involucri attorno alle funzioni di StringBuffer. · Creato una funzione privata regexkit rklocalizedstringforpccCompileErroRcode che restituisce una stringa di descrizione dell'errore che è più adatta alle descrizioni di Nserrar che finiscono gli utenti. Alla fine le stringhe localizzate provengono dalla Frameworks Bundle Resource File Pcre.Strings. · Creato una variabile globale di regexkit privata, rkframeworkbundle che viene creata da rkregex al momento del carico che fornisce i mezzi per accedere alle stringhe localizzate. · Creato una funzione privata che crea un'NSException da un NSerror nello stesso modo in cui initwithregexstring: Opzioni: Metodo precedentemente Dal momento che il metodo ora crea e restituisce un NSerror per la maggior parte delle condizioni di errore. · Modificato RKREGEX ISOMALE: per accedere direttamente alle variabili di istanza degli oggetti di confronto se è un oggetto di classe rkregex per la velocità. · Aggiunta una funzione privata di regexkit per restituire il numero di byte per un carattere codificato UTF8 a un determinato puntatore e una funzione che restituisce l'intervallo per un carattere codificato UTF8 a un determinato offset di un puntatore. Se l'offset punta al centro di un carattere codificato UTF8, si esegue il backup all'inizio del carattere UTF8 che si trova nell'offset specificato, quindi determinare il numero di byte necessario per rappresentare un singolo punto di codice Unicode codificato in formato UTF8. Espanse le strategie di blocco che fornisce la classe di chiusura privata del quadro. In precedenza la classe di bloccaggio ha fornito solo una strategia di acquisizione di blocco. Le strategie ora disponibili includono: · Prova a leggere. · Prova a scrivere. · Prova a scrivere, prova a leggere. · Prova a scrivere, quindi bloccare l'acquisizione per la lettura. · Il blocco dell'acquisto per la lettura. · Il blocco dell'acquisto per la scrittura. · Questa modifica è stata effettuata per consentire a determinate funzioni di memorizzazione nella cache che non si blocca quando un thread non è in grado di acquisire il grado richiesto di reciproca esclusione per una risorsa condivisa immediatamente. · Aggiunta una nuova classe di chiusura privata, RkConditionlock, che è simile alla sua controparte delle sue fondazioni. Questo è stato fatto per fornire un'interfaccia di chiamata funzione più rapida e metodologie di blocco migliorate, insieme a tempi relativi basati su nstimeinterval invece dei tempi basati su oggetti NSDate molto più costosi. L'utilizzo di NSDate Objects incorre una significativa penalità di prestazione a causa della creazione dell'oggetto e della distruzione sopraelettrica per trasmettere un doppio valore come argomento. Fornendo direttamente un argomento del parametro superato tempo relativo, che il sovraccarico è completamente aggirato. Le due funzioni rkfastConditionLock e RKFastConitionunlock forniscono tutte le funzionalità, che possono essere chiamate direttamente e i metodi di interfaccia orientati agli oggetti sono solo stub per queste due funzioni. Queste funzioni e oggetti non vengono esportati e sono privati quadro. · Consolidato un sacco di logica comune per le serrature nelle due funzioni rkfastmutexlock e rkfastmutexunlock. La classe RKLOCK è stata spostata in questa comune base di codice, ma per il momento, Rkreadwritelock rimane inalterato. · I mutasi del pthead creato da Rklock e RkConitionlock non sono creati con il pthread Mutex Attributo Pthread_mutex_errorCheck che provoca eseguire controlli di sanità mentale extra, ad esempio lo stesso filo che blocca un mutex bloccato, sbloccando un mutex sbloccato o un thread che tenta di sbloccare un mutex quello era bloccato da un filo diverso. · Aggiornato la licenza visualizzata nel programma di installazione per includere la licenza PCRE esplicitamente. · Aggiunta la licenza PCRE al file di licenza directory root del progetto. · Aggiunto il file di licenza agli obiettivi del framework di Regexkit Target Copia le risorse di Bundle Build Fase in modo che la licenza sia presente nella directory delle risorse Frameworks. · Aggiunti macro / funzioni rkatomicbarrier / funzioni che eseguono semantiche di memoria completa per architetture in cui ciò fa la differenza. · Modificato il primo argomento Dtrace DTRACE DRACE BINGLOCK e ENDLOCK Secondo argomento da INT a NSinteger per abbinare le informazioni ora fornite da RKLOCK e RKREADWRITELOCK. La strategia di bloccaggio richiesta e il livello di blocco finale acquisito è ora segnalato invece di una semplice indicazione di lettura / scrittura booleana. · Aggiunto BeginLock, End Block e sblocco su regexkit.usdt. · Dividere il file di intestazione regexkitprivate.h in numerosi file, regexkitprivateatomic.h, regexkitprivatedtrace.h, regexkitprivatedtrace.h, regexkitprivatelocalization.h, regexkitprivatememory.h, regexkitprivatethreads.h e nstringprivate.h. · Modificato RKregex in modo che tutta l'inizializzazione della classe avviene nel metodo inizializzato. In precedenza, una certa inizializzazione ha avuto luogo nel metodo di carico che significava che è stato eseguito anche se la classe è stata in definitiva non utilizzata. Aggiunti anche controlli di protezione in alcuni punti di ingresso funzione poiché chiamare una funzione non attirebbe il comportamento inizializzato. · Aggiornato GeneraTEHTML.pl per iterare correttamente sui gruppi nella voce Contenuti Contanti. In precedenza, questo è stato aggiornato manualmente per ogni nuovo gruppo. · Aggiornato il copyright per il 2008. · Aggiunta la possibilità di specificare la disponibilità (introdotta in, deprecata, rimossa nella versione, ecc.) Al sistema di documentazione con la disponibilità del file.SQL. Aggiornato gli strumenti DocSet per utilizzare queste informazioni durante la creazione del file tokens.xml. · Modificato la struttura dei vari test dell'unità. C'è stato un sacco di codice che, nel tempo, era riuscito a replicarsi in diversi file e poi varco a distanza nel tempo. Questo è stato consolidato a Rktestcase.m, che crea un oggetto base comune che è una sottoclasse di Systestcase che gli oggetti del test dell'unità di regexkit sono ereditati. · Rimuovere la funzionalità Mac OS X Maloc Statistiche dalle prove dell'unità NSDate Object. Anche rimosso il tipo di NShighrestimeinterval e sostituito con NSTimeinterval come entrambi erano di tipo doppio. · Aggiunto SorteTregexCollection.m a tenere test relativi alla nuova funzionalità di collezione Regex ordinata multithreaded. Correzioni di bug: · In Regexkit.usdt, gli argomenti della sonda di performance per la gravità e il GeneralStard sono stati scambiati. Questo è stato corretto. · Risolto un tipo-o in regexkit_match_timing.instrument. In qualche modo, "% x" è stato cambiato in B che ha causato analizzare lo strumento per non essere legale e non viene visualizzato in strumenti. · Risolti alcuni errori in alcuni file HTML e il foglio di stile Print.css che causerebbe che alcuni titoli siano negativamente compensati oltre il bordo stampabile. · Risolto un bug del display di Firefox in Common.CSS che ha causato formattare le caselle di sourcecode. · La classe RKREADWritelock mostrerebbe innocentemente un conteggio errato del numero di errori spuri tentativi di un numero massimo di tentativi. · La classe rkreadwritelock aumenterebbe incrementare innocua un contatore di debug interno due volte se non è stato in grado di acquisire un livello di scrittura sul primo tentativo. · La classe RKREADWriteLock aggiorna erroneamente un IVAR interno per quanto riguarda la condizione di lettura o scrittura della serratura indipendentemente dal fatto che un errore del pthead abbia impedito che il blocco venisse acquisito. · Modificato i metodi RKregex conservati e rilasciano i metodi per utilizzare le routine RkatomicBarrier per far rispettare una barriera di memoria completa. Ciò potrebbe aver portato a condizioni di razza sulle architetture in cui ciò fa la differenza, come l'architettura PowerPC e quando molteplici CPU stanno tentando di aggiornare la stessa posizione di memoria simultaneamente. · Modificata le funzioni RKREGEXFromStringRex Internaling Framework in modo che quando un oggetto sia determinato a un membro della classe RKREGEX, ma le opzioni specificate nel regex istanziate non corrispondono alle opzioni richieste, la classe dell'Instanted Regex viene utilizzata per creare un nuovo Rkregex con le opzioni richieste invece di utilizzare la classe base rkregex. Ciò avrebbe fatto una differenza solo a una sottoclasse di rkregex che sopravvaluta il processo di creazione dell'oggetto. · FOUNTEFORGE BUG 1850418 - Errore nel collegamento inferiore a 10.4 '. Questo problema è coperto da informazioni di rilascio - Note di rilascio per 0.6.0 beta. AGGIORNAMENTO: Riavvia questo bug su Apple come bug # 5708443. Il rapporto del bug originale è stato chiuso come si comporta correttamente. La giustificazione indicata è "È la stessa per il collegamento - gli errori del linker basati su 10.4 quando vede cose che non capisce nel 10.5 libsystem.dylb. (SIC)" e "per quanto riguarda il secondo post, non c'è un bug nel 10,5 linker. Va bene collegare contro il 10,5 libsystem.dylib con -macosx_versirsion_min = 10.4. La sezione Dtrace fa parte dell'attuazione di libsystem.dylib. Non fa parte dell'interfaccia al Dylib (ma il 10.4 non lo sa per farlo). " Per essere onesti, sono una buona perdita su come l'ingegnere è riuscito a saltare dal bug alle giustificazioni fornite per averlo chiuso come si comporta correttamente. · SOURGERFORGE BUG 1878659 - 'Non si crea su 10.5 Systems Building A 10.4 Target'. Risolto il condizionale di rk_requires_nil_termination. I precedenti condizionati lo hanno ridefinito erroneamente come NS_REQUIRES_NIL_TERMINATION durante la creazione di un sistema 10.5, ma strettamente rivolto a 10.4. Aggiunto definito (NS_REQUIRES_NIL_TERMINATION) per limitare ulteriormente gli Conditional. Aggiornato anche abilitato_macosx_garbage_collection per essere ulteriormente limitato con definito (__ objc_gc__) e Abilita_dtrace_instrumentazione di essere ulteriormente limitato da definito (s_dtrace_dof), definito in Mach-O / Loader.h. · Risolto un bug segnalato per la prima volta da Doug Dickinson nel messaggio del forum di SourceForge Regexkit "Match / Sostituisci con stringa di riferimento vuoto?". Ciò si è rivelato un bug nella funzione privata NSString.m RKStringBymatchingandExpanding. Questa funzione ha avuto un'ottimizzazione in cui se non si sono verificati sostituti, non sono state apportate modifiche all'originale e potrebbe restituire la stringa originale non modificata invece di crearne una nuova. Sfortunatamente il caso in cui il regex corrispondeva all'inizio della stringa da cercare, ma la stringa di ricambio era "vuota" (I.e., @ ""), questo è apparso come se non siano state necessarie modifiche poiché non sono state necessarie sostituzioni. Risolto fissato anche controllando il NSRange finale della stringa modificata contro la stringa originale da cercare. Se A 'partita all'inizio, ma sostituire con nulla "accade ora (cioè, come se la posizione NSRange fosse stata spostata da 0 a un valore> 0), queste gamme saranno diverse e ora restituiranno correttamente una stringa con il taglio iniziale spento. Ciò potrebbe aver anche effettuato una ricerca simile e sostituisce che ha avuto luogo sull'estremità della coda di una stringa, ma la correzione catturarà anche quella condizione.


Regexkit. Software correlato

Refactorit.

Reforatorit - Strumento di refactoring completo destinato alle esigenze degli sviluppatori aziendali ...

151 8.2 MB

Scarica

Quregexmm.

Quregexmm - PIATTAFORMA PIATTAFRAFIA, ASSIGENZA REGOLATA SOLUZIONE DEL SOFTWARE DELL'ESPRESA ...

182 2 MB

Scarica