# Theory of Computation

## [Lab 1 (DFA)](toc/dfa)

* [DFA for the language of string over {0.1} in which each string end with 11](https://github.com/sthsuyash/CSIT_Labs/blob/main/4th_Semester/TOC/DFA/string_end_with_11.cpp)
* [DFA accepting the string over {a,b} such that each string does not end with ab](https://github.com/sthsuyash/CSIT_Labs/blob/main/4th_Semester/TOC/DFA/string_doesnot_end_with_ab.cpp)
* [DFA for the language of string over {a,b} such that each string contain aba as substring](https://github.com/sthsuyash/CSIT_Labs/blob/main/4th_Semester/TOC/DFA/string_contains_aba_substring.cpp)
* [DFA for the language of string over {0,1} such that each string start with 01](https://github.com/sthsuyash/CSIT_Labs/blob/main/4th_Semester/TOC/DFA/string_start_with_01.cpp)
* [DFA for the language of string over {0,1} such that set of all string ending in 00](https://github.com/sthsuyash/CSIT_Labs/blob/main/4th_Semester/TOC/DFA/string_end_with_00.cpp)
* [DFA for the language of string over {0,1} such that set of strings with 011 as a substring](https://github.com/sthsuyash/CSIT_Labs/blob/main/4th_Semester/TOC/DFA/string_contains_011_substring.cpp)

## [Lab 2 (NFA)](toc/nfa)

* [NFA that accepts string ending with 01](https://github.com/sthsuyash/CSIT_Labs/blob/main/4th_Semester/TOC/NFA/string_ending_with_01.cpp)
* [NFA that accepts string containing substring 101](https://github.com/sthsuyash/CSIT_Labs/blob/main/4th_Semester/TOC/NFA/string_containing_substring_101.cpp)
* [NFA that accepts string starting with 10](https://github.com/sthsuyash/CSIT_Labs/blob/main/4th_Semester/TOC/NFA/string_starting_with_10.cpp)

## Lab 3

* [Program to find prefixes, suffixes and substrings from a given string](https://github.com/sthsuyash/CSIT_Labs/blob/main/4th_Semester/TOC/prefix_suffix_substring.cpp)
* [Program to validate C identifiers and keywords](https://github.com/sthsuyash/CSIT_Labs/blob/main/4th_Semester/TOC/validate_c_identifier_keywords.cpp)
