Sono le espressioni di un’algebra dei linguaggi, la quale supporta le operazioni chiuse (binarie) e (unaria).
è un’espressione regolare () se (induttivamente):
N.B.: è la stringa vuota e è il linguaggio vuoto.
Ogni regex restituisce in output un linguaggio :
Esempio
Valutazione:
Teorema: un linguaggio è regolare esiste un’espressione regolare che lo descrive
Teorema: Ogni espressione regolare può essere convertita nell’automa deterministico a stati finiti (DFA) che riconosce il linguaggio che essa descrive e viceversa. Quindi un linguaggio è regolare se e solo se esiste una regex che lo descrive.
todo pag. 67
Primo passo
Data , voglio costruire un automa deterministico a stati finiti (DFA) o un automa non deterministico a stati finiti (NFA) tale che .
Usiamo la ricorsione:
Per induzione,
todo continua
Secondo passo
Da definiamo un GNFA equivalente… todo continua
Definiamo il Generic Non deterministic Finite state Automaton (GNFA) canonico