"use strict";
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const BITS_FOR_METHOD_TYPE = 4;
const BITS_FOR_OCCURRENCE_IDX = 8;
const OR_IDX = 1 << BITS_FOR_OCCURRENCE_IDX;
const OPTION_IDX = 2 << BITS_FOR_OCCURRENCE_IDX;
const MANY_IDX = 3 << BITS_FOR_OCCURRENCE_IDX;
const AT_LEAST_ONE_IDX = 4 << BITS_FOR_OCCURRENCE_IDX;
const MANY_SEP_IDX = 5 << BITS_FOR_OCCURRENCE_IDX;
const AT_LEAST_ONE_SEP_IDX = 6 << BITS_FOR_OCCURRENCE_IDX;
function getKeyForAutomaticLookahead(ruleIdx, dslMethodIdx, occurrence) {
  return occurrence | dslMethodIdx | ruleIdx;
}
exports.AT_LEAST_ONE_IDX = AT_LEAST_ONE_IDX;
exports.AT_LEAST_ONE_SEP_IDX = AT_LEAST_ONE_SEP_IDX;
exports.BITS_FOR_METHOD_TYPE = BITS_FOR_METHOD_TYPE;
exports.BITS_FOR_OCCURRENCE_IDX = BITS_FOR_OCCURRENCE_IDX;
exports.MANY_IDX = MANY_IDX;
exports.MANY_SEP_IDX = MANY_SEP_IDX;
exports.OPTION_IDX = OPTION_IDX;
exports.OR_IDX = OR_IDX;
exports.getKeyForAutomaticLookahead = getKeyForAutomaticLookahead;
//# sourceMappingURL=lib-src-parse-grammar-keys.cjs.map
