org.unlaxer.parser.elementary.NamedParenthesesParser Maven / Gradle / Ivy
package org.unlaxer.parser.elementary;
import java.util.List;
import org.unlaxer.Name;
import org.unlaxer.Token;
import org.unlaxer.parser.Parser;
import org.unlaxer.parser.Parsers;
import org.unlaxer.parser.ascii.LeftParenthesisParser;
import org.unlaxer.parser.ascii.RightParenthesisParser;
import org.unlaxer.parser.combinator.LazyChain;
public abstract class NamedParenthesesParser extends LazyChain{
private static final long serialVersionUID = 5506328765442699565L;
public NamedParenthesesParser(Name name) {
super(name);
}
public NamedParenthesesParser() {
super();
}
List parsers;
public abstract Parser nameParser();
public abstract Parser innerParser();
@Override
public void initialize() {
parsers =
new Parsers(
nameParser(),
new LeftParenthesisParser(),
new SpaceDelimitor(),
innerParser(),
new SpaceDelimitor(),
new RightParenthesisParser()
);
}
public static Token getInnerParserParsed(Token thisParserParsed) {
return thisParserParsed.children.get(3);
}
@Override
public List getLazyParsers() {
return parsers;
}
} © 2015 - 2025 Weber Informatics LLC | Privacy Policy