/// \return blockIdForSubstituteSym(sym) - 1 for a 0-based index instead of 1-based inline BlockId indexForSubstituteSym(Sym sym) { assert(isConstraintSubstituteSym(sym)); return sym.id() - (BLOCK_START::ID.id() + SDL_NUM_BLOCKS); }
inline BlockId blockIndexForStart(Sym sym) { assert(isBlockStartSymbol(sym)); return sym.id() - BLOCK_START::ID.id(); }
inline std::string idStr(Sym sym) { return detail::toString(sym.id()); }