
alice.tuprolog.parser.dynamic.Associativity Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of 2p-parser Show documentation
Show all versions of 2p-parser Show documentation
Parser module for tuProlog
The newest version!
package alice.tuprolog.parser.dynamic;
import java.util.EnumSet;
import java.util.stream.Stream;
public enum Associativity {
XF, YF, XFX, XFY, YFX, FX, FY;
public static Associativity values(int i) {
return values()[i];
}
public static EnumSet X_FIRST = EnumSet.of(XF, XFX, XFY, FX);
public static EnumSet Y_FIRST = EnumSet.of(YF, YFX, FY);
public static EnumSet INFIX = EnumSet.of(XFX, YFX, XFY);
public static EnumSet PREFIX = EnumSet.of(FX, FY);
public static EnumSet POSTFIX = EnumSet.of(YF, XF);
public static EnumSet NON_PREFIX = EnumSet.complementOf(PREFIX);
public static boolean isAssociativity(String value) {
return Stream.of(values()).anyMatch(it -> it.toString().equalsIgnoreCase(value));
}
static {
if (!NON_PREFIX.equals(EnumSet.of(XFX, YFX, XFY, YF, XF))) {
throw new IllegalStateException();
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy