1

to express regular languages we use regexp and for context free languages we can use an stack-like memory, I know context free languages have some specifications like center embedding, but still I'm not sure when we can be confidant a given language is context free language? for example why does natural language is not a regular language. is there any reason except center embedding?

user3070752
  • 694
  • 4
  • 23

1 Answers1

0

Automata theory states that a regular language can be processed by a Finite State Machine (FSM). However, if a language has "center-embedding", then that language is a Context-Free Language(CFL) which requires a Push-Down Automata(PDA).

Importantly, a PDA is a FSM with an additional resource of a memory-like device that is a "stack" or "counter" in order to keep track of the embeddings.

Wikipedia says in Languages that are not context-free :-

To prove that a given language is not context-free, one may employ the pumping lemma for context-free languages or a number of other methods, such as Ogden's lemma or Parikh's theorem.

Wikipedia says in Deciding whether a language is regular :-

To prove that a language is not regular, one often uses the Myhill–Nerode theorem or the pumping lemma among other methods.

why does natural language is not a regular language ?

Chomsky said in (1957): “English is not a regular language”. As for context-free languages, “I do not know whether or not English is itself literally outside the range of such analyses”.

I am adding that English is such a vast language which can't be recognised by a finite machine.

Am_I_Helpful
  • 18,735
  • 7
  • 49
  • 73