Remember that X means "next", U means "until", G means "globally", F means "finally", which means GF means "infinitely often".
The formula should only contain atomic propositions or operators |, &, ~, ->, <->, X, U, G, F.
Afterwards it gets instructions in how to construct formulas out of subformulas using the grouping of logical/natural terms with the help of parentheses.
It almost seems contradictory for me to only allow atomic propositions and operators and later introduce parentheses.
Maybe it could be benefitial to introduce parentheses more specificly as first class citizens of the syntax and a mean to group subformulas.