Skip to content
CY-603 (C) · Autometa & Compiler design/Important Questions

Autometa & Compiler design (CY-603 (C)) - Important Questions

  1. Unit 314 Marks High Priority

    Explain type checking in compilers. Describe the role of a type system in detecting errors and enforcing program semantics. Distinguish static type checking from dynamic type checking with clear examples and discuss advantages and disadvantages of each approach.

    Core topic: Type systems and static vs dynamic checking. High-priority topic frequently asked in Unit 3 (type checking and related concepts).

  2. Unit 314 Marks High Priority

    Define polymorphism in programming languages. Explain the differences between ad-hoc (overloading), parametric, and subtype (inclusion) polymorphism. For each kind give examples and discuss how a compiler implements or supports it (including name resolution, type checking and code generation implications).

    Directly addresses the frequent Unit 3 focus on polymorphism and overloading within type systems.

  3. Unit 37 Marks High Priority

    What is overloading? Discuss function (or operator) overloading and the compiler techniques for resolving overloaded names (including signature matching and overload resolution rules). Illustrate with examples where resolution is ambiguous and how languages resolve such ambiguities.

    Closely related to the Unit 3 topic cluster of type checking and overloading; focuses specifically on overloading resolution mechanisms which are often examined.

  4. Unit 314 Marks High Priority

    Describe symbol table management in compilers. Explain common data structures used for symbol tables, methods to handle scope (nested, block and global scopes), insertion and lookup operations, and strategies for efficient implementation (hashing, scope trees).

    Core Unit 3 topic: symbol table design and management. Frequently asked and essential for compiler implementation questions.

  5. Unit 314 Marks High Priority

    Explain the run-time environment of a procedure call. Describe the structure and layout of an activation record (stack frame) and explain how it supports local variables, return address, dynamic link, static link, saved registers, and temporaries. Include how nested procedure calls and recursion are handled.

    Core Unit 3 topic: run-time environment and activation records; high-value question for exam preparation.

  6. Unit 310 Marks High Priority

    Discuss parameter passing mechanisms used by programming languages: call-by-value, call-by-reference, call-by-value-result, call-by-name (and any other common variants). For each mechanism, describe its semantics and how it is implemented at run time (effects on activation records and calling sequence). Give examples showing observable differences.

    Directly tests knowledge of parameter passing mechanisms which is central to Unit 3 run-time environment concepts.

  7. Unit 37 Marks Medium Priority

    Compare static, stack (automatic), and heap storage allocation strategies. Explain how compilers and run-time systems manage heap allocation and deallocation and outline basic garbage collection techniques (for example, reference counting and mark-sweep) and their trade-offs.

    Complementary Unit 3 topic: storage allocation strategies and basic dynamic memory management, moderately frequent in exams.

Go to where you left off?

Quick Add to Notes

Save questions, your own notes and screenshots into notes filed by unit. It takes a free account.

Create free account

Have an account? Log in