net.intelie.pipes.generated.PipesParser Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pipes-api Show documentation
Show all versions of pipes-api Show documentation
Intelie Pipes' API classes and interfaces
package net.intelie.pipes.generated;
import net.intelie.pipes.ast.AstStack;
import net.intelie.pipes.ast.SourceLocation;
import net.intelie.pipes.util.PipesCharStream;
public interface PipesParser {
Token getCurrentToken();
default PipesTokenManager.Token token() {
return (PipesTokenManager.Token) getCurrentToken();
}
default SourceLocation location() {
return PipesTokenManager.toFullLocation(token());
}
class Pipe extends PipeParserCore implements PipesParser {
public Pipe(String input) {
this(new PipesTokenManager.Pipe(new PipesCharStream(input)));
}
public Pipe(PipesTokenManager.Pipe tk) {
super(tk);
this.token = new PipesTokenManager.Token(tk.stream().getInput());
this.ast = new AstStack(this::token);
}
}
class Filter extends FilterParserCore implements PipesParser {
public Filter(String input) {
this(new PipesTokenManager.Filter(new PipesCharStream(input)));
}
public Filter(PipesTokenManager.Filter tk) {
super(tk);
this.token = new PipesTokenManager.Token(tk.stream().getInput());
this.ast = new AstStack(this::token);
}
}
class Span extends TimeSpanParserCore implements PipesParser {
public Span(String input) {
this(new PipesTokenManager.Span(new PipesCharStream(input)));
}
public Span(PipesTokenManager.Span tk) {
super(tk);
this.token = new PipesTokenManager.Token(tk.stream().getInput());
this.ast = new AstStack(this::token);
}
}
}