package org.sikuli.syntaxhighlight; import java.io.FileInputStream; import java.io.IOException; import java.io.PrintWriter; import java.util.Date; import org.sikuli.syntaxhighlight.format.Formatter; import org.sikuli.syntaxhighlight.grammar.Lexer; import org.sikuli.syntaxhighlight.grammar.Token; public class Run { private static void p(String text, Object... args) { System.out.println(String.format(text, args)); } public static void main(String[] args) throws IOException, ResolutionException { String file = System.getProperty("user.dir") + "/src/main/java/org/sikuli/syntaxhighlight/Util.java"; String aLexer = "python"; Lexer lexer = Lexer.getByName(aLexer); if (lexer != null) { Formatter formatter = Formatter.getByName("html"); String code = Util.streamToString(new FileInputStream(file)); // code = " String code = Util.streamToString(new FileInputStream(file));"; long start = new Date().getTime(); Iterable<Token> tokens = lexer.getTokens(code); long lexing = new Date().getTime() - start; formatter.format(tokens, new PrintWriter("/Users/rhocke/Desktop/shtest.html")); long formatting = new Date().getTime()- start - lexing; p("%s: processed (%d, %d)", aLexer, lexing, formatting); } else { p("%s: no Lexer found", aLexer); } } }