All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.unlaxer.parser.combinator.Optional Maven / Gradle / Ivy

package org.unlaxer.parser.combinator;

import org.unlaxer.Name;
import org.unlaxer.ast.ASTNodeKind;
import org.unlaxer.parser.Parser;

public class Optional extends ChildOccursWithTerminator {

	private static final long serialVersionUID = 9178853471703766611L;

	public Optional(Class inner) {
		super(inner);
	}

	public Optional(Name name, Class inner) {
		super(name, inner);
	}
	
	 public Optional(Name name, Parser inner) {
	    super(name, ()->inner);
	  }

	
	public Optional(ASTNodeKind astNodeKind ,  Class inner) {
		super(inner);
		addTag(astNodeKind.tag());
	}

	public Optional(Name name, ASTNodeKind astNodeKind ,  Class inner) {
		super(name, inner);
		addTag(astNodeKind.tag());
	}


	@Override
	public int min() {
		return 0;
	}

	@Override
	public int max() {
		return 1;
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy