A programming language grammar is like a set of rules that tells computers how to understand the instructions we give them. It's similar to how we learn grammar rules in school to make sentences that others can read and understand.
A formal language is a set of strings of symbols that are constrained by specific grammatical rules, often used in fields like computer science, linguistics, and mathematics to precisely define computational or logical processes. It serves as the foundation for programming languages, automata theory, and formal verification, enabling the rigorous specification and analysis of algorithms and systems.
An interpreter is a program that directly executes instructions written in a programming or scripting language without requiring them to be compiled into machine language first. This allows for dynamic execution and testing of code, making it easier to debug and modify compared to compiled languages.