org.unlaxer.tinyexpression.parser.javalang.JavaStyleDelimitedLazyZeroOrMore Maven / Gradle / Ivy
package org.unlaxer.tinyexpression.parser.javalang;
import java.util.List;
import java.util.function.Supplier;
import org.unlaxer.Name;
import org.unlaxer.parser.Parser;
import org.unlaxer.parser.combinator.LazyZeroOrMore;
public abstract class JavaStyleDelimitedLazyZeroOrMore extends LazyZeroOrMore {
JavaStyleDelimitedLazyChain chain;
public JavaStyleDelimitedLazyZeroOrMore() {
super();
List parser = List.of(targetParser().get());
chain = new JavaStyleDelimitedLazyChain() {
@Override
public List getLazyParsers() {
return parser;
}
};
}
public JavaStyleDelimitedLazyZeroOrMore(Name name) {
super(name);
List parser = List.of(targetParser().get());
chain = new JavaStyleDelimitedLazyChain() {
@Override
public List getLazyParsers() {
return parser;
}
};
}
@Override
public Supplier getLazyParser() {
return ()->chain;
}
@Override
public java.util.Optional getLazyTerminatorParser() {
return java.util.Optional.empty();
}
public abstract Supplier targetParser();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy