I did SDD. Railroad diagrams and EBNF don't describe data structures, they describe languages (sets of strings).
EBNF can't be used to define a for loop or define a while loop. It's used to define the syntax for these constructs. Like, you might describe the syntax for a while loop as
while =...