Ho un paio di domande d'esame per la mia classe di compilatori e volevo controllare se le mie soluzioni fossero corrette.
La prima domanda è:
Consider a language in which numbers start with an optional minus sign, followed by one or more decimal digits, followed by an optional decimal point. If the number contains a decimal point it is followed by one or more further decimal digits. Express the syntax of numbers in this language as a regular expression.
E per la mia risposta:
("-")? ["0"-"9"]+ ("."["0"-"9"]+)?
La seconda domanda è:
Construct a deterministic finite state automaton for recognising the numbers as described in Question 1
E la mia risposta è:
Dove lo stato 2,4,5 e 6 sono terminali.
Queste soluzioni sono corrette? Non sono sicuro di come dovrebbe essere il DFA e le sue differenze rispetto a un NFA.
Grazie!