SlideShare a Scribd company logo
2
Most read
3
Most read
4
Most read
Unit I : Introduction To Systems Programming
I.I. Language Processors
1.

Systems Programming: involves developing those programs that interface the
computer system (the hardware) with the programmer and the user. These
programs include compilers, interpreters, assemblers, I/O routines, schedulers,
etc.

2.

How is systems Programming different from other types of programming ?
Systems programs are different from application programs in many ways.
a) Systems programs must deal effectively with unpredictable events or
“exceptions” (such as I/O errors).
b) Systems programs must co-ordinate the activities of various asynchronously
executing programs.
Most systems programming is done with assembly language, but C, C++, and C#
(C Sharp) are also used.

3.

Syntax of Programming Languages: ( syntax ∴ grammar)
The syntax of a programming language is the set of rules and writing
conventions that allow the formation of correct programs in a language. Syntax
deals only with the “representation”; it only controls the structure of a sentence
and nothing more. Syntax has nothing to do with the meaning or runtime
behaviour of a program. E.g., a program may be syntactically correct but not do
anything useful.
The syntax of a language is built from “syntactic elements” or “syntactic units”.
Examples of syntactic units are:
(a) Character set – e.g., English and mathematical symbols,
(b) Identifiers – names for variables, functions, etc.,
(c) Keywords,
(d) Noise words – optional words inserted in programs to improve program
readability,
(e) Comments – for program documentation,
(f) Spaces,
(g) Delimiters – e.g., to mark the beginning and end of a function in C, we use
the pair of curly braces { and }, while in Pascal we use BEGIN and END.
Requirements of syntax: We want a language with a syntax that is:
(a) Easy to read → hence easy to debug.
(b) Easy to write → fewer bugs in program
(c) Easy to verify the correctness of a program
(d) Easy to translate into another language
(e) Not ambiguous.

mukeshtekwani@hotmail.com

Page 1 of 6
Introduction to Systems Programming

4.

Prof. Mukesh N. Tekwani

Semantics: ( semantics ∴ meaning )
Semantics pertains to the meaning of words. The semantics of a language is a
description of what the sentences mean. It is much more difficult to express the
semantics of a language than it is to express the syntax. E.g., the sentence “They
are flying airplanes” has more than one meaning.
In order to implement a programming language we must know what each
sentence means (declaration, expression, etc).
E.g., does the sentence
!" produce an output,
!" take any inputs,
!" change the value stored in a variable,
!" produce an error.

5.

Domain: It refers to the scope or sphere of any activity.

6.

Application Domain: The scope of an application is its application domain.
E.g., the application domain of an inventory program is
!" warehouse and its associated tangibles (goods, machinery, etc),
!" transactions (e.g., receiving goods, purchase orders, locating goods,
shipping of goods, receiving payments, etc),
!" people (e.g., workers, managers, customers).
All the above are objects in the application domain. The application domain can
best be described by a person in that domain. E.g., the warehouse manager in the
above example.

7.

Execution Domain: (also called as the solution domain). The execution domain
is the work of programmers, e.g., program code, documentation, test results,
files, computers, etc.
The solution domain is partitioned into two levels:
!" Abstract, high-level documents, such as flow charts, diagrams
!" Low-level – data structures, function definitions, etc.

8.

Semantic Gap: The difference between the semantics of the application domain
and the execution domain is called the semantic gap.
Semantic Gap

Application
Domain
(problems,
ideas,
methods, to solve these
problems)

Page 2 of 6

Execution
Domain
(machine code, devices,
etc.)

mukeshtekwani@hotmail.com
Prof. Mukesh N. Tekwani

Introduction to Systems Programming

Consequences of semantic gap:
!" Large development times – interaction between designers in application domain and
programmers.
!" Large development efforts.
!" Poor quality of software.
How is the semantic gap reduced?
The semantic gap is reduced by programming languages (PL). The use of a PL
introduces a new domain called the programming language domain (or PL domain).
Execution
gap

Specification gap

Application

Domain

PL Domain

(problems,
ideas,
methods, to solve these
problems)

Execution

Domain

(machine code, devices,
etc.)

The PL domain bridges the gap between the application domain and the execution
domain.
!" Specification gap: It is the semantic gap between the application domain and the PL
domain. It can also be defined as the semantic gap between the two specifications of
the same task. The specification gap is bridged by the software development team.
!" Execution gap: It is the gap between the semantics of programs written in different
programming languages. The execution gap is bridged by the translator or
interpreter.

Advantages of introducing the PL domain:
(a) Large development times are reduced.
(b) Better quality of software.
(c) Language processor provides diagnostic capabilities which detects errors.
9.

Language Processor: It is a software which bridges the specification or execution
gap.

10.

Language Processing: It is any activity performed by a language processor.
Diagnostic capability is a feature of a language processor. The input of a language

mukeshtekwani@hotmail.com

Page 3 of 6
Introduction to Systems Programming

Prof. Mukesh N. Tekwani

processor is the source program. The output of a language processor is the target
program. The target program is not produced if the language processor finds any
errors in the source program.

Source program

Language Processor

Target program

Types of language processors:
(a)

Language Translator: This bridges the execution gap to the machine language
of a computer system. Examples are compiler and assembler.

(b)

De-translator: Similar to translator, but in the opposite direction.

(c)

Preprocessor: This is a language processor whose source and target languages
are both high level, i.e., no translation takes place.

11. Problem-oriented Languages: In case of problem-oriented languages. The the PL
domain is very close to the application domain. The specification gap is reduced in
this case. Such PLs can be used only for specific applications, hence they are called
problem-oriented languages. They have a large execution gap, but the execution gap
is bridged by the translator or interpreter. Using these languages, we only have to do
specify “what to do”. Software development takes less time using problem-oriented
languages, but the resultant code may not be optimized. Examples : Fourth
generation languages (4GL) like SQL.
12. Procedure-oriented languages: These provide general facilities and features which are
required in most applications. These languages are independent of application domains.
Hence, there is a large specification gap. The gap must be bridged by the application
designer. Using these languages, we have to specify “what to do” and “how to do”.
Examples. C, C++, FORTRAN, etc.

13. Compiler: A compiler is a language translator. It translates a source code (programs
in a high-level language) into the target code (machine code, or object code).

Source program

Input

Compiler

Target program

Target program

Output

To do this translation, a compiler steps through a number of phases. The simplest is
a 2-phase compiler. The first phase is called the front end and the second phase is
called the back end.
Page 4 of 6

mukeshtekwani@hotmail.com
Prof. Mukesh N. Tekwani

Introduction to Systems Programming

Front End: The front end translates from the high-level language to a common
intermediate language. The front end is source language dependent but it is
machine-independent. Thus, the front end consists of the following phases: lexical
analysis, syntactic analysis, creation of symbol table, semantic analysis and
generation of intermediate code. The front end also includes error-handling routines
for each of these phases.
Back End: The back end translates from this common intermediate language to the
machine code. The back end is machine dependent. This includes code optimization,
code generation, error-handling and symbol table operations. Thus, a compiler
bridges the execution gap.
14. Interpreter: It is a language processor. It also bridges the execution gap but does
not generate the machine code. An interpreter executes a program written in a high
level language. The essential difference between a compiler and an interpreter is that
while a compiler generates the machine code and is then no longer needed, an
interpreter is always required.

Source program
Interpreter

Output

Input

Characteristics of interpreter:
!" Machine code is not stored.
!" Source code is essential for repeated execution of statements.
!" Statement is analysed during its interpretation.
!" Useful for testing and debugging as overhead of storage is not incurred.
Differences between compiler and interpreter:
COMPILER

INTERPRETER

1.

Scans the entire program first and
then translates it into machine
code.

1.

Translates the program line-by-line.

2.

Converts the entire program to
machine code; when all the syntax
errors
have
been
removed,
execution takes place.

2.

Each time the program is executed,
every line is checked for syntax error
and then converted to equivalent
machine code.

3.

Execution time is less

3.

Execution time is more.

4.

Machine code can be saved and
used; source code and compiler no
longer needed.

4.

Machine code cannot be saved;
interpreter is always required for
translation.

mukeshtekwani@hotmail.com

Page 5 of 6
Introduction to Systems Programming

Prof. Mukesh N. Tekwani

5.

Since source code is not required,
tampering with the source code is
not possible.

5.

Source code can be easily modified and
hence no security of programs.

6.

Slow for debugging.

6.

Fast for debugging.

REVIEW QUESTIONS
1.

Define the term “systems programming”. How is systems programming different from
other types of programming?

2.

Define the term “syntax” in the context of programming languages. What are the
desirable qualities of syntax?

3.

What are syntactic units. Illustrate with examples.

4.

Explain the term “semantics” in the context of programming languages.

5.

Explain the concept of domain; elaborate on the terms “application domain” and
“execution domain”.

6.

What is “semantic gap”?
reduced?

7.

What is the need of introducing the PL domain?

8.

Explain the terms “problem-oriented language” and “procedure-oriented language”.
Give two examples of each. Mention briefly the merits and demerits of each type of
language.

9.

Define the terms “front end” and “back end” as applied to a compiler.

What are the consequences of this gap? How is this gap

10. Explain the difference between preprocessor and language translator.
11. Mention the major differences between compiler and interpreter.
*********

Page 6 of 6

mukeshtekwani@hotmail.com

More Related Content

PPT
Intermediate code generation (Compiler Design)
PPTX
Unit 3 sp assembler
PPTX
Single pass assembler
PPTX
Ch 4 linker loader
PPTX
Language processing activity
PPTX
Peephole optimization techniques in compiler design
PPTX
Compiler Chapter 1
PPTX
Loaders ( system programming )
Intermediate code generation (Compiler Design)
Unit 3 sp assembler
Single pass assembler
Ch 4 linker loader
Language processing activity
Peephole optimization techniques in compiler design
Compiler Chapter 1
Loaders ( system programming )

What's hot (20)

PPTX
Unit 4 sp macro
PPTX
Two pass Assembler
PPTX
Phases of Compiler
PDF
Lecture 01 introduction to compiler
PPTX
Linker and Loader
PPTX
Syntax Analysis in Compiler Design
PDF
Syntax analysis
PPT
Lecture 1 - Lexical Analysis.ppt
PPTX
Assemblers
PPTX
Ch 3 Assembler in System programming
PPTX
System Programing Unit 1
PPT
Assemblers: Ch03
PPT
Assembler
PPTX
System programming
PPTX
System Programming Overview
PPTX
Finite Automata in compiler design
PPTX
Intermediate code- generation
PPT
Introduction to Compiler Construction
PDF
Code optimization in compiler design
PPTX
Error detection recovery
Unit 4 sp macro
Two pass Assembler
Phases of Compiler
Lecture 01 introduction to compiler
Linker and Loader
Syntax Analysis in Compiler Design
Syntax analysis
Lecture 1 - Lexical Analysis.ppt
Assemblers
Ch 3 Assembler in System programming
System Programing Unit 1
Assemblers: Ch03
Assembler
System programming
System Programming Overview
Finite Automata in compiler design
Intermediate code- generation
Introduction to Compiler Construction
Code optimization in compiler design
Error detection recovery
Ad

Similar to Introduction to systems programming (20)

PPTX
Overview of language processor course d&a
PDF
4.LanguageProcessors and language Processing Activities.pdf
PPTX
System programming vs application programming
PPT
Chap 1-language processor
PPT
Chap 1-dhamdhere system programming
PDF
SPCC:System programming and compiler construction
PPTX
Unit 1_Evaluation Criteria_session 3.pptx
PPTX
Principles of Intro to Programming Languages
PDF
CS-321 Compiler Design computer engineering PPT.pdf
PPTX
Introduction to System Programming
PPT
introduction computer programming languages
PPTX
Chapter 1: Theory of programming languages
PPTX
Python Programming-Skill Course - unit-i.pptx
PPTX
Language processors
PPT
Introduction to C for Btech 1st year.ppt
PPTX
Python-unit -I.pptx
PPTX
Compiler Design Introduction With Design
PPTX
Preliminary Concepts in principlesofprogramming.pptx
PPTX
Principlesofprogramminglanguage concepts.pptx
PPTX
Lecture 1 introduction to language processors
Overview of language processor course d&a
4.LanguageProcessors and language Processing Activities.pdf
System programming vs application programming
Chap 1-language processor
Chap 1-dhamdhere system programming
SPCC:System programming and compiler construction
Unit 1_Evaluation Criteria_session 3.pptx
Principles of Intro to Programming Languages
CS-321 Compiler Design computer engineering PPT.pdf
Introduction to System Programming
introduction computer programming languages
Chapter 1: Theory of programming languages
Python Programming-Skill Course - unit-i.pptx
Language processors
Introduction to C for Btech 1st year.ppt
Python-unit -I.pptx
Compiler Design Introduction With Design
Preliminary Concepts in principlesofprogramming.pptx
Principlesofprogramminglanguage concepts.pptx
Lecture 1 introduction to language processors
Ad

More from Mukesh Tekwani (20)

PDF
The Elphinstonian 1988-College Building Centenary Number (2).pdf
PPSX
Circular motion
PPSX
Gravitation
PDF
ISCE-Class 12-Question Bank - Electrostatics - Physics
PPTX
Hexadecimal to binary conversion
PPTX
Hexadecimal to decimal conversion
PPTX
Hexadecimal to octal conversion
PPTX
Gray code to binary conversion
PPTX
What is Gray Code?
PPSX
Decimal to Binary conversion
PDF
Video Lectures for IGCSE Physics 2020-21
PDF
Refraction and dispersion of light through a prism
PDF
Refraction of light at a plane surface
PDF
Spherical mirrors
PDF
Atom, origin of spectra Bohr's theory of hydrogen atom
PDF
Refraction of light at spherical surfaces of lenses
PDF
ISCE (XII) - PHYSICS BOARD EXAM FEB 2020 - WEIGHTAGE
PPSX
Cyber Laws
PPSX
Social media
The Elphinstonian 1988-College Building Centenary Number (2).pdf
Circular motion
Gravitation
ISCE-Class 12-Question Bank - Electrostatics - Physics
Hexadecimal to binary conversion
Hexadecimal to decimal conversion
Hexadecimal to octal conversion
Gray code to binary conversion
What is Gray Code?
Decimal to Binary conversion
Video Lectures for IGCSE Physics 2020-21
Refraction and dispersion of light through a prism
Refraction of light at a plane surface
Spherical mirrors
Atom, origin of spectra Bohr's theory of hydrogen atom
Refraction of light at spherical surfaces of lenses
ISCE (XII) - PHYSICS BOARD EXAM FEB 2020 - WEIGHTAGE
Cyber Laws
Social media

Recently uploaded (20)

PPTX
master seminar digital applications in india
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PPTX
Cell Types and Its function , kingdom of life
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PPTX
Institutional Correction lecture only . . .
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
RMMM.pdf make it easy to upload and study
PPTX
Cell Structure & Organelles in detailed.
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
Business Ethics Teaching Materials for college
PPTX
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PPTX
Week 4 Term 3 Study Techniques revisited.pptx
PDF
TR - Agricultural Crops Production NC III.pdf
PPTX
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PDF
01-Introduction-to-Information-Management.pdf
master seminar digital applications in india
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
Cell Types and Its function , kingdom of life
Microbial diseases, their pathogenesis and prophylaxis
STATICS OF THE RIGID BODIES Hibbelers.pdf
Institutional Correction lecture only . . .
Final Presentation General Medicine 03-08-2024.pptx
O5-L3 Freight Transport Ops (International) V1.pdf
RMMM.pdf make it easy to upload and study
Cell Structure & Organelles in detailed.
Module 4: Burden of Disease Tutorial Slides S2 2025
Business Ethics Teaching Materials for college
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
Week 4 Term 3 Study Techniques revisited.pptx
TR - Agricultural Crops Production NC III.pdf
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
01-Introduction-to-Information-Management.pdf

Introduction to systems programming

  • 1. Unit I : Introduction To Systems Programming I.I. Language Processors 1. Systems Programming: involves developing those programs that interface the computer system (the hardware) with the programmer and the user. These programs include compilers, interpreters, assemblers, I/O routines, schedulers, etc. 2. How is systems Programming different from other types of programming ? Systems programs are different from application programs in many ways. a) Systems programs must deal effectively with unpredictable events or “exceptions” (such as I/O errors). b) Systems programs must co-ordinate the activities of various asynchronously executing programs. Most systems programming is done with assembly language, but C, C++, and C# (C Sharp) are also used. 3. Syntax of Programming Languages: ( syntax ∴ grammar) The syntax of a programming language is the set of rules and writing conventions that allow the formation of correct programs in a language. Syntax deals only with the “representation”; it only controls the structure of a sentence and nothing more. Syntax has nothing to do with the meaning or runtime behaviour of a program. E.g., a program may be syntactically correct but not do anything useful. The syntax of a language is built from “syntactic elements” or “syntactic units”. Examples of syntactic units are: (a) Character set – e.g., English and mathematical symbols, (b) Identifiers – names for variables, functions, etc., (c) Keywords, (d) Noise words – optional words inserted in programs to improve program readability, (e) Comments – for program documentation, (f) Spaces, (g) Delimiters – e.g., to mark the beginning and end of a function in C, we use the pair of curly braces { and }, while in Pascal we use BEGIN and END. Requirements of syntax: We want a language with a syntax that is: (a) Easy to read → hence easy to debug. (b) Easy to write → fewer bugs in program (c) Easy to verify the correctness of a program (d) Easy to translate into another language (e) Not ambiguous. mukeshtekwani@hotmail.com Page 1 of 6
  • 2. Introduction to Systems Programming 4. Prof. Mukesh N. Tekwani Semantics: ( semantics ∴ meaning ) Semantics pertains to the meaning of words. The semantics of a language is a description of what the sentences mean. It is much more difficult to express the semantics of a language than it is to express the syntax. E.g., the sentence “They are flying airplanes” has more than one meaning. In order to implement a programming language we must know what each sentence means (declaration, expression, etc). E.g., does the sentence !" produce an output, !" take any inputs, !" change the value stored in a variable, !" produce an error. 5. Domain: It refers to the scope or sphere of any activity. 6. Application Domain: The scope of an application is its application domain. E.g., the application domain of an inventory program is !" warehouse and its associated tangibles (goods, machinery, etc), !" transactions (e.g., receiving goods, purchase orders, locating goods, shipping of goods, receiving payments, etc), !" people (e.g., workers, managers, customers). All the above are objects in the application domain. The application domain can best be described by a person in that domain. E.g., the warehouse manager in the above example. 7. Execution Domain: (also called as the solution domain). The execution domain is the work of programmers, e.g., program code, documentation, test results, files, computers, etc. The solution domain is partitioned into two levels: !" Abstract, high-level documents, such as flow charts, diagrams !" Low-level – data structures, function definitions, etc. 8. Semantic Gap: The difference between the semantics of the application domain and the execution domain is called the semantic gap. Semantic Gap Application Domain (problems, ideas, methods, to solve these problems) Page 2 of 6 Execution Domain (machine code, devices, etc.) mukeshtekwani@hotmail.com
  • 3. Prof. Mukesh N. Tekwani Introduction to Systems Programming Consequences of semantic gap: !" Large development times – interaction between designers in application domain and programmers. !" Large development efforts. !" Poor quality of software. How is the semantic gap reduced? The semantic gap is reduced by programming languages (PL). The use of a PL introduces a new domain called the programming language domain (or PL domain). Execution gap Specification gap Application Domain PL Domain (problems, ideas, methods, to solve these problems) Execution Domain (machine code, devices, etc.) The PL domain bridges the gap between the application domain and the execution domain. !" Specification gap: It is the semantic gap between the application domain and the PL domain. It can also be defined as the semantic gap between the two specifications of the same task. The specification gap is bridged by the software development team. !" Execution gap: It is the gap between the semantics of programs written in different programming languages. The execution gap is bridged by the translator or interpreter. Advantages of introducing the PL domain: (a) Large development times are reduced. (b) Better quality of software. (c) Language processor provides diagnostic capabilities which detects errors. 9. Language Processor: It is a software which bridges the specification or execution gap. 10. Language Processing: It is any activity performed by a language processor. Diagnostic capability is a feature of a language processor. The input of a language mukeshtekwani@hotmail.com Page 3 of 6
  • 4. Introduction to Systems Programming Prof. Mukesh N. Tekwani processor is the source program. The output of a language processor is the target program. The target program is not produced if the language processor finds any errors in the source program. Source program Language Processor Target program Types of language processors: (a) Language Translator: This bridges the execution gap to the machine language of a computer system. Examples are compiler and assembler. (b) De-translator: Similar to translator, but in the opposite direction. (c) Preprocessor: This is a language processor whose source and target languages are both high level, i.e., no translation takes place. 11. Problem-oriented Languages: In case of problem-oriented languages. The the PL domain is very close to the application domain. The specification gap is reduced in this case. Such PLs can be used only for specific applications, hence they are called problem-oriented languages. They have a large execution gap, but the execution gap is bridged by the translator or interpreter. Using these languages, we only have to do specify “what to do”. Software development takes less time using problem-oriented languages, but the resultant code may not be optimized. Examples : Fourth generation languages (4GL) like SQL. 12. Procedure-oriented languages: These provide general facilities and features which are required in most applications. These languages are independent of application domains. Hence, there is a large specification gap. The gap must be bridged by the application designer. Using these languages, we have to specify “what to do” and “how to do”. Examples. C, C++, FORTRAN, etc. 13. Compiler: A compiler is a language translator. It translates a source code (programs in a high-level language) into the target code (machine code, or object code). Source program Input Compiler Target program Target program Output To do this translation, a compiler steps through a number of phases. The simplest is a 2-phase compiler. The first phase is called the front end and the second phase is called the back end. Page 4 of 6 mukeshtekwani@hotmail.com
  • 5. Prof. Mukesh N. Tekwani Introduction to Systems Programming Front End: The front end translates from the high-level language to a common intermediate language. The front end is source language dependent but it is machine-independent. Thus, the front end consists of the following phases: lexical analysis, syntactic analysis, creation of symbol table, semantic analysis and generation of intermediate code. The front end also includes error-handling routines for each of these phases. Back End: The back end translates from this common intermediate language to the machine code. The back end is machine dependent. This includes code optimization, code generation, error-handling and symbol table operations. Thus, a compiler bridges the execution gap. 14. Interpreter: It is a language processor. It also bridges the execution gap but does not generate the machine code. An interpreter executes a program written in a high level language. The essential difference between a compiler and an interpreter is that while a compiler generates the machine code and is then no longer needed, an interpreter is always required. Source program Interpreter Output Input Characteristics of interpreter: !" Machine code is not stored. !" Source code is essential for repeated execution of statements. !" Statement is analysed during its interpretation. !" Useful for testing and debugging as overhead of storage is not incurred. Differences between compiler and interpreter: COMPILER INTERPRETER 1. Scans the entire program first and then translates it into machine code. 1. Translates the program line-by-line. 2. Converts the entire program to machine code; when all the syntax errors have been removed, execution takes place. 2. Each time the program is executed, every line is checked for syntax error and then converted to equivalent machine code. 3. Execution time is less 3. Execution time is more. 4. Machine code can be saved and used; source code and compiler no longer needed. 4. Machine code cannot be saved; interpreter is always required for translation. mukeshtekwani@hotmail.com Page 5 of 6
  • 6. Introduction to Systems Programming Prof. Mukesh N. Tekwani 5. Since source code is not required, tampering with the source code is not possible. 5. Source code can be easily modified and hence no security of programs. 6. Slow for debugging. 6. Fast for debugging. REVIEW QUESTIONS 1. Define the term “systems programming”. How is systems programming different from other types of programming? 2. Define the term “syntax” in the context of programming languages. What are the desirable qualities of syntax? 3. What are syntactic units. Illustrate with examples. 4. Explain the term “semantics” in the context of programming languages. 5. Explain the concept of domain; elaborate on the terms “application domain” and “execution domain”. 6. What is “semantic gap”? reduced? 7. What is the need of introducing the PL domain? 8. Explain the terms “problem-oriented language” and “procedure-oriented language”. Give two examples of each. Mention briefly the merits and demerits of each type of language. 9. Define the terms “front end” and “back end” as applied to a compiler. What are the consequences of this gap? How is this gap 10. Explain the difference between preprocessor and language translator. 11. Mention the major differences between compiler and interpreter. ********* Page 6 of 6 mukeshtekwani@hotmail.com