whitespace = _{ "\t" | " " }
import_target = { (!NEWLINE ~ ASCII)+ }
import_statement = _{ guard_prefix? ~ "<<" ~ whitespace* ~ import_target ~ NEWLINE }
guard_prefix = _{ "[" ~ (!"]" ~ ASCII)+ ~ "]" ~ whitespace* }
comment = _{ "#" ~ (!NEWLINE ~ ASCII)+ ~ NEWLINE }
line = { (!"#") ~ (!NEWLINE ~ ASCII)+ }
body = { (import_statement | comment | line | NEWLINE)+ }