Package net.seesharpsoft.commons.util
Class Lexer<T>
java.lang.Object
net.seesharpsoft.commons.util.Lexer<T>
public class Lexer<T>
extends java.lang.Object
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classLexer.State<T>Defines a lexer state by its name and a set of target states that can be reached by certain tokens.static classLexer.StateInfo<T> -
Field Summary
Fields Modifier and Type Field Description protected Lexer.StatecurrentStateprotected Lexer.StateinitialStateprotected java.util.Set<Lexer.State>statesprotected Tokenizer<T>tokenizer -
Constructor Summary
-
Method Summary
Modifier and Type Method Description Lexer.StateaddState(java.lang.String name)Lexer.StategetInitialState()Lexer.StategetState(java.lang.String name)protected Tokenizer<T>getTokenizer()voidinit(java.io.InputStream is, java.util.function.Function<java.lang.String,T> tokenResolver)voidinit(java.lang.String fileName)voidinit(java.lang.String fileName, java.util.function.Function<java.lang.String,T> tokenResolver)java.util.List<Lexer.StateInfo<T>>parse(java.lang.String input)java.util.List<Lexer.StateInfo<T>>parseStates(java.util.List<Tokenizer.TokenInfo<T>> tokenInfos)voidsetInitialState(Lexer.State state)java.util.List<Tokenizer.TokenInfo<T>>tokenize(java.lang.String input)protected booleantokenMatcherCallback(T token, java.lang.String text)
-
Field Details
-
Constructor Details
-
Method Details
-
getTokenizer
-
addState
-
getState
-
setInitialState
-
getInitialState
-
tokenMatcherCallback
-
tokenize
-
parseStates
public java.util.List<Lexer.StateInfo<T>> parseStates(java.util.List<Tokenizer.TokenInfo<T>> tokenInfos) -
parse
public java.util.List<Lexer.StateInfo<T>> parse(java.lang.String input) throws java.text.ParseException- Throws:
java.text.ParseException
-
init
public void init(java.io.InputStream is, java.util.function.Function<java.lang.String,T> tokenResolver) throws java.io.IOException- Throws:
java.io.IOException
-
init
public void init(java.lang.String fileName, java.util.function.Function<java.lang.String,T> tokenResolver) throws java.io.IOException- Throws:
java.io.IOException
-
init
public void init(java.lang.String fileName) throws java.io.IOException- Throws:
java.io.IOException
-