/* * [JavaTokenizer.java] * * Summary: Decides which extensions will be processed by the Java finite state automaton parser. * * Copyright: (c) 2004-2017 Roedy Green, Canadian Mind Products, http://mindprod.com * * Licence: This software may be copied and used freely for any purpose but military. * http://mindprod.com/contact/nonmil.html * * Requires: JDK 1.8+ * * Created with: JetBrains IntelliJ IDEA IDE http://www.jetbrains.com/idea/ * * Version History: * 3.1 2009-04-12 shorter style names, improved highlighting. */ /** * Decides which extensions will be processed by the Java finite state automaton parser. * * @author Roedy Green, Canadian Mind Products * @version 3.1 2009-04-12 shorter style names, improved highlighting. * @since 2004-05-15 */ package com.mindprod.jprep; import com.mindprod.jtokens.Token; /** * Decides which extensions will be processed by the Java finite state automaton parser. * * @author Roedy Green, Canadian Mind Products * @version 3.1 2009-04-12 shorter style names, improved highlighting. * @since 2004 */ public final class JavaTokenizer implements JPrepTokenizer { // JavaTokenizer must be registered in Jprep.prepareAllSnippetsForOneDirectory. /** * Constructor */ public JavaTokenizer() { // we don't load the big JavaState class until we actually first need to // parse. // Because JavaState is all static, it will be created only once no // matter // how many // JavaTokenizers you create. } /** * @inheritDoc */ public String[] getExtensions() { return new String[] { "java", "javafrag", // kludges till I write better parsers "c", "cfrag", "cpp", "cppfrag", "css", "cssfrag", "h", "hfrag", "hpp", "hppfrag", // js now handled by bali "policy", "policyfrag" }; } /** * Parse program and return array of tokens * * @param big the entire program or fragment to parse. * * @return array of tokens encoding colour and font. */ public Token[] tokenize( String big ) { return JavaState.parse( big ); } }