The purpose of problem 2 is to construct the regular expression for the statement list based on the requirement in Q2. You can use a symbol to denote dummy statement like '~'. I'll explain the question more clearly. b; is a basic statement l:b; is a basic statement with a label. l:l:; is a dummy statement with two labels. In Question 3 we have a example regular expression as F = S (D* '.'? D+ | D+ '.'? D*) (S ('e' | 'E') D+)? where S = '+' | '-' | empty and D = '0' | '1' ... '9'