grammar SRT
rule subtitles subtitle* <Titlekit::SRT::Subtitles> end rule subtitle id eol from ' --> ' to coordinates? eol lines eos <Titlekit::SRT::Subtitle> end rule id number end rule from timecode end rule to timecode end rule timecode hours ':' minutes ':' seconds (',' / '.') fractions <Titlekit::SRT::Timecode> end rule hours number end rule minutes number end rule seconds number end rule fractions number end rule coordinates ' X1:' number ' X2:' number ' Y1:' number ' Y2:' number end rule lines line+ end rule line string (eol / eof) end rule eos eol+ / eof end rule eol "\r\n" / "\n" / "\r" end rule eof !. end rule number [0-9]+ end rule string (!eol .)+ end
end