Develop C++ programs to do the following tasks:
1- Building an NFA from a given regular expression.
2- Converting a giving NFA into a DFA.
3- Building a DFA from a given regular expression directly without
going through an NFA.
The code should be provided by clear explanation. Also, I will need a call session to explain the code .