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

net.siisise.ebnf.EBNF Maven / Gradle / Ivy

The newest version!
package net.siisise.ebnf;

import net.siisise.bnf.BNF;
import net.siisise.bnf.BNFReg;

/**
 * ISO 14977 くらいの標準で?
 */
public interface EBNF extends BNF {

    /**
     * 
     * @param ch 文字
     * @return 文字と一致するABNF
     */
    static EBNF bin(int ch) {
        return new EBNFbin(ch);
    }

    static EBNF bin(String str) {
        return new EBNFbin(str);
    }

    static EBNFrange range(int min, int max) {
        return new EBNFrange(min, max);
    }

    /**
     * 複製可能な構造を推奨(ループがあると複製は難しい)
     *
     * @param reg 複製先
     * @return ABNFの複製
     */
    @Override
    EBNF copy(BNFReg reg);

    public EBNF mn(EBNF bnf);


}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy