Определяет цикл который выплоняется либо бесконечно (с возможностью выхода, при выполнении в теле цикла ключевого слова break) либо пока выполняется условие в конце цикла. Ключевое слово if после repeat не является обязательным как и само ключевое слово repeat. Описание цикла можно так же закончить ключевым словом end
Пример:
local countdown=10
local n=10
do
    countdown--
repeat if countdown!=0
print("Time's up!")
do
    n--
    if n==0 then break
    print("Infinite loop!")
end