From 9b7a78be8b811fb2fd7c7c54961a2a9f09530fe4 Mon Sep 17 00:00:00 2001 From: Peter Wu Date: Mon, 25 Apr 2016 16:39:02 +0200 Subject: Initial commit Unzipped from OASE (2IMP20), excluding the bin/ folder. size: 158596 bytes sha256: 179253d2bfec243bc5294372ce0ad1c5d82a30ef32ad108f6c9fd0aee73fe4df assignment1.zip --- .classpath | 7 ++++++ .project | 17 +++++++++++++ .settings/org.eclipse.jdt.core.prefs | 12 +++++++++ lib/automaton.jar | Bin 0 -> 176313 bytes src/regex/RegexTest.java | 47 +++++++++++++++++++++++++++++++++++ 5 files changed, 83 insertions(+) create mode 100644 .classpath create mode 100644 .project create mode 100644 .settings/org.eclipse.jdt.core.prefs create mode 100644 lib/automaton.jar create mode 100644 src/regex/RegexTest.java diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..d43e807 --- /dev/null +++ b/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/.project b/.project new file mode 100644 index 0000000..f372b55 --- /dev/null +++ b/.project @@ -0,0 +1,17 @@ + + + RegexTest + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..a698e59 --- /dev/null +++ b/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,12 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/lib/automaton.jar b/lib/automaton.jar new file mode 100644 index 0000000..ba583b3 Binary files /dev/null and b/lib/automaton.jar differ diff --git a/src/regex/RegexTest.java b/src/regex/RegexTest.java new file mode 100644 index 0000000..097e4f7 --- /dev/null +++ b/src/regex/RegexTest.java @@ -0,0 +1,47 @@ +/* + * provide names and student id numbers here + */ + +package regex; + +import dk.brics.automaton.RegExp; +import dk.brics.automaton.RunAutomaton; + +public class RegexTest { + + private final RunAutomaton r; + + public RegexTest(String regex) { + System.out.println("regular expression = " + regex); + r = new RunAutomaton(new RegExp(regex).toAutomaton()); + } + + public long dfaMatch(String input, int index) { + long start = System.nanoTime(); + int length = r.run(input, index); + long end = System.nanoTime(); + + if (length == -1) { + System.out.println("No match found!"); + } else { + String s = input.substring(index, index + length); + System.out.println("Found: " + s); + } + + return end - start; + } + + void runTest(String input, int index) { + System.out.println("input string = " + input); + System.out.println("index = " + index); + + long dfaMatchTime = dfaMatch(input, index); + System.out.println("dfaMatchTime " + dfaMatchTime); + } + + public static void main(String[] args) { + RegexTest exampleRegexTest = new RegexTest("aap"); + exampleRegexTest.runTest("aap_df34_d asdf sdfd", 0); + exampleRegexTest.runTest("a_a_pasdf sdfd", 0); + } +} -- cgit v1.2.1