forked from cs-au-dk/dk.brics.automaton
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 7d27ea6
Showing
24 changed files
with
20,249 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
Copyright (c) 2001-2011 Anders Moeller | ||
All rights reserved. | ||
|
||
Redistribution and use in source and binary forms, with or without | ||
modification, are permitted provided that the following conditions | ||
are met: | ||
1. Redistributions of source code must retain the above copyright | ||
notice, this list of conditions and the following disclaimer. | ||
2. Redistributions in binary form must reproduce the above copyright | ||
notice, this list of conditions and the following disclaimer in the | ||
documentation and/or other materials provided with the distribution. | ||
3. The name of the author may not be used to endorse or promote products | ||
derived from this software without specific prior written permission. | ||
|
||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR | ||
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | ||
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. | ||
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | ||
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,228 @@ | ||
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 Daniel 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<Automaton>) | ||
|
||
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
The jar and javadoc files can be built using 'ant'. | ||
(The source package includes pre-built files.) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
dk.brics.automaton | ||
------------------ | ||
|
||
Copyright (C) 2001-2011 Anders Moeller | ||
|
||
This source code in this package may be used under the terms of the | ||
BSD license. Please read the file 'COPYING' for details. | ||
|
||
This package contains a full DFA/NFA implementation with Unicode | ||
alphabet and support for all standard regular expression operations. | ||
|
||
For more information, go to the package home page at | ||
http://www.brics.dk/automaton/ | ||
|
||
|
||
Anders Moeller | ||
[email protected] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,94 @@ | ||
<?xml version="1.0" encoding="ISO-8859-1"?> | ||
|
||
<project name="dk.brics.automaton" default="all" basedir="."> | ||
|
||
<property name="project" value="automaton" /> | ||
<property name="version" value="1.11" /> | ||
<property name="release" value="8" /> | ||
|
||
<property name="optimize" value="on" /> | ||
<property name="debug" value="off" /> | ||
|
||
<property name="public" value="${user.home}/public_html/${project}"/> | ||
|
||
<target name="all" depends="jar,doc" /> | ||
|
||
<target name="compile"> | ||
<mkdir dir="build" /> | ||
<javac srcdir="src" destdir="build" source="1.5" target="1.5" optimize="${optimize}" debug="${debug}" /> | ||
</target> | ||
|
||
<target name="jar" depends="compile,datatypes"> | ||
<mkdir dir="dist" /> | ||
<jar jarfile="dist/${project}.jar" basedir="build" includes="dk/**/*.class,*.aut" /> | ||
</target> | ||
|
||
<target name="clean"> | ||
<delete dir="build" /> | ||
<delete dir="doc" /> | ||
<delete dir="dist" /> | ||
</target> | ||
|
||
<dependset> | ||
<srcfilelist dir="src/dk/brics/automaton" files="Datatypes.java"/> | ||
<srcfilelist dir="src" files="Unicode.txt"/> | ||
<targetfileset dir="build" includes="*.aut"/> | ||
</dependset> | ||
|
||
<target name="datatypes" depends="compile"> | ||
<java classname="dk.brics.automaton.Datatypes" classpath="build"> | ||
<sysproperty key="dk.brics.automaton.datatypes" value="build"/> | ||
</java> | ||
</target> | ||
|
||
<target name="tgz" depends="clean,all"> | ||
<property name="dir" value="${project}-${version}" /> | ||
<mkdir dir="${dir}" /> | ||
<copy todir="${dir}"> | ||
<fileset dir="." includes="README,COPYING,INSTALL,ChangeLog,Makefile,build.xml" /> | ||
</copy> | ||
<copy file="dist/${project}.jar" todir="${dir}/dist" /> | ||
<mkdir dir="${dir}/doc" /> | ||
<copy todir="${dir}/doc"> | ||
<fileset dir="doc" /> | ||
</copy> | ||
<mkdir dir="${dir}/src" /> | ||
<copy todir="${dir}/src"> | ||
<fileset dir="src" includes="dk/brics/automaton/*.*,*.txt" excludes="**/*.class" /> | ||
</copy> | ||
<tar tarfile="${dir}-${release}.tar" basedir="." includes="${dir}/**" /> | ||
<gzip zipfile="${dir}-${release}.tar.gz" src="${dir}-${release}.tar" /> | ||
<delete file="${dir}-${release}.tar" /> | ||
<delete dir="${dir}" /> | ||
</target> | ||
|
||
<target name="doc" depends="jar"> | ||
<mkdir dir="doc" /> | ||
<javadoc packagenames="dk.brics.automaton" | ||
sourcepath="src" | ||
destdir="doc" | ||
nodeprecated="true" | ||
author="true" | ||
notree="true" | ||
nohelp="true" | ||
windowtitle="dk.brics.automaton"> | ||
<doctitle><![CDATA[dk.brics.automaton<br>API Specification]]></doctitle> | ||
<bottom><![CDATA[<i> Copyright © 2001-2011 Anders Møller. </i>]]></bottom> | ||
<link href="http://download.oracle.com/javase/1.5.0/docs/api/" /> | ||
</javadoc> | ||
</target> | ||
|
||
<target name="publish" depends="tgz"> | ||
<delete dir="${public}/doc" /> | ||
<mkdir dir="${public}/doc" /> | ||
<copy todir="${public}/doc"> | ||
<fileset dir="doc" /> | ||
</copy> | ||
<copy file="dist/${project}.jar" todir="${public}" /> | ||
<copy file="${project}-${version}-${release}.tar.gz" todir="${public}" /> | ||
<copy file="ChangeLog" todir="${public}" /> | ||
<chmod dir="${public}" perm="go+r" includes="doc/**,doc,${project}.jar,*.tar.gz,ChangeLog" type="both" /> | ||
<chmod dir="${public}" perm="go+x" includes="doc/**,doc" type="dir" /> | ||
</target> | ||
|
||
</project> |
Oops, something went wrong.