Non sono chiaro sull'uso delle frasi linguaggio "infinito" o linguaggio "finito" nella teoria dei computer.
Penso che la radice del problema sia che un linguaggio come è infinito, nel senso che può generare un numero infinito (ma numerabile) di stringhe. Tuttavia, può ancora essere riconosciuto da un automa a stati finiti.L={ab}∗
Un altro problema è che la teoria del linguaggio formale è piuttosto peculiare nel modo in cui usa il termine "linguaggio".
Per tutti in questo mondo tranne le persone nella teoria formale del linguaggio, una lingua è un sistema di espressioni usato per comunicare, quindi ogni espressione ha una forma (la sua sintassi ) e una sorta di significato (la sua semantica ). La teoria del linguaggio formale, almeno la parte utilizzata nell'informatica, è dedicata al problema di come definire, formalmente, la sintassi dei linguaggi. Riguarda la relazione tra la sintassi delle lingue (come appaiono le espressioni) e i formalismi (le lingue!) Come le espressioni regolari utilizzate per definire la sintassi delle lingue.
Quindi, nella teoria formale del linguaggio, "un linguaggio" è definito semplicemente come "un insieme di stringhe". In genere non assegna significati alle stringhe nella lingua.
Allo stesso tempo, i formalismi usati per descrivere le lingue, come le espressioni regolari, formano anche le lingue in questo senso: ad esempio, ogni espressione regolare è una stringa e, quindi, l'insieme delle espressioni regolari è una lingua. Tuttavia, per questi formalismi, le stringhe nella lingua do hanno un significato: per esempio, il significato di ogni espressione regolare è il linguaggio che contraddistingue.
ab{ab}abab{ab}
{ab}∗∗LLLL{ab}∗{ϵ,ab,abab,ababab,abababab,…}∗{ab}∗
(ab)∗∗
(ab)∗
ab*
(stella di Kleene) significa che puoi avere zero o più combinazioni della stringaab
, questo include un potenziale numero infinito di stringhe: {"", ab ^ 1, ab ^ 2, ab ^ 3, ... ., ab ^ n}. Puoi comunque creare un FSM che riconosca questo linguaggio perché in realtà non c'è modo di generare una stringa infinita, quando elaborate da una macchina tutte le stringhe devono essere finite, ma ciò non rende il linguaggio stesso finito. L'infinità delle lingue è teorica.