public class SourceCode
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
static class |
SourceCode.FetchBy |
| Constructor and Description |
|---|
SourceCode(java.lang.String code) |
| Modifier and Type | Method and Description |
|---|---|
char |
escapedPop(java.util.Map<java.lang.String,java.lang.Character> escapeChars) |
<T> java.util.Optional<Node> |
fetchElementNode(SourceCode.FetchBy fetchBy,
java.lang.Character opening,
char closing,
java.util.function.Supplier<T> element,
java.util.function.Function<java.util.List<T>,Node> nodeFactory) |
boolean |
hasCode() |
boolean |
isBeginning() |
boolean |
isEndOfLine() |
SourceCode |
leftTrim() |
int |
nextPosition() |
java.util.Optional<Token> |
popWord(java.lang.String word) |
java.util.Optional<Token> |
popWord(java.lang.String word,
java.util.function.Supplier<java.lang.Boolean> predicate) |
<T> java.util.Optional<T> |
repeatWords(java.lang.String word,
java.util.function.IntFunction<T> intFunction) |
boolean |
startsWith(java.lang.String word) |
SyntaxException |
syntaxError(java.lang.String message,
int positionOffset) |
static TokenMatcher |
tokenMatcher(java.util.function.Predicate<java.lang.Character> startsWith,
java.util.Set<java.lang.String> excluded,
boolean trim,
java.util.function.BiPredicate<java.lang.Character,java.lang.Character> endsWith,
java.util.function.Predicate<Token> validator) |
static TokenMatcher |
tokenMatcher(java.util.function.Predicate<java.lang.Character> startsWith,
java.util.Set<java.lang.String> excluded,
boolean trim,
java.util.Set<java.lang.Character> delimiters,
java.util.function.Predicate<Token> validator) |
java.util.Optional<Node> |
tryFetch(java.util.function.Supplier<java.util.Optional<Node>> supplier) |
public static TokenMatcher tokenMatcher(java.util.function.Predicate<java.lang.Character> startsWith, java.util.Set<java.lang.String> excluded, boolean trim, java.util.Set<java.lang.Character> delimiters, java.util.function.Predicate<Token> validator)
public static TokenMatcher tokenMatcher(java.util.function.Predicate<java.lang.Character> startsWith, java.util.Set<java.lang.String> excluded, boolean trim, java.util.function.BiPredicate<java.lang.Character,java.lang.Character> endsWith, java.util.function.Predicate<Token> validator)
public boolean hasCode()
public SourceCode leftTrim()
public boolean startsWith(java.lang.String word)
public char escapedPop(java.util.Map<java.lang.String,java.lang.Character> escapeChars)
public boolean isBeginning()
public SyntaxException syntaxError(java.lang.String message, int positionOffset)
public java.util.Optional<Token> popWord(java.lang.String word)
public java.util.Optional<Token> popWord(java.lang.String word, java.util.function.Supplier<java.lang.Boolean> predicate)
public <T> java.util.Optional<Node> fetchElementNode(SourceCode.FetchBy fetchBy, java.lang.Character opening, char closing, java.util.function.Supplier<T> element, java.util.function.Function<java.util.List<T>,Node> nodeFactory)
public java.util.Optional<Node> tryFetch(java.util.function.Supplier<java.util.Optional<Node>> supplier)
public <T> java.util.Optional<T> repeatWords(java.lang.String word,
java.util.function.IntFunction<T> intFunction)
public boolean isEndOfLine()
public int nextPosition()