From 2b4391052c3a9061c5d58d613ed3631752e7d4a2 Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Fri, 1 Oct 2010 19:41:36 +0200 Subject: [PATCH] Removed dependencies from regex library oro.jar --- app/build.xml | 2 +- app/lib/oro.jar | Bin 26707 -> 0 bytes .../app/preproc/PdePreprocessor.java | 125 ++++++++---------- build/build.xml | 1 - build/macosx/template.app/Contents/Info.plist | 2 +- build/windows/launcher/config.xml | 1 - todo.txt | 1 - 7 files changed, 56 insertions(+), 76 deletions(-) delete mode 100644 app/lib/oro.jar diff --git a/app/build.xml b/app/build.xml index eb1c313bf20..e0f67e05879 100644 --- a/app/build.xml +++ b/app/build.xml @@ -43,7 +43,7 @@ excludes="**/tools/format/**" encoding="UTF-8" includeAntRuntime="false" - classpath="../core/core.jar; ${env.JAVA_HOME}/lib/tools.jar; lib/ant.jar; lib/ant-launcher.jar; lib/apple.jar; lib/ecj.jar; lib/jna.jar; lib/oro.jar; lib/RXTXcomm.jar" /> + classpath="../core/core.jar; ${env.JAVA_HOME}/lib/tools.jar; lib/ant.jar; lib/ant-launcher.jar; lib/apple.jar; lib/ecj.jar; lib/jna.jar; lib/RXTXcomm.jar" /> diff --git a/app/lib/oro.jar b/app/lib/oro.jar deleted file mode 100644 index 667e86cb7a8a8eb6eb4974f252f58bfa43cd8c18..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26707 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 prototypes; // these ones have the .* at the end, since a class name might be at the end // instead of .* which would make trouble other classes using this can lop // off the . and anything after it to produce a package name consistently. - ArrayList programImports; + List programImports; // imports just from the code folder, treated differently // than the others, since the imports are auto-generated. - ArrayList codeFolderImports; + List codeFolderImports; String indent; @@ -79,6 +80,14 @@ public PdePreprocessor() { indent = new String(indentChars); } + /** + * Writes out the head of the c++ code generated for a sketch. + * Called from processing.app.Sketch. + * @param program the concatenated code from all tabs containing pde-files + * @param buildPath the path into which the processed pde-code is to be written + * @param name the name of the sketch + * @param codeFolderPackages unused param (leftover from processing) + */ public int writePrefix(String program, String buildPath, String sketchName, String codeFolderPackages[]) throws FileNotFoundException { this.buildPath = buildPath; @@ -93,7 +102,7 @@ public int writePrefix(String program, String buildPath, // an OutOfMemoryError or NullPointerException will happen. // again, not gonna bother tracking this down, but here's a hack. // http://dev.processing.org/bugs/show_bug.cgi?id=16 - String scrubbed = Sketch.scrubComments(program); + Sketch.scrubComments(program); // If there are errors, an exception is thrown and this fxn exits. if (Preferences.getBoolean("preproc.substitute_unicode")) { @@ -117,14 +126,7 @@ public int writePrefix(String program, String buildPath, // } // } - prototypes = new ArrayList(); - - try { - prototypes = prototypes(program); - } catch (MalformedPatternException e) { - System.out.println("Internal error while pre-processing; " + - "not generating function prototypes.\n\n" + e); - } + prototypes = prototypes(program); // store # of prototypes so that line number reporting can be adjusted prototypeCount = prototypes.size(); @@ -193,7 +195,7 @@ public String write() throws java.lang.Exception { } // Write the pde program to the cpp file - protected void writeProgram(PrintStream out, String program, List prototypes) { + protected void writeProgram(PrintStream out, String program, List prototypes) { int prototypeInsertionPoint = firstStatement(program); out.print(program.substring(0, prototypeInsertionPoint)); @@ -216,7 +218,7 @@ protected void writeProgram(PrintStream out, String program, List prototypes) { protected void writeFooter(PrintStream out) throws java.lang.Exception {} - public ArrayList getExtraImports() { + public List getExtraImports() { return programImports; } @@ -229,31 +231,23 @@ public ArrayList getExtraImports() { * or a pre-processor directive. */ public int firstStatement(String in) { - PatternMatcherInput input = new PatternMatcherInput(in); - PatternCompiler compiler = new Perl5Compiler(); - PatternMatcher matcher = new Perl5Matcher(); - Pattern pattern = null; + // whitespace + String p = "\\s+"; - try { - pattern = compiler.compile( - // XXX: doesn't properly handle special single-quoted characters - // whitespace - "\\s+" + "|" + - // multi-line comment - "(/\\*[^*]*(?:\\*(?!/)[^*]*)*\\*/)" + "|" + - // single-line comment - "(//.*?$)" + "|" + - // pre-processor directive - "(#(?:\\\\\\n|.)*)", - Perl5Compiler.MULTILINE_MASK); - } catch (MalformedPatternException e) { - throw new RuntimeException("Internal error in firstStatement()", e); - } + // multi-line and single-line comment + //p += "|" + "(//\\s*?$)|(/\\*\\s*?\\*/)"; + p += "|(/\\*[^*]*(?:\\*(?!/)[^*]*)*\\*/)|(//.*?$)"; + + // pre-processor directive + p += "|(#(?:\\\\\\n|.)*)"; + Pattern pattern = Pattern.compile(p, Pattern.MULTILINE); + Matcher matcher = pattern.matcher(in); int i = 0; - while (matcher.matchesPrefix(input, pattern)) { - i = matcher.getMatch().endOffset(0); - input.setCurrentOffset(i); + while (matcher.find()) { + if (matcher.start()!=i) + break; + i = matcher.end(); } return i; @@ -265,31 +259,24 @@ public int firstStatement(String in) { * @param in the String to strip * @return the stripped String */ - public String strip(String in) throws MalformedPatternException { - PatternCompiler compiler = new Perl5Compiler(); - PatternMatcher matcher = new Perl5Matcher(); - Pattern pattern = compiler.compile( - // XXX: doesn't properly handle special single-quoted characters - // single-quoted character - "('.')" + "|" + - // double-quoted string - "(\"(?:[^\"\\\\]|\\\\.)*\")" + "|" + - // multi-line comment - "(/\\*[^*]*(?:\\*(?!/)[^*]*)*\\*/)" + "|" + - // single-line comment - "(//.*?$)" + "|" + - // pre-processor directive - "(^\\s*#.*?$)", - Perl5Compiler.MULTILINE_MASK); - - while (matcher.contains(in, pattern)) { - MatchResult result = matcher.getMatch(); - // XXX: should preserve newlines in the result so that line numbers of - // the stripped string correspond to those in the original source. - in = in.substring(0, result.beginOffset(0)) + " " + in.substring(result.endOffset(0)); - } + public String strip(String in) { + // XXX: doesn't properly handle special single-quoted characters + // single-quoted character + String p = "('.')"; + + // double-quoted string + p += "|(\"(?:[^\"\\\\]|\\\\.)*\")"; - return in; + // single and multi-line comment + //p += "|" + "(//\\s*?$)|(/\\*\\s*?\\*/)"; + p += "|(//.*?$)|(/\\*[^*]*(?:\\*(?!/)[^*]*)*\\*/)"; + + // pre-processor directive + p += "|" + "(^\\s*#.*?$)"; + + Pattern pattern = Pattern.compile(p, Pattern.MULTILINE); + Matcher matcher = pattern.matcher(in); + return matcher.replaceAll(" "); } /** @@ -324,21 +311,17 @@ private String collapseBraces(String in) { return buffer.toString(); } - public List prototypes(String in) throws MalformedPatternException { + public ArrayList prototypes(String in) { in = collapseBraces(strip(in)); - PatternMatcherInput input = new PatternMatcherInput(in); - PatternCompiler compiler = new Perl5Compiler(); - PatternMatcher matcher = new Perl5Matcher(); // XXX: doesn't handle ... varargs // XXX: doesn't handle function pointers - Pattern pattern = compiler.compile( - "[\\w\\[\\]\\*]+\\s+[\\[\\]\\*\\w\\s]+\\([,\\[\\]\\*\\w\\s]*\\)(?=\\s*\\{)"); - List matches = new ArrayList(); + Pattern pattern = Pattern.compile("[\\w\\[\\]\\*]+\\s+[&\\[\\]\\*\\w\\s]+\\([&,\\[\\]\\*\\w\\s]*\\)(?=\\s*\\{)"); - while (matcher.contains(input, pattern)) { - matches.add(matcher.getMatch().group(0) + ";"); - } + ArrayList matches = new ArrayList(); + Matcher matcher = pattern.matcher(in); + while (matcher.find()) + matches.add(matcher.group(0) + ";"); return matches; } diff --git a/build/build.xml b/build/build.xml index 98d15985350..479cc7e1bf2 100644 --- a/build/build.xml +++ b/build/build.xml @@ -19,7 +19,6 @@ - diff --git a/build/macosx/template.app/Contents/Info.plist b/build/macosx/template.app/Contents/Info.plist index c48c547b511..19e0ff47e2e 100755 --- a/build/macosx/template.app/Contents/Info.plist +++ b/build/macosx/template.app/Contents/Info.plist @@ -72,7 +72,7 @@ - $JAVAROOT/pde.jar:$JAVAROOT/core.jar:$JAVAROOT/antlr.jar:$JAVAROOT/ecj.jar:$JAVAROOT/registry.jar:$JAVAROOT/quaqua.jar:$JAVAROOT/oro.jar:$JAVAROOT/RXTXcomm.jar + $JAVAROOT/pde.jar:$JAVAROOT/core.jar:$JAVAROOT/antlr.jar:$JAVAROOT/ecj.jar:$JAVAROOT/registry.jar:$JAVAROOT/quaqua.jar:$JAVAROOT/RXTXcomm.jar JVMArchs diff --git a/build/windows/launcher/config.xml b/build/windows/launcher/config.xml index 877e390a1e7..ba29d3a0673 100755 --- a/build/windows/launcher/config.xml +++ b/build/windows/launcher/config.xml @@ -19,7 +19,6 @@ lib/core.jar lib/jna.jar lib/ecj.jar - lib/oro.jar lib/RXTXcomm.jar diff --git a/todo.txt b/todo.txt index cc6ec46fbfa..014d099d08d 100644 --- a/todo.txt +++ b/todo.txt @@ -105,7 +105,6 @@ Sketch.java PreProcessor.java - split write() into writeHeader() and write() as in Processing? - add getExtraImports() function instead of having Sketch grab them directly. - - don't use oro.jar Base.java - add keywords from libraries to the syntax coloring pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy