/* * [CSVTokenizer.java] * * Summary: Decides which extensions will be processed by the CSV 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: * 3.1 2009-04-12 shorter style names, improved highlighting. */ package com.mindprod.jprep; import com.mindprod.jtokens.Token; /** * Decides which extensions will be processed by the CSV finite state automaton parser. * * @author Roedy Green, Canadian Mind Products * @version 3.1 2009-04-12 shorter style names, improved highlighting. * @since 2005-12-22 */ public final class CSVTokenizer implements JPrepTokenizer { /** * Constructor */ public CSVTokenizer() { // we don't load the big CSVState class until we actually first need to // parse. // Because CSVState is all static, it will be created only once no matter // how many // CSVTokenizers you create. } /** * @inheritDoc */ public String[] getExtensions() { return new String[] { "csv" }; } /** * 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 CSVState.parse( big ); } } // end CSVTokenizer