org.jmol.util

Class Parser

public class Parser extends Object

Field Summary
static float[]decimalScale
static float[]tensScale
Method Summary
static booleancheckTrailingText(String str, int ich, int ichMax)
static StringconcatTokens(String[] tokens, int iFirst, int iEnd)
static intcountTokens(String line, int ich)
static float[]extractData(String data, int field, int nBytes, int firstLine)
static StringgetNextQuotedString(String line, int ipt0)
static String[]getTokens(String line)
static String[]getTokens(String line, int ich)
static booleanisOneOf(String key, String semiList)
static booleanisWhiteSpace(String str, int ich)
static int[]markLines(String data, char eol)
static floatparseFloat(String str)
static floatparseFloat(String str, int[] next)
static floatparseFloat(String str, int ichMax, int[] next)
static voidparseFloatArray(String str, BitSet bs, float[] data)
parses a "dirty" string for floats.
static voidparseFloatArray(String[] tokens, BitSet bs, float[] data)
static voidparseFloatArray(String[] tokens, float[] data)
parses a string array for floats.
static voidparseFloatArray(String[] tokens, float[] data, int nData)
parses a string array for floats.
static float[][]parseFloatArray2d(String str)
static float[]parseFloatArrayFromMatchAndField(String str, BitSet bs, int fieldMatch, int fieldMatchColumnCount, int[] matchData, int field, int fieldColumnCount, float[] data, int firstLine)
the major lifter here.
static floatparseFloatChecked(String str, int ichMax, int[] next, boolean checkTrailing)
static floatparseFloatStrict(String str)
static intparseInt(String str)
static intparseInt(String str, int[] next)
static intparseInt(String str, int ichMax, int[] next)
static intparseIntChecked(String str, int ichMax, int[] next)
static StringparseToken(String str)
static StringparseToken(String str, int[] next)
static StringparseToken(String str, int ichMax, int[] next)
static StringparseTokenChecked(String str, int ichMax, int[] next)
static StringparseTrimmed(String str)
static StringparseTrimmed(String str, int ichStart)
static StringparseTrimmed(String str, int ichStart, int ichMax)
static StringparseTrimmedChecked(String str, int ich, int ichMax)
static voidsetSelectedFloats(float f, BitSet bs, float[] data)

Field Detail

decimalScale

private static final float[] decimalScale

tensScale

private static final float[] tensScale

Method Detail

checkTrailingText

private static boolean checkTrailingText(String str, int ich, int ichMax)

concatTokens

public static String concatTokens(String[] tokens, int iFirst, int iEnd)

countTokens

public static int countTokens(String line, int ich)

extractData

public static float[] extractData(String data, int field, int nBytes, int firstLine)

getNextQuotedString

public static String getNextQuotedString(String line, int ipt0)

getTokens

public static String[] getTokens(String line)

getTokens

public static String[] getTokens(String line, int ich)

isOneOf

public static boolean isOneOf(String key, String semiList)

isWhiteSpace

private static boolean isWhiteSpace(String str, int ich)

markLines

public static int[] markLines(String data, char eol)

parseFloat

public static float parseFloat(String str)

parseFloat

public static float parseFloat(String str, int[] next)

parseFloat

public static float parseFloat(String str, int ichMax, int[] next)

parseFloatArray

public static void parseFloatArray(String str, BitSet bs, float[] data)
parses a "dirty" string for floats. If there are non-float tokens, they are ignored. A bitset is used to assign values only to specific atoms in the set, not changing the values of the data array for other atoms. thus, a data set can be incrementally added to in this way.

Parameters: str the string to parse bs the atom positions to assign data the (sparce) array to fill

parseFloatArray

public static void parseFloatArray(String[] tokens, BitSet bs, float[] data)

parseFloatArray

public static void parseFloatArray(String[] tokens, float[] data)
parses a string array for floats. Returns NaN for nonfloats.

Parameters: tokens the strings to parse data the array to fill

parseFloatArray

public static void parseFloatArray(String[] tokens, float[] data, int nData)
parses a string array for floats. Returns NaN for nonfloats or missing data.

Parameters: tokens the strings to parse data the array to fill nData the number of elements

parseFloatArray2d

public static float[][] parseFloatArray2d(String str)

parseFloatArrayFromMatchAndField

public static float[] parseFloatArrayFromMatchAndField(String str, BitSet bs, int fieldMatch, int fieldMatchColumnCount, int[] matchData, int field, int fieldColumnCount, float[] data, int firstLine)
the major lifter here.

Parameters: str string containing the data bs selects specific rows of the data fieldMatch a free-format field pointer, or a column pointer fieldMatchColumnCount specifies a column count -- not free-format matchData an array of data to match (atom numbers) field a free-format field pointer, or a column pointer fieldColumnCount specifies a column count -- not free-format data float array to modify or null if size unknown firstLine first line to parse (1 indicates all)

Returns: data

parseFloatChecked

private static float parseFloatChecked(String str, int ichMax, int[] next, boolean checkTrailing)

parseFloatStrict

public static float parseFloatStrict(String str)

parseInt

public static int parseInt(String str)

parseInt

public static int parseInt(String str, int[] next)

parseInt

public static int parseInt(String str, int ichMax, int[] next)

parseIntChecked

private static int parseIntChecked(String str, int ichMax, int[] next)

parseToken

public static String parseToken(String str)

parseToken

public static String parseToken(String str, int[] next)

parseToken

public static String parseToken(String str, int ichMax, int[] next)

parseTokenChecked

private static String parseTokenChecked(String str, int ichMax, int[] next)

parseTrimmed

public static String parseTrimmed(String str)

parseTrimmed

public static String parseTrimmed(String str, int ichStart)

parseTrimmed

public static String parseTrimmed(String str, int ichStart, int ichMax)

parseTrimmedChecked

private static String parseTrimmedChecked(String str, int ich, int ichMax)

setSelectedFloats

public static void setSelectedFloats(float f, BitSet bs, float[] data)

Parameters: f bs data