CPS 1 Using syntax rules to derive a sample program. program train; var gate:string; begin writeln('Is crossing gate up or down?'); readln(gate); if gate = 'down' then begin writeln('Watch the train go by.'); end else begin writeln('We beat the train this time!'); end; readln; end. #14 -> program ; . #1 -> program train; . #12 -> program train; var :; . #1,13 -> program train; var gate: string; . #7 -> program train; var gate: string; #7 begin ; ; ; ; end. -> program train; var gate: string; begin #4 writeln(); #5 readln(); #8 if then else ; #6 readln; end. -> program train; var gate: string; begin #3 writeln('Is crossing gate up or down?'); #1 readln(gate); #10 if gate = 'down' then else ; readln; end. -> program train; var gate: string; begin writeln('Is crossing gate up or down?'); readln(gate); if gate = 'down' then #7 begin ; end else #7 begin ; end; readln; end. -> program train; var gate: string; begin writeln('Is crossing gate up or down?'); readln(gate); if gate = 'down' then begin #4 writeln(); end else begin #4 writeln(); end; readln; end. -> program train; var gate: string; begin writeln('Is crossing gate up or down?'); readln(gate); if gate = 'down' then begin #3 writeln('Watch the train go by.'); end else begin #3 writeln('We beat the train this time!'); end; readln; end.