LEVEL:-HND II COURSE CODE:-COM414 (COMPILER CONTRUCTION PRACTICAL) ASSIGNMENT QUESTION
1. LIST 5 COMPILERS EXAMPLES
Batch Compilers C# Compilers Basic compilers Common Lisp Compilers C ++ Compilers
2. MENTION THE DIFFERENT BETWEEN COMPILER
AND INTERPRETER S/ COMPILER INTERPRETER N 1. Compiler works on the Interpreter program complete program at works line-by-line. It once. It takes the entire takes one statement program as input. at a time as input. 2. Compiler generates Interpreter does not intermediate code, called generate intermediate the object code or object code or machine machine code code. 3. Compiler executes Interpreter executes conditional control conditional control statements (like if-else statements at a and switch-case) and much slower speed. logical constructs faster than interpreter. 4. Compiled programs Interpreter does not take generate intermediate more memory because object code. As a the entire object code result, interpreted has to reside in memory programs are more memory efficient. 5. Compile once and run Interpreted programs anytime. Compiled are interpreted line-by- program does not need line every time they to be compiled every are run. time.
3. DOCUMENT 5 IMPORTANT COMPONENT OF
COMPILER A compiler works with what are sometimes called 3GL and higher-level languages. An assembler works on programs written using a processor's assembler language. A program that translates between high-level languages is usually called a source-to-source compiler or transpiler. A language rewriter is usually a program that translates the form of expressions without a change of language. When executing (running), the compiler first parses (or analyzes) all of the language statements syntactically one after the other and then, in one or more successive stages or "passes", builds the output code, making sure that statements that refer to other statements are referred to correctly in the final code.
A native or hosted compiler is one which output is intended to
directly run on the same type of computer and operating system that the compiler itself runs on. The output of a cross compiler is designed to run on a different platform. Cross compilers are often used when developing software for embedded systems that are not intended to support a software development environment.
Traditionally in some operating systems, an additional step was
required after compilation - that of resolving the relative location of instructions and data when more than one object module was to be run at the same time and they cross-referred to each other's instruction sequences or data. This process was sometimes called linkage editing and the output known as a load module.