Lab work from my Compiler Design course — CSE, Northern University of Business & Technology Khulna. Each program implements one building block of a compiler's front end, written in C++.
| Program | What it does |
|---|---|
1_Comment_OR_Not.cpp |
Detects whether a line of source code is a comment |
2_char_frequency.cpp |
Counts character frequency in source text |
3_num_frequency.cpp |
Counts number frequency in source text |
4_Identifier_validation.cpp |
Validates identifiers against lexical rules |
05_keyword_check.cpp |
Checks whether a token is a language keyword |
06_count_whitespace.cpp |
Counts whitespace characters in source text |
07_regex_ab_plus.cpp |
Recognizes strings matching a regular expression |
8_valid_operator.cpp |
Validates operators |
9_first_follow.cpp |
Computes FIRST and FOLLOW sets for a grammar |
10_intermediate_code.cpp |
Generates intermediate code |
LAB Works/ contains the programs and LAB Reports/ contains the written lab reports.
Lexical analysis (tokens, identifiers, keywords, comments, whitespace), regular expression matching, grammar analysis with FIRST and FOLLOW sets, and intermediate code generation.
Nazmus Sakib — final-year CSE student. LinkedIn · GitHub
This repository is licensed under the MIT License — see the LICENSE file for details.