• 0 Posts
  • 14 Comments
Joined 1 year ago
cake
Cake day: June 23rd, 2023

help-circle




  • If I can remember my theory correctly the difference between languages revolves around the machinery required to recognize the language.

    Regular expressions can be recognized with just finite state machines (NFA or DFA have the same power).

    Context free languages require a Push down automata. And context sensitive languages need a Turing Machine.

    When looking at regular expressions as NFAs you can see the operations you mentioned.

    Concat a b: is just state transition

    Union a b: have an epsilon transition from the start state to an NFA for a and one into the NFA for b

    Repeat a: add an epsilon transition from the accept state of a to it’s own start state

    With the more powerful grammars you might be able to do similar analysis on the ability to join machines together but it’s been too many years since I did any formal work like that.