package metalexer.jflex;

public class Constants {
    public static final String JFLEX_FILE_EXT = ".flex";
    public static final String META_JFLEX_FILE_EXT = ".meta.flex";
    
    public static final String MACRO_PROP_FILE_EXT = ".macro.properties"; //testing only
    public static final String EMBEDDING_PROP_FILE_EXT = ".embedding.properties"; //testing only

    public static final String OPAQUE_TRUE_PREDICATE = "true";

    public static final String JFLEX_TOKEN_TYPE_OPTION = "%type";
    public static final String DEFAULT_JFLEX_TOKEN_TYPE = "Yytoken"; //doesn't seem to be a real type

    public static final String JFLEX_CLASS_OPTION = "%class";

    public static final String APPEND_CHECK_METHOD_NAME = "isAppend";
    public static final String START_DELIM_CHECK_METHOD_NAME = "expectsStartDelim";
    public static final String APPEND_ACTION_METHOD_NAME = "performAppendAction";
    public static final String START_STATE_METHOD_NAME = "getStartState";
    public static final String CHAR_VALUE_METHOD_NAME = "getCharValue";
    public static final String SYMBOL_VALUE_METHOD_NAME = "getSymbolValue";

    public static final String EMBEDDING_RECORD_ARRAY_NAME = "embeddingRecordArray";

    public static final String BASE_META_STATE_NAME = "BASE";
    
    public static final String BASE_TRANSITIONS_NAME = "trans_BASE";
    public static final String BASE_ACTIONS_NAME = "act_BASE";

    public static final int INDENT_SIZE = 4;

    private Constants() {}
}
