/* * [IniTokenizer.java] * * Summary: Decides which extensions will be processed by the INI finite state automaton parser. * * Copyright: (c) 2005-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: * 1.0 2005-12-22 */ package com.mindprod.jprep; import com.mindprod.jtokens.Token; /** * Decides which extensions will be processed by the INI finite state automaton parser. * * @author Roedy Green, Canadian Mind Products * @version 1.0 2005-12-22 * @since 2005-12-22 */ // TODO: for srs files implement comments. public final class IniTokenizer implements JPrepTokenizer { /** * Constructor */ public IniTokenizer() { // we don't load the big PropState class until we actually first need to // parse. // Because PropState is all static, it will be created only once no // matter // how many // PropTokenizers you create. } /** * @inheritDoc */ public String[] getExtensions() { // sh is Linux shell script. not that close a match. return new String[] { "ini", "inifrag", "reg", "regfrag", "srs", "srsfrag", "sh", "shfrag", "list" }; } /** * Parse program and return array of tokens * * @param big The string of text to analyse, an entire file or fragment. * * @return tokenized equivalent that encodes the fonts and colours. */ public Token[] tokenize( String big ) { return IniState.parse( big ); } } // end IniTokenizer