0% found this document useful (0 votes)
2 views10 pages

Topics PPL

The syllabus for Programming Languages is divided into five units covering topics such as syntax and semantics, data types, subprograms, object-oriented programming, and functional programming. Each unit includes essential concepts like context-free grammars, type checking, parameter passing methods, concurrency, and lambda calculus. Important exam topics are highlighted for each unit to aid in revision.

Uploaded by

roshnimohan1410
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views10 pages

Topics PPL

The syllabus for Programming Languages is divided into five units covering topics such as syntax and semantics, data types, subprograms, object-oriented programming, and functional programming. Each unit includes essential concepts like context-free grammars, type checking, parameter passing methods, concurrency, and lambda calculus. Important exam topics are highlighted for each unit to aid in revision.

Uploaded by

roshnimohan1410
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

This is the syllabus for Programming Languages (Unit I–V).

Here's a concise and exam-


oriented breakdown of each unit.

UNIT I – Syntax and Semantics (9 Hours)


1. Evolution of Programming Languages

 Machine Language
 Assembly Language
 High-Level Languages
 Object-Oriented Languages
 Scripting Languages
 Modern Multi-paradigm Languages

2. Describing Syntax

 Syntax
 Tokens
 Lexemes
 Parsing
 Grammar

3. Context-Free Grammars (CFG)

 BNF (Backus-Naur Form)


 Production Rules
 Derivation
 Parse Tree
 Ambiguity

4. Attribute Grammars

 Synthesized Attributes
 Inherited Attributes
 Semantic Rules

5. Describing Semantics

 Operational Semantics
 Denotational Semantics
 Axiomatic Semantics

6. Lexical Analysis

 Scanner
 Token Recognition
 Regular Expressions
 Finite Automata

7. Parsing

 Top-Down Parsing
 Bottom-Up Parsing

8. Recursive-Descent Parsing

 Predictive Parsing
 Recursive Functions
 LL Parser

9. Bottom-Up Parsing

 Shift-Reduce Parsing
 LR Parser
 Operator Precedence Parsing

UNIT II – Data, Data Types, and Basic


Statements (9 Hours)
1. Names and Variables

 Identifier
 Variable Declaration
 Constants

2. Binding

 Static Binding
 Dynamic Binding

3. Type Checking

 Static Type Checking


 Dynamic Type Checking

4. Scope

 Static Scope
 Dynamic Scope

5. Lifetime and Garbage Collection


 Variable Lifetime
 Heap Memory
 Garbage Collection

6. Primitive Data Types

 Integer
 Float
 Boolean
 Character

7. Strings

 Immutable Strings
 Mutable Strings

8. Array Types

 Static Arrays
 Dynamic Arrays
 Multidimensional Arrays

9. Associative Arrays

 Key-Value Pairs
 Hash Tables

10. Record Types

 Structures
 Records

11. Union Types

 Shared Memory
 Variant Records

12. Pointers and References

 Pointer Variables
 References
 Dangling Pointers

13. Arithmetic Expressions

 Operators
 Operator Precedence

14. Overloaded Operators


 Operator Overloading

15. Type Conversions

 Implicit Conversion
 Explicit Conversion (Casting)

16. Relational and Boolean Expressions

 Comparison Operators
 Logical Operators

17. Assignment Statements

 Simple Assignment
 Compound Assignment

18. Mixed Mode Assignments

 Automatic Type Conversion

19. Control Structures

 Sequence
 Selection
 Iteration

20. Selection Statements

 if
 if-else
 switch

21. Iteration

 for
 while
 do-while

22. Branching

 break
 continue
 goto

23. Guarded Statements

 Guarded Commands
 Non-deterministic Selection
UNIT III – Subprograms and
Implementations (9 Hours)
1. Subprograms

 Procedures
 Functions

2. Design Issues

 Parameter Passing
 Return Values
 Local Variables

3. Local Referencing Environment

 Local Scope
 Global Scope

4. Parameter Passing Methods

 Pass by Value
 Pass by Reference
 Pass by Result
 Pass by Value-Result
 Pass by Name

5. Overloaded Methods

 Same Function Name


 Different Parameters

6. Generic Methods

 Templates
 Generics

7. Design Issues for Functions

 Side Effects
 Return Types

8. Semantics of Call and Return

 Activation Record
 Call Stack

9. Implementing Simple Subprograms

 Stack Allocation
 Return Address

10. Stack and Dynamic Local Variables

 Stack Memory
 Heap Allocation

11. Nested Subprograms

 Inner Functions

12. Blocks

 Compound Statements

13. Dynamic Scoping

 Runtime Scope Resolution

UNIT IV – Object Orientation,


Concurrency, and Event Handling (9
Hours)
1. Object-Oriented Programming

 Class
 Object
 Encapsulation
 Inheritance
 Polymorphism
 Abstraction

2. Design Issues for OOP Languages

 Visibility
 Constructors
 Destructors
 Method Binding
3. Implementation of OOP Constructs

 Object Layout
 Virtual Functions
 Dynamic Dispatch

4. Concurrency

 Parallel Execution
 Synchronization

5. Semaphores

 Binary Semaphore
 Counting Semaphore

6. Monitors

 Mutual Exclusion
 Condition Variables

7. Message Passing

 Synchronous Communication
 Asynchronous Communication

8. Threads

 User Threads
 Kernel Threads

9. Statement-Level Concurrency

 Parallel Statements

10. Exception Handling

 try
 catch
 throw
 finally

11. Event Handling

 Event
 Event Listener
 Callback Functions
UNIT V – Functional and Logic
Programming Languages (9 Hours)
1. Introduction to Lambda Calculus

 Lambda Expressions
 Function Application
 Variables

2. Fundamentals of Functional Programming

 Pure Functions
 Recursion
 Higher-Order Functions
 Immutability

3. Programming with Scheme

 Lists
 Recursion
 Functions

4. Programming with ML

 Pattern Matching
 Type Inference
 Recursive Functions

5. Introduction to Logic Programming

 Facts
 Rules
 Queries

6. Programming with Prolog

 Predicates
 Unification
 Backtracking
 Recursion

7. Multi-Paradigm Languages

Languages supporting multiple programming paradigms, such as:

 Python
 Scala
 Kotlin
 JavaScript
 C++

Important Exam Topics (Frequently Asked)


Unit I

 Context-Free Grammar (CFG)


 Attribute Grammar
 Lexical Analysis
 Recursive Descent Parser
 Bottom-Up Parsing
 Types of Semantics

Unit II

 Scope vs Lifetime
 Type Checking
 Binding
 Garbage Collection
 Arrays vs Associative Arrays
 Pointer vs Reference
 Type Conversion
 Control Statements

Unit III

 Parameter Passing Methods


 Activation Record
 Stack Allocation
 Dynamic Scoping
 Generic Methods
 Overloading

Unit IV

 OOP Concepts
 Semaphores
 Monitors
 Threads
 Message Passing
 Exception Handling

Unit V

 Lambda Calculus
 Functional Programming Concepts
 Scheme Basics
 ML Basics
 Prolog (Facts, Rules, Queries)
 Multi-Paradigm Languages

This summary covers the major concepts from all five units and is suitable as a quick revision
guide before exams.

You might also like