workout = { SOI ~ (exercise | NEWLINE)+ ~ EOI }
exercise = { name ~ (NEWLINE ~ set)+ }
name = { (!NEWLINE ~ ANY)* }
set = { weight ~ "x" ~ reps ~ ("+" ~ set)* ~ comment? }
comment = { (!NEWLINE ~ ANY)+ }
weight = {
ASCII_DIGIT+ ~ "." ~ ASCII_DIGIT+
| ASCII_DIGIT+
}
reps = { ASCII_DIGIT+ }
WHITESPACE = _{ " " | "\t" }