SlideShare a Scribd company logo
1 of 45
By-
Garima Jain
   Sequence control with expressions
   Conditional Statements, Loops
   Exception Handling
   Subprogram definition and activation
   Simple and Recursive Subprogram
   Subprogram Environment
Control of the order of execution of the operations
both primitive and user defined.
Implicit : determined by the order of the statements
in the source program or by the built-in execution
model
Explicit : the programmer uses statements to change
the order of execution (e.g. uses If statement)
Expressions: How data are           manipulated   using
precedence rules and parentheses.
Statements: conditional and iteration statements change
the sequential execution.
                Declarative programming: an execution
model that does not depend on the order of the
statements in the source program.
Subprograms: transfer control from one program to
another.
What is the sequence of performing the operations?
How is the sequence defined, and how is it represented?
Functional composition     :   Basic   sequence-control
mechanism:
Given an operation with its operands, the operands may
be:
·    Constants
·    Data objects
·    Other operations
Example 1: 3 * (var1 + 5)
operation - multiplication, operator: *, arity - 2
      operand 1: constant (3)
      operand 2: operation addition
                    operand1: data object (var1)
                    operand 2: constant (5)
Example 2: 3* var1 +5
Question: is the example equivalent to the above one?


Example 3: 3 + var1 +5
Question: is this equivalent to (3 + var1) + 5,
             or to 3 + (var1 + 5) ?
Precedence concerns the order of applying
operations
Associativity deals with the order of operations of
same precedence.
 
Precedence and associativity are defined when the
language is defined - within the semantic rules for
expressions.
Linear representation of the expression tree:
             Prefix notation
·            Postfix notation
·            Infix notation


Prefix and postfix notations are parentheses-free.
 Machine code sequence
 Tree structures - software simulation
 Prefix or postfix form - requires stack, executed by an
interpreter.
Eager evaluation - evaluate all operands before
applying operators.
Lazy evaluation
Side effects - some operations may change operands of
other operations.
Error conditions - may depend on the evaluation
strategy (eager or lazy evaluation)
Boolean expressions - results may differ depending on
the evaluation strategy.
if   expression   then   statement1   else
statement2
             if expression then statement1
 a choice among many alternatives
                   nested if statements
                   case statements
Implementation:  jump and branch machine
instructions, jump table implementation for case
statements
Simple  repetition (for loop)
     Specifies a count of the number
     of times to execute a loop:
            perform statement K times;
                  for loop -
Examples:
     for I=1 to 10 do statement;
     for(I=0;I<10; I++) statement;
while expression do statement;
Evaluate expression and if true execute statement, then
repeat process.
 repeat statement until expression;
 Execute statement and then evaluate expression.
Repeat if expression is not true.
C++ for loop functionally is equivalent to repetition
while condition holds
 Multiple exit loops
 Exceptional conditions
 Do-while-do structure


Solutions vary with languages, e.g. in C++ - break
statement, assert for exceptions.
Exception Handlers are subprograms that are not 
invoked by explicit calls

Special situations, called exceptions:

     Error conditions
     Unpredictable conditions
     Tracing and monitoring
Exception handlers typically contain only:

   • A set of declarations of local variables
   • A sequence of executable statements

Exception Handlers can be
  - predefined in the language
  - programmer defined
Languages provide methods for raising (throwing) and
   testing for exceptions.

  try {
       statement1;
       statement2;
       …
  if badCondition throw ExceptionName;
     }

  catch ExceptionName
{ ……….// do something for exception…….}
Operating system exceptions - raised directly
by hardware interrupts.

Programmer defined -
the translator inserts code to handle the
exceptions.
Subprogram Control :
interaction among subprograms
how subprograms pass data among themselves
Simple subprogram call return
     Copy rule view of subprograms:

     the effect of a call statement is the same as if the
     subprogram were copied and inserted into the
     main program.
• Subprograms cannot be recursive
• Explicit call statements are required
• Subprograms must execute completely at each call
• Immediate transfer of control at point of call
• Single execution sequence
CALL




       RETURN
Execution of subprograms

     Subprogram definition.

     Subprogram activation.
The definition is translated into a template, used
to create an activation each time a subprogram is
called.
a code segment (the invariant part) -
      executable code and constants,

an activation record (the dynamic part) -
       local data, parameters.

      created a new each time the subprogram is called,
      destroyed when the subprogram returns.
• Current-instruction pointer – CIP
address of the next statement to be executed


• Current-environment pointer – CEP
pointer to the activation record.
    An activation record is created
     Current CIP and CEP are saved in the created
    activation record as return point
      CEP is assigned the address of the activation
    record.
 CIP gets the address of the first instruction in the
    code segment
 The execution continues from the address in CIP
 The old values of CIP and CEP are retrieved.

     The execution continues from the address in
     CIP


Restrictions of the model:
      at most one activation of any subprogram
Allocate storage for a single activation record statically
as an extension of the code segment.
Used in FORTRAN and COBOL.

The activation record is not destroyed - only reinitialized
for each subprogram execution.

Hardware support - CIP is the program counter,
CEP is not used, simple jump executed on return.
The simplest run-time storage management technique
call statements : push CIP and CEP
return statements : pop CIP and CEP off of the stack.

Used in most C implementations
LISP: uses the stack as an environment.
Specification
      Syntactically - no difference
      Semantically - multiple activations of the
  same subprogram exist simultaneously at
  some point in the execution.

E.G. the first recursive call creates a second
activation within the lifetime of the first activation.
Stack-based -

CIP and CEP are stored in stack, forming a
dynamic chain of links.

A new activation record is created for each call
and destroyed on return.

The lifetimes of the activation records cannot
overlap - they are nested.
Data control features determine the accessibility of data at
different points during program execution.

Central problem:
the meaning of variable names, i.e. the correspondence
between names and memory locations.
Two ways to make a data object available as an operand
for an operation


Direct transmission
Referencing through a named data object
A data object computed at one point as the result of
an operation may be directly transmitted to another
operation as an operand

Example:                  x = y + 2*z;

The result of multiplication is transmitted directly as
an operand of the addition operation
A data object may be given a name when it is
created, the name may then be used to designate it
as an operand of an operation.
Variables
Formal parameters
Subprograms
Defined types
Defined constants
Labels
Exception names
Primitive operations
Literal constants
Association: binding identifiers to particular data
objects and subprograms

Referencing environment: the set of identifier
associations for a given subprogram.

Referencing operations during program execution:
determine the particular data object or subprogram
associated with an identifier
Subprogram Environment

     The set of associations created on entry to a subprogram formal
     parameters, local variables, and subprograms defined only within that
     subprogram.

Non-local referencing environment
     The set of associations for identifiers
     •        used within a subprogram
     •        not created on entry to it
Global referencing environment:
associations created at the start of execution of the main program, available
to be used in a subprogram.

Predefined referencing environments:
predefined associations in the language definition.
Unit 3 principles of programming language

More Related Content

What's hot

Lecture 14 run time environment
Lecture 14 run time environmentLecture 14 run time environment
Lecture 14 run time environmentIffat Anjum
 
Implicit and explicit sequence control with exception handling
Implicit and explicit sequence control with exception handlingImplicit and explicit sequence control with exception handling
Implicit and explicit sequence control with exception handlingVIKASH MAINANWAL
 
Register allocation and assignment
Register allocation and assignmentRegister allocation and assignment
Register allocation and assignmentKarthi Keyan
 
Adaline madaline
Adaline madalineAdaline madaline
Adaline madalineNagarajan
 
Inheritance in java
Inheritance in javaInheritance in java
Inheritance in javaTech_MX
 
Class and object in C++
Class and object in C++Class and object in C++
Class and object in C++rprajat007
 
Lecture 01 introduction to compiler
Lecture 01 introduction to compilerLecture 01 introduction to compiler
Lecture 01 introduction to compilerIffat Anjum
 
Fundamentals of the Analysis of Algorithm Efficiency
Fundamentals of the Analysis of Algorithm EfficiencyFundamentals of the Analysis of Algorithm Efficiency
Fundamentals of the Analysis of Algorithm EfficiencySaranya Natarajan
 
Target language in compiler design
Target language in compiler designTarget language in compiler design
Target language in compiler designMuhammad Haroon
 
Counter propagation Network
Counter propagation NetworkCounter propagation Network
Counter propagation NetworkAkshay Dhole
 
UNIT - I PROBLEM SOLVING AGENTS and EXAMPLES.pptx.pdf
UNIT - I PROBLEM SOLVING AGENTS and EXAMPLES.pptx.pdfUNIT - I PROBLEM SOLVING AGENTS and EXAMPLES.pptx.pdf
UNIT - I PROBLEM SOLVING AGENTS and EXAMPLES.pptx.pdfJenishaR1
 
Artificial intelligence agents and environment
Artificial intelligence agents and environmentArtificial intelligence agents and environment
Artificial intelligence agents and environmentMinakshi Atre
 
Planning in AI(Partial order planning)
Planning in AI(Partial order planning)Planning in AI(Partial order planning)
Planning in AI(Partial order planning)Vicky Tyagi
 
Flow oriented modeling
Flow oriented modelingFlow oriented modeling
Flow oriented modelingramyaaswin
 

What's hot (20)

Recognition-of-tokens
Recognition-of-tokensRecognition-of-tokens
Recognition-of-tokens
 
Lecture 14 run time environment
Lecture 14 run time environmentLecture 14 run time environment
Lecture 14 run time environment
 
Implicit and explicit sequence control with exception handling
Implicit and explicit sequence control with exception handlingImplicit and explicit sequence control with exception handling
Implicit and explicit sequence control with exception handling
 
Register allocation and assignment
Register allocation and assignmentRegister allocation and assignment
Register allocation and assignment
 
Lexical analysis - Compiler Design
Lexical analysis - Compiler DesignLexical analysis - Compiler Design
Lexical analysis - Compiler Design
 
Adaline madaline
Adaline madalineAdaline madaline
Adaline madaline
 
Code Optimization
Code OptimizationCode Optimization
Code Optimization
 
Phases of Compiler
Phases of CompilerPhases of Compiler
Phases of Compiler
 
Inheritance in java
Inheritance in javaInheritance in java
Inheritance in java
 
Class and object in C++
Class and object in C++Class and object in C++
Class and object in C++
 
Lecture 01 introduction to compiler
Lecture 01 introduction to compilerLecture 01 introduction to compiler
Lecture 01 introduction to compiler
 
Fundamentals of the Analysis of Algorithm Efficiency
Fundamentals of the Analysis of Algorithm EfficiencyFundamentals of the Analysis of Algorithm Efficiency
Fundamentals of the Analysis of Algorithm Efficiency
 
Deadlock ppt
Deadlock ppt Deadlock ppt
Deadlock ppt
 
Target language in compiler design
Target language in compiler designTarget language in compiler design
Target language in compiler design
 
Counter propagation Network
Counter propagation NetworkCounter propagation Network
Counter propagation Network
 
UNIT - I PROBLEM SOLVING AGENTS and EXAMPLES.pptx.pdf
UNIT - I PROBLEM SOLVING AGENTS and EXAMPLES.pptx.pdfUNIT - I PROBLEM SOLVING AGENTS and EXAMPLES.pptx.pdf
UNIT - I PROBLEM SOLVING AGENTS and EXAMPLES.pptx.pdf
 
Cyclomatic complexity
Cyclomatic complexityCyclomatic complexity
Cyclomatic complexity
 
Artificial intelligence agents and environment
Artificial intelligence agents and environmentArtificial intelligence agents and environment
Artificial intelligence agents and environment
 
Planning in AI(Partial order planning)
Planning in AI(Partial order planning)Planning in AI(Partial order planning)
Planning in AI(Partial order planning)
 
Flow oriented modeling
Flow oriented modelingFlow oriented modeling
Flow oriented modeling
 

Similar to Unit 3 principles of programming language

10 implementing subprograms
10 implementing subprograms10 implementing subprograms
10 implementing subprogramsMunawar Ahmed
 
Complete C++ programming Language Course
Complete C++ programming Language CourseComplete C++ programming Language Course
Complete C++ programming Language CourseVivek chan
 
Monolithic and Procedural Programming
Monolithic and Procedural ProgrammingMonolithic and Procedural Programming
Monolithic and Procedural ProgrammingDeepam Aggarwal
 
Password protected diary
Password protected diaryPassword protected diary
Password protected diarySHARDA SHARAN
 
C UNIT-2 PREPARED Y M V BRAHMANANDA REDDY
C UNIT-2 PREPARED Y M V BRAHMANANDA REDDYC UNIT-2 PREPARED Y M V BRAHMANANDA REDDY
C UNIT-2 PREPARED Y M V BRAHMANANDA REDDYRajeshkumar Reddy
 
chapter-7-runtime-environments.ppt
chapter-7-runtime-environments.pptchapter-7-runtime-environments.ppt
chapter-7-runtime-environments.pptssuser0db64b
 
ECET 360 help A Guide to career/Snaptutorial
ECET 360 help A Guide to career/SnaptutorialECET 360 help A Guide to career/Snaptutorial
ECET 360 help A Guide to career/Snaptutorialpinck2380
 
ECET 360 help A Guide to career/Snaptutorial
ECET 360 help A Guide to career/SnaptutorialECET 360 help A Guide to career/Snaptutorial
ECET 360 help A Guide to career/Snaptutorialpinck200
 
Introduction to c
Introduction to cIntroduction to c
Introduction to cAjeet Kumar
 
C++ question and answers
C++ question and answersC++ question and answers
C++ question and answersAdenKheire
 
systemverilog-interview-questions.docx
systemverilog-interview-questions.docxsystemverilog-interview-questions.docx
systemverilog-interview-questions.docxssuser1c8ca21
 
Lecture11 abap on line
Lecture11 abap on lineLecture11 abap on line
Lecture11 abap on lineMilind Patil
 
Chapter 11 Function
Chapter 11 FunctionChapter 11 Function
Chapter 11 FunctionDeepak Singh
 

Similar to Unit 3 principles of programming language (20)

10 implementing subprograms
10 implementing subprograms10 implementing subprograms
10 implementing subprograms
 
Complete C++ programming Language Course
Complete C++ programming Language CourseComplete C++ programming Language Course
Complete C++ programming Language Course
 
Monolithic and Procedural Programming
Monolithic and Procedural ProgrammingMonolithic and Procedural Programming
Monolithic and Procedural Programming
 
Unit 2
Unit 2Unit 2
Unit 2
 
C Programming Unit-2
C Programming Unit-2C Programming Unit-2
C Programming Unit-2
 
Password protected diary
Password protected diaryPassword protected diary
Password protected diary
 
Subprogramms
SubprogrammsSubprogramms
Subprogramms
 
Parallel programming model
Parallel programming modelParallel programming model
Parallel programming model
 
C UNIT-2 PREPARED Y M V BRAHMANANDA REDDY
C UNIT-2 PREPARED Y M V BRAHMANANDA REDDYC UNIT-2 PREPARED Y M V BRAHMANANDA REDDY
C UNIT-2 PREPARED Y M V BRAHMANANDA REDDY
 
chapter-7-runtime-environments.ppt
chapter-7-runtime-environments.pptchapter-7-runtime-environments.ppt
chapter-7-runtime-environments.ppt
 
ECET 360 help A Guide to career/Snaptutorial
ECET 360 help A Guide to career/SnaptutorialECET 360 help A Guide to career/Snaptutorial
ECET 360 help A Guide to career/Snaptutorial
 
ECET 360 help A Guide to career/Snaptutorial
ECET 360 help A Guide to career/SnaptutorialECET 360 help A Guide to career/Snaptutorial
ECET 360 help A Guide to career/Snaptutorial
 
Programming in c by pkv
Programming in c by pkvProgramming in c by pkv
Programming in c by pkv
 
Unit 1
Unit  1Unit  1
Unit 1
 
Plc part 3
Plc  part 3Plc  part 3
Plc part 3
 
Introduction to c
Introduction to cIntroduction to c
Introduction to c
 
C++ question and answers
C++ question and answersC++ question and answers
C++ question and answers
 
systemverilog-interview-questions.docx
systemverilog-interview-questions.docxsystemverilog-interview-questions.docx
systemverilog-interview-questions.docx
 
Lecture11 abap on line
Lecture11 abap on lineLecture11 abap on line
Lecture11 abap on line
 
Chapter 11 Function
Chapter 11 FunctionChapter 11 Function
Chapter 11 Function
 

Recently uploaded

4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Culture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptxCulture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptxPoojaSen20
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfErwinPantujan2
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfphamnguyenenglishnb
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)cama23
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfMr Bounab Samir
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management systemChristalin Nelson
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
FILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinoFILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinojohnmickonozaleda
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 

Recently uploaded (20)

4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Culture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptxCulture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptx
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management system
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
FILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinoFILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipino
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 

Unit 3 principles of programming language

  • 2. Sequence control with expressions  Conditional Statements, Loops  Exception Handling  Subprogram definition and activation  Simple and Recursive Subprogram  Subprogram Environment
  • 3. Control of the order of execution of the operations both primitive and user defined. Implicit : determined by the order of the statements in the source program or by the built-in execution model Explicit : the programmer uses statements to change the order of execution (e.g. uses If statement)
  • 4. Expressions: How data are manipulated using precedence rules and parentheses. Statements: conditional and iteration statements change the sequential execution. Declarative programming: an execution model that does not depend on the order of the statements in the source program. Subprograms: transfer control from one program to another.
  • 5. What is the sequence of performing the operations? How is the sequence defined, and how is it represented? Functional composition : Basic sequence-control mechanism: Given an operation with its operands, the operands may be: · Constants · Data objects · Other operations
  • 6. Example 1: 3 * (var1 + 5) operation - multiplication, operator: *, arity - 2 operand 1: constant (3) operand 2: operation addition operand1: data object (var1) operand 2: constant (5)
  • 7. Example 2: 3* var1 +5 Question: is the example equivalent to the above one? Example 3: 3 + var1 +5 Question: is this equivalent to (3 + var1) + 5, or to 3 + (var1 + 5) ?
  • 8. Precedence concerns the order of applying operations Associativity deals with the order of operations of same precedence.   Precedence and associativity are defined when the language is defined - within the semantic rules for expressions.
  • 9. Linear representation of the expression tree: Prefix notation · Postfix notation · Infix notation Prefix and postfix notations are parentheses-free.
  • 10.  Machine code sequence  Tree structures - software simulation  Prefix or postfix form - requires stack, executed by an interpreter.
  • 11. Eager evaluation - evaluate all operands before applying operators. Lazy evaluation
  • 12. Side effects - some operations may change operands of other operations. Error conditions - may depend on the evaluation strategy (eager or lazy evaluation) Boolean expressions - results may differ depending on the evaluation strategy.
  • 13. if expression then statement1 else statement2 if expression then statement1  a choice among many alternatives nested if statements case statements Implementation:  jump and branch machine instructions, jump table implementation for case statements
  • 14. Simple  repetition (for loop) Specifies a count of the number of times to execute a loop: perform statement K times; for loop - Examples: for I=1 to 10 do statement; for(I=0;I<10; I++) statement;
  • 15. while expression do statement; Evaluate expression and if true execute statement, then repeat process. repeat statement until expression; Execute statement and then evaluate expression. Repeat if expression is not true. C++ for loop functionally is equivalent to repetition while condition holds
  • 16.
  • 17.
  • 18.  Multiple exit loops  Exceptional conditions  Do-while-do structure Solutions vary with languages, e.g. in C++ - break statement, assert for exceptions.
  • 19. Exception Handlers are subprograms that are not  invoked by explicit calls Special situations, called exceptions:  Error conditions  Unpredictable conditions  Tracing and monitoring
  • 20. Exception handlers typically contain only: • A set of declarations of local variables • A sequence of executable statements Exception Handlers can be - predefined in the language - programmer defined
  • 21. Languages provide methods for raising (throwing) and testing for exceptions.   try { statement1; statement2; …   if badCondition throw ExceptionName; }   catch ExceptionName { ……….// do something for exception…….}
  • 22. Operating system exceptions - raised directly by hardware interrupts. Programmer defined - the translator inserts code to handle the exceptions.
  • 23. Subprogram Control : interaction among subprograms how subprograms pass data among themselves
  • 24. Simple subprogram call return Copy rule view of subprograms: the effect of a call statement is the same as if the subprogram were copied and inserted into the main program.
  • 25. • Subprograms cannot be recursive • Explicit call statements are required • Subprograms must execute completely at each call • Immediate transfer of control at point of call • Single execution sequence
  • 26. CALL RETURN
  • 27. Execution of subprograms Subprogram definition. Subprogram activation.
  • 28. The definition is translated into a template, used to create an activation each time a subprogram is called.
  • 29. a code segment (the invariant part) - executable code and constants, an activation record (the dynamic part) - local data, parameters. created a new each time the subprogram is called, destroyed when the subprogram returns.
  • 30. • Current-instruction pointer – CIP address of the next statement to be executed • Current-environment pointer – CEP pointer to the activation record.
  • 31.
  • 32. An activation record is created  Current CIP and CEP are saved in the created activation record as return point  CEP is assigned the address of the activation record.  CIP gets the address of the first instruction in the code segment  The execution continues from the address in CIP
  • 33.  The old values of CIP and CEP are retrieved.  The execution continues from the address in CIP Restrictions of the model: at most one activation of any subprogram
  • 34. Allocate storage for a single activation record statically as an extension of the code segment. Used in FORTRAN and COBOL. The activation record is not destroyed - only reinitialized for each subprogram execution. Hardware support - CIP is the program counter, CEP is not used, simple jump executed on return.
  • 35. The simplest run-time storage management technique call statements : push CIP and CEP return statements : pop CIP and CEP off of the stack. Used in most C implementations LISP: uses the stack as an environment.
  • 36. Specification Syntactically - no difference Semantically - multiple activations of the same subprogram exist simultaneously at some point in the execution. E.G. the first recursive call creates a second activation within the lifetime of the first activation.
  • 37. Stack-based - CIP and CEP are stored in stack, forming a dynamic chain of links. A new activation record is created for each call and destroyed on return. The lifetimes of the activation records cannot overlap - they are nested.
  • 38. Data control features determine the accessibility of data at different points during program execution. Central problem: the meaning of variable names, i.e. the correspondence between names and memory locations.
  • 39. Two ways to make a data object available as an operand for an operation Direct transmission Referencing through a named data object
  • 40. A data object computed at one point as the result of an operation may be directly transmitted to another operation as an operand Example: x = y + 2*z; The result of multiplication is transmitted directly as an operand of the addition operation
  • 41. A data object may be given a name when it is created, the name may then be used to designate it as an operand of an operation.
  • 42. Variables Formal parameters Subprograms Defined types Defined constants Labels Exception names Primitive operations Literal constants
  • 43. Association: binding identifiers to particular data objects and subprograms Referencing environment: the set of identifier associations for a given subprogram. Referencing operations during program execution: determine the particular data object or subprogram associated with an identifier
  • 44. Subprogram Environment The set of associations created on entry to a subprogram formal parameters, local variables, and subprograms defined only within that subprogram. Non-local referencing environment The set of associations for identifiers • used within a subprogram • not created on entry to it Global referencing environment: associations created at the start of execution of the main program, available to be used in a subprogram. Predefined referencing environments: predefined associations in the language definition.