Package eu.bandm.tools.ulex

"u-lex" stands for "micro lexer" and supports small-scale text analysis by a fully typed combinator library.

See:
          Description

Interface Summary
Lexable  
 

Class Summary
ULex<T> "u-lex" stands for "micro lexer" and supports small-scale text analysis by a fully typed combinator library.
ULex.Alt<A> Parser which accepts one of two sub-parsers.
ULex.CharSet Accepts the next character iff it is contained/not contained n the given character Set (encoded as a String).
ULex.Concatenate Convenience sub-class of ULex.Seq to concatenate two string results.
ULex.Const Accepts given constant String value and returns it, or throws ULex.ExceptionFail.
ULex.ConstMap<T> Accepts a longest prefix match from a set of constant String values and returns the values defined by the map argument; or throws ULex.ExceptionFail.
ULex.DecimalDigit Returns a parsed decimal digit 0..9
ULex.End Parser which accepts the end of the input string.
ULex.Fail<T> Parser which accepts nothing
ULex.Int Returns a parsed integer
ULex.Length<T> Parser which delivers the length of items accepted by its sub-parser
ULex.Natural Returns a parsed natural number > 0, iff possible
ULex.Natural_0 Returns a parsed natural number >= 0, iff possible
ULex.Negate Returns the integer "0-r" whenever it sub-parser returns the integer "r".
ULex.Opt<S> Parser which returns null in case the sub-parser throws ULex.ExceptionFail
ULex.Pattern Convenience sub-class of ULex.SemanticPattern in which the accepted string itself is the result returned from parsing.
ULex.PatternInteger Returns a parsed integer
ULex.PatternLength Convenience sub-class of ULex.SemanticPattern in which the character count of the accepted string is the result returned from parsing.
ULex.Plus<S> Parser which accepts one or more instances of its sub-parser and returns them in one List<S> datum.
ULex.SemanticPattern<R> Accepts a regular expression pattern as defined by Pattern and returns what the user-defined method ULex.SemanticPattern.semantics(String) calculates from it.
ULex.Seq<A,B,R> Parser which accepts a sequence of two sub-parsers and returns, what is calculated by the user-defined method ULex.Seq.combine(A, B).
ULex.Seq_1<A,B> A predefined subclass of ULex.Seq which discards the result of the second sub-parser and returns the result of the first sub-parser.
ULex.Seq_2<A,B> A predefined subclass of ULex.Seq which discards the result of the first sub-parser and returns the result of the second sub-parser.
ULex.SkipWhitespace<S> Skips whitespace and the executes the sub-parser.
ATTENTION!
ULex.Star<S> Parser which accepts zero or more instances of its sub-parser and returns them in one List<S> datum.
ULex.State Encapsulates the input data, output channels and the current state of the parsing process; indeed, only the "current read index" ULex.State.position is dynamic.
ULex.ToLower<S> Executes the sub-parser on a lower-case version of the input string.
 

Exception Summary
ULex.ExceptionFail  
 

Package eu.bandm.tools.ulex Description

"u-lex" stands for "micro lexer" and supports small-scale text analysis by a fully typed combinator library. The purpose it was designed for is "pluggable" lexical analysis in the context of eu.bandm.tscore.base parsing.