1.11-8 -> 1.12-1 ================ - added Valmari's minimization algorithm - contributed by S. Gregersen - now supports Maven - thanks to S. Gregersen - fixed missing check of 'minimize' option - thanks to V. Wuestholz - fixed state naming for singleton automata - thanks to A.M.W. Younang and S. Gregersen - RunAutomaton.setAlphabet now non-final - suggested by D. Lowe - minor simplification of 'determinize' - suggested by V. Berchet 1.11-7 -> 1.11-8 ================ - caching of isDebug, to avoid synchronized call to System.getProperty - thanks to G. Lundh 1.11-6 -> 1.11-7 ================ - bug fix in Gibson's AutomatonMatcher - thanks to Y. Versley, D. Weiss, and D. Richardson 1.11-5 -> 1.11-6 ================ - performance improvement in Automaton.isFinite - thanks to R. Muir 1.11-4 -> 1.11-5 ================ - bug fix in Gibson's AutomatonMatcher - thanks to H-.M. Adorf and J. Gibson 1.11-3 -> 1.11-4 ================ - bug fix and performance improvement in BasicOperations.concatenate - thanks to R. Muir 1.11-2 -> 1.11-3 ================ - added Automaton.makeStringUnion (Daciuk et al.'s algorithm for constructing a minimal automaton that accepts a union of strings) - contributed by D. Weiss - added call to clearHashCode in Automaton.reduce - thanks to D. Weiss - minimization is now optional in RegExp.toAutomaton - suggested by H. Zauner - SpecialOperations.reverse made public - suggested by D. Lowe 1.11-1 -> 1.11-2 ================ - fixed bug in RegExp parser - thanks to A. Meyer 1.10-5 -> 1.11-1 ================ - added AutomatonMatcher - contributed by J. Gibson - fixed bug in SpecialOperations.overlap - thanks to D. Lutterkort 1.10-4 -> 1.10-5 ================ - added RegExp.setAllowMutate (for thread safety) 1.10-3 -> 1.10-4 ================ - fixed bug in recomputation of Automaton hash code 1.10-2 -> 1.10-3 ================ - added Automaton method: getStrings - added setAllowMutate method that controls whether operations are allowed to modify input automata - fixed bug in regexp parser - improved javadoc description of automaton representation 1.10-1 -> 1.10-2 ================ - fixed bug in repeat(int,int) that was introduced in 1.9-1 - thanks to B. Lee 1.9-1 -> 1.10-1 =============== - added Datatypes class with lots of common regular languages (was earlier placed in the dk.brics.schematools package) - added DatatypesAutomatonProvider class so that regexps easily can use the datatypes - added Automaton methods: - makeMaxInteger - makeMinInteger - makeTotalDigits - makeFractionDigits - makeIntegerValue - makeDecimalValue - makeStringMatcher - prefixClose - hexCases - replaceWhitespace - now allowing the empty regexp (which matches the empty string) in RegExp syntax - intersection now works on nondeterministic automata without determinizing - rewritten getShortestExample - fixed bug in subsetOf for nondeterministic automata - removed Makefile (use 'ant' instead) 1.8-8 -> 1.9-1 ============== - moved Automaton methods to other classes (BasicAutomata, BasicOperations, etc.) - Automaton.toString now prints singleton automata as strings without expanding them - Automaton.subsetOf rewritten to make it faster - Automaton.run now works on nondeterministic automata without determinizing 1.8-7 -> 1.8-8 ============== - fixed bug in RunAutomaton.run(String,int) - thanks to J. Moran 1.8-6 -> 1.8-7 ============== - added AutomatonProvider for RegExp.toAutomaton 1.8-5 -> 1.8-6 ============== - fixed bug in subst(Map) 1.8-4 -> 1.8-5 ============== - added Automaton method: overlap - fixed bug in concatenate(List) 1.8-3 -> 1.8-4 ============== - faster singleton mode for various automata operations - added Automaton methods: - minus - shuffleSubsetOf - isEmptyString 1.8-2 -> 1.8-3 ============== - faster construction of automata from large regexps - improved performance of Automaton.repeat(int) and Automaton.repeat(int,int) 1.8-1 -> 1.8-2 ============== - fixed bug in makeInterval (for non-fixed number of digits) - thanks to A. Bakic 1.7-1 -> 1.8-1 ============== - shifted to Java 5 - reorganized source - added Automaton method: subst(char,String) 1.6-6 -> 1.7-1 ============== - added Hopcroft's minimization algorithm (more predictable behavior than Brzozowski's, but typically a bit slower) 1.6-5 -> 1.6-6 ============== - fixed bug in complement of nondeterministic automata 1.6-4 -> 1.6-5 ============== - added Automaton method: subst 1.6-3 -> 1.6-4 ============== - changed to BSD license 1.6.2 -> 1.6-3 ============== - added shuffle (interleaving) operation to Automaton 1.6.1 -> 1.6-2 ============== - fixed bug in Automaton.concatenate(List) 1.5-1 -> 1.6-1 ============== - added numerical intervals to RegExp and Automaton 1.4-1 -> 1.5-1 ============== - added Brzozowski's minimization algorithm 1.3-3 -> 1.4-1 ============== - special fast mode for single string automata - added Automaton method: restoreInvariant 1.3-2 -> 1.3-3 ============== - added Automaton methods: - hashCode (needed by equals) - getCommonPrefix 1.3-1 -> 1.3-2 ============== - added Automaton methods: - getShortestExample - setMinimizeAlways 1.2-7 -> 1.3-1 ============== - State class, Transition class, and various Automaton methods made public to allow manual construction of automata 1.2-6 -> 1.2-7 ============== - added Automaton method: compress 1.2-5 -> 1.2-6 ============== - added build.xml makefile for Ant 1.2-4 -> 1.2-5 ============== - added Automaton methods: - equals - load (from stream or URL) - store (to stream) - Automaton implements Serializable 1.2-3 -> 1.2-4 ============== - added Automaton methods: - projectChars - concatenate (List) - union (List) 1.1 -> 1.2-3 ============ - added Automaton methods: - trim - homomorph - singleChars - isEmpty - isTotal - isFinite - getFiniteStrings - getNumberOfStates - getNumberOfTransitions - subsetOf - added RunAutomaton methods: - load (from stream or URL) - store (to stream) - run (longest accepted substring run) - added getIdentifiers method to RegExp - RunAutomaton implements Serializable 1.0 -> 1.1 ========== - added regular expression parser (RegExp class) - tableized run method in RunAutomaton