main() {
for (var i in []) {}
}


main[StringToken]([BeginToken])[SimpleToken] {[BeginToken]
for[KeywordToken] ([BeginToken]var[KeywordToken] i[StringToken] in[KeywordToken] [][SimpleToken])[SimpleToken] {[BeginToken]}[SimpleToken]
}[SimpleToken]
[SimpleToken]
