2 marks

Please download to get full document.

View again

of 17
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Information Report



Views: 2 | Pages: 17

Extension: PDF | Download: 0

Related documents
2 marks
  Compiler Design - Set 1  1. What is a compiler? A compiler is a program that reads a program written in one language –the source language and translates it into an equivalent program in another language-the target language. The compiler reports to its user the presence of errors in the source program. 2. What are the two parts of a compilation? Explain briefly. Analysis and Synthesis are the two parts of compilation.The analysis part breaks up the source program into constituent pieces and creates an intermediate representation of the source program.The synthesis part constructs the desired target program from the intermediate representation. 3. List the subparts or phases of analysis part. Analysis consists of three phases: ã Linear Analysis. ã Hierarchical Analysis. ã Semantic Analysis. 4. Depict diagrammatically how a language is processed. Skeletal source program↓ Preprocessor ↓Source program↓ Compiler ↓Target assembly program http://engineerportal.blogspot.in/   ↓ Assembler ↓Relocatable machine code↓ Loader/ link editor ←library, relocatable object files↓Absolute machine code 5. What is linear analysis? Linear analysis is one in which the stream of characters making up the source program is read from left to right and grouped into tokens that are sequences of characters having a collective meaning.Also called lexical analysis or scanning. 6. List the various phases of a compiler. The following are the various phases of a compiler: ã Lexical Analyzer ã Syntax Analyzer ã Semantic Analyzer ã Intermediate code generator ã Code optimizer ã Code generator 7. What are the classifications of a compiler? Compilers are classified as: ã   Single- pass ã   Multi-pass http://engineerportal.blogspot.in/   ã   Load-and-go ã   Debugging or optimizing 8. What is a symbol table? A symbol table is a data structure containing a record for each identifier, with fields for the attributes of the identifier. The data structure allows us to find the record for each identifier quickly and to store or retrieve data from that record quickly.Whenever an identifier is detected by a lexical analyzer, it is entered into the symbol table. The attributes of an identifier cannot be determined by the lexical analyzer. 9. Mention some of the cousins of a compiler. Cousins of the compiler are: ã   Preprocessors ã   Assemblers ã   Loaders and Link-Editors 10. List the phases that constitute the front end of a compiler. The front end consists of those phases or parts of phases that depend primarily on the source language and are largely independent of the target machine. These include ã   Lexical and Syntactic analysis ã   The creation of symbol table ã   Semantic analysis ã   Generation of intermediate codeA certain amount of code optimization can be done by the front end as well. Also includes error handling that goes along with each of these phases. 11. Mention the back-end phases of a compiler. The back end of compiler includes those portions that depend on the target machine and generally those portions do not depend on the source language, just the intermediate language. These include ã   Code optimization http://engineerportal.blogspot.in/   ã   Code generation, along with error handling and symbol- table operations. 12. Define compiler-compiler. Systems to help with the compiler-writing process are often been referred to as compiler-compilers, compiler-generators or translator-writing systems.Largely they are oriented around a particular model of languages , and they are suitable for generating compilers of languages similar model. 13. List the various compiler construction tools. The following is a list of some compiler construction tools: ã   Parser generators ã   Scanner generators ã   Syntax-directed translation engines ã   Automatic code generators ã   Data-flow engines 14. Differentiate tokens, patterns, lexeme. ã   Tokens- Sequence of characters that have a collective meaning. ã   Patterns- There is a set of strings in the input for which the same token is produced as output. This set of strings is described by a rule called a pattern associated with the token ã   Lexeme- A sequence of characters in the source program that is matched by the pattern for a token. 15. List the operations on languages. ã   Union - L U M ={s | s is in L or s is in M} ã   Concatenation  – LM ={st | s is in L and t is in M} ã   Kleene Closure –  L* (zero or more concatenations of L) ã   Positive Closure – L+ ( one or more concatenations of L) 16. Write a regular expression for an identifier. http://engineerportal.blogspot.in/ 
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks