🧠 What a Compiler Does:
📝 Translation
- Converts source code (human-readable) into machine code (binary).
- The output is often an executable file (e.g., .exe, .out).
✔️ Syntax Checking
- Analyzes code to catch syntax errors (e.g., missing semicolons, incorrect structure).
- Ensures code follows the rules of the programming language.
🧩 Optimization
- Improves performance by optimizing code (e.g., reducing redundant operations).
- Makes the executable run faster or use less memory.
🧾 Error Reporting
- Provides helpful messages about compile-time errors, such as:
- Undeclared variables
- Type mismatches
- Missing functions or headers
📦 Code Generation
- Produces object code or binary code that the system can execute.
🧮 Intermediate Code Generation (in some compilers)
- Some compilers generate an intermediate representation (IR) before final machine code.
- This allows for better portability and optimization (e.g., Java uses bytecode).
🛠️ Compiler vs Interpreter
- Feature Compiler Interpreter
- Execution Translates entire code before execution Translates and runs code line-by-line
- Speed Faster after compilation Slower due to real-time translation
- Error Detection Detects all errors before running Stops at the first error
- Examples C, C++, Java (with JVM) Python, JavaScript, Ruby
✅ In Summary:
- A compiler acts as a translator between the programmer and the computer, turning high-level instructions into low-level machine language, while also checking for errors and optimizing performance.
0 Comments