public class SourceCode
extends java.lang.Object
| Modifier and Type | Method and Description |
|---|---|
java.lang.String |
codeBefore(Notation notation) |
static SourceCode |
createSourceCode(java.lang.String code,
java.util.List<Notation> lineComments) |
boolean |
hasCode() |
boolean |
isBeginning() |
boolean |
isEndOfLine() |
int |
nextPosition() |
char |
popChar(java.util.Map<java.lang.String,java.lang.Character> escapeChars) |
java.util.Optional<Token> |
popWord(Notation notation) |
java.util.Optional<Token> |
popWord(Notation notation,
java.util.function.Supplier<java.lang.Boolean> predicate) |
boolean |
startsWith(Notation notation) |
boolean |
startsWith(java.lang.String word) |
SyntaxException |
syntaxError(java.lang.String message,
int positionOffset) |
static <E extends Expression<C,N,E,O>,N extends Node<C,N>,C extends RuntimeContext<C>,O extends Operator<C,N,O>,S extends Procedure<C,N,E,O,S>> |
tokenScanner(boolean trimStart,
TriplePredicate<java.lang.String,java.lang.Integer,java.lang.Integer> endsWith) |
static <E extends Expression<C,N,E,O>,N extends Node<C,N>,C extends RuntimeContext<C>,O extends Operator<C,N,O>,S extends Procedure<C,N,E,O,S>> |
tokenScanner(java.util.function.Predicate<java.lang.Character> startsWith,
java.util.Set<java.lang.String> excluded,
boolean trimStart,
java.util.Set<java.lang.Character> delimiters) |
static <E extends Expression<C,N,E,O>,N extends Node<C,N>,C extends RuntimeContext<C>,O extends Operator<C,N,O>,S extends Procedure<C,N,E,O,S>> |
tokenScanner(java.util.function.Predicate<java.lang.Character> startsWith,
java.util.Set<java.lang.String> excluded,
boolean trimStart,
java.util.Set<java.lang.Character> delimiters,
java.util.function.Predicate<Token> validator) |
static <E extends Expression<C,N,E,O>,N extends Node<C,N>,C extends RuntimeContext<C>,O extends Operator<C,N,O>,S extends Procedure<C,N,E,O,S>> |
tokenScanner(java.util.function.Predicate<java.lang.Character> startsWith,
java.util.Set<java.lang.String> excluded,
boolean trimStart,
TriplePredicate<java.lang.String,java.lang.Integer,java.lang.Integer> endsWith,
java.util.function.Predicate<Token> predicate) |
<N> java.util.Optional<N> |
tryFetch(java.util.function.Supplier<java.util.Optional<N>> supplier) |
public static <E extends Expression<C,N,E,O>,N extends Node<C,N>,C extends RuntimeContext<C>,O extends Operator<C,N,O>,S extends Procedure<C,N,E,O,S>> TokenScanner<C,N,E,O,S> tokenScanner(java.util.function.Predicate<java.lang.Character> startsWith, java.util.Set<java.lang.String> excluded, boolean trimStart, java.util.Set<java.lang.Character> delimiters)
public static <E extends Expression<C,N,E,O>,N extends Node<C,N>,C extends RuntimeContext<C>,O extends Operator<C,N,O>,S extends Procedure<C,N,E,O,S>> TokenScanner<C,N,E,O,S> tokenScanner(java.util.function.Predicate<java.lang.Character> startsWith, java.util.Set<java.lang.String> excluded, boolean trimStart, java.util.Set<java.lang.Character> delimiters, java.util.function.Predicate<Token> validator)
public static <E extends Expression<C,N,E,O>,N extends Node<C,N>,C extends RuntimeContext<C>,O extends Operator<C,N,O>,S extends Procedure<C,N,E,O,S>> TokenScanner<C,N,E,O,S> tokenScanner(java.util.function.Predicate<java.lang.Character> startsWith, java.util.Set<java.lang.String> excluded, boolean trimStart, TriplePredicate<java.lang.String,java.lang.Integer,java.lang.Integer> endsWith, java.util.function.Predicate<Token> predicate)
public static <E extends Expression<C,N,E,O>,N extends Node<C,N>,C extends RuntimeContext<C>,O extends Operator<C,N,O>,S extends Procedure<C,N,E,O,S>> TokenScanner.Mandatory<C,N,E,O,S> tokenScanner(boolean trimStart, TriplePredicate<java.lang.String,java.lang.Integer,java.lang.Integer> endsWith)
public static SourceCode createSourceCode(java.lang.String code, java.util.List<Notation> lineComments)
public boolean hasCode()
public boolean startsWith(Notation notation)
public boolean startsWith(java.lang.String word)
public char popChar(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(Notation notation, java.util.function.Supplier<java.lang.Boolean> predicate)
public <N> java.util.Optional<N> tryFetch(java.util.function.Supplier<java.util.Optional<N>> supplier)
public boolean isEndOfLine()
public java.lang.String codeBefore(Notation notation)
public int nextPosition()