SlideShare a Scribd company logo
PREPARED BY ,
Asst.Prof.M.Gokilavani,
BIET
9/28/2022 1
 Preliminary Concepts: Reasons for Studying Concepts of
Programming Languages, Programming Domains
 Language Evaluation Criteria, Influences on Language
Design, Language Categories, Language Design Trade-
Offs
 Implementation Methods, Programming Environments
 Syntax and Semantics: General Problem of Describing
Syntax and Semantics,
 Formal Methods of Describing Syntax
 Attribute Grammars, Describing the Meanings of Programs.
9/28/2022 2
Two Major Influences on Language Design
• Computer Architecture
• Languages are developed around the prevalent computer
architecture, known as the von Neumann architecture
• Programming Methodologies
• New software development methodologies (e.g., object oriented
software development) led to new programming paradigms and by
extension, new programming languages. are Design and
Engineering Approaches
• Well-known computer architecture: Von Neumann
• Imperative languages, most dominant, because of von
Neumann computers
 – Data and programs stored in memory
 – Memory is separate from CPU
 – Instructions and data are piped from memory to
CPU
 – Basis for imperative languages
 Variables model memory cells
 Assignment statements model piping
 Iteration is efficient
 Computer architecture in based on Von Neumann Architecture.
 A programming language is also affected by the architecture of
computer.
 But how ?
 This is the question will see here. When we deploy/run a
programs it reside in a memory and executed by the CPU.
 There are registers like program counter, instruction register
etc. Each instruction going from memory to CPU is decided
by program counter.
 And program counter get instruction info from instruction
register.
 In this a way a program developed in languages passes trough
this kind of cycle. Which affect the execution time of the
language.
 If system is multi user it will consume lot of time.
 Structured programming: This programming
methodology also called top own design and step wise
refinement. Its deficiency was incompleteness of type
checking and inadequacy of control statements, which
requires extensive use of go to statements. Ex. C.
 Data oriented programming: It focuses on data oriented
methods emphasize data design, focusing on the use of
abstract data types to solve the problem. Ex. Simula.
 Procedure oriented programming: It is the opposite of
data oriented programming. Ex. C#.
 Object oriented programming: It gives support for Data
abstraction, inheritance, polymorphism. Ex. C++.
• Imperative Language
– Central features are variables, assignment statements, and iteration
– Examples: C, Pascal
• Functional Language
– Main means of making computations is by applying functions to given
parameters
– Examples: LISP, Scheme
• Logic (declarative) Language
– Rule-based (rules are specified in no particular order)
– Example: Prolog
• Object-oriented Language
– Data abstraction, inheritance, late binding
– Examples: Java, C++
• Markup Language
– New; not a programming per se, but used to specify the layout of
information in Web Documents – Examples: XHTML, XML
Reliability vs. cost of execution
 – Conflicting criteria
 – Example: Java demands all references to array elements be
checked for proper indexing but that leads to increased execution
costs
Readability vs. Writability
 – Another conflicting criteria
 – Example: APL provides many powerful operators (and a large
number of new symbols), allowing complex computations to be
written in a compact program but at the cost of poor readability.
Writability (flexibility) vs. reliability
 – Another conflicting criteria
 – Example: C++ pointers are powerful and very flexible but not
reliably used
We have three different types of implementation methods
They are
• Compilation– Programs are translated into machine
language
• Pure Interpretation – Programs are interpreted by
another program known as an interpreter
• Hybrid Implementation Systems – A compromise
between compilers and pure interpreters
 Programs can be translated into machine language, which can be
executed directly on the computer. This method is called a
compiler implementation and has the advantage of very fast
program execution, once the translation process is complete.
Example: C, COBOL, and C++, are by compilers.
 Phase 1: The language that a compiler translates is called the
source language. The process of compilation and program
execution takes place in several phases, the most important of
which are shown in Figure.
 Phase 2: The lexical analyzer gathers the characters of the source
program into lexical units. The lexical units of a program are
identifiers, special words, operators, and punctuation symbols.
The lexical analyzer ignores comments in the source program
because the compiler has no use for them.
 Phase 3: The syntax analyzer takes the lexical units from the
lexical analyzer and uses them to construct hierarchical
structures called parse trees. These parse trees represent the
syntactic structure of the program.
 Phase 4: The intermediate code generator produces a
program in a different language, at an intermediate level
between the source program and the final output of the
compiler: the machine language program.
 Optimization, which improves programs (usually in their
intermediate code version) by making them smaller or faster
or both.
 The symbol table serves as a database for the
compilation process. The primary contents of the
symbol table are the type and attribute information of
each user- defined name in the program. This
information is placed in the symbol table by the
lexical and syntax analyzers and is used by the
semantic analyzer and the code generator.
 Phase 5: The code generator translates the optimized
intermediate code version of the program into an
equivalent machine language program.
 Translation of source code line by line so that generates
errors line by line. If no errors in the code generates
object code. While interpretation it self user input will
be given.
• Immediate feedback about errors
• Slower execution
• Often requires more space
Used mainly for scripting languages
Example for interpreter is Dbase III plus
 A compromise between compilers and pure interpreters
 A high-level language program is translated to an
intermediate language that allows easy interpretation
 Faster than pure interpretation.
 Example for hybrid implementation is Java. Java is a
compiled interpreted language.
 A Just-in-Time (JIT) implementation system initially
translates programs to an intermediate language. Then,
during execution, it compiles intermediate language
methods into machine code when they are called.
 The machine code version is kept for subsequent calls. JIT
systems now are widely used for Java programs. Also, the
.NET languages are all implemented with a JIT system.
 A preprocessor is a program that processes a program just
before the program is compiled. Preprocessor instructions
are embedded in programs.
 The preprocessor is essentially a macro expander.
Preprocessor instructions are commonly used to specify that
the code from another file is to be included.
 For example, the C preprocessor instruction
causes the preprocessor to copy the contents of myLib.h into
the program at the position of the #include.
 Other preprocessor instructions are used to define symbols
to represent expressions. For example, one could use
 The collection of tools used in software development
 The old way used the console and independent tools
 – UNIX/Linux
 vi or emacs for editing
 compiler
 debugger
 Integrated Development Environments provide a
graphical interface to most of the
 necessary tools
• Eclipse
 – An integrated development environment for Java,
written in java
 – Support for other languages is also available
• Borland JBuilder, NetBeans
 – Other integrated development environments for Java
• Microsoft Visual Studio.NET
 – A large, complex visual environment
 – Used to program in C#, Visual BASIC.NET, Jscript,
J#, or C++
9/28/2022 24

More Related Content

Similar to Unit 1_Evaluation Criteria_session 3.pptx

4_5802928814682016556.pptx
4_5802928814682016556.pptx4_5802928814682016556.pptx
4_5802928814682016556.pptx
AshenafiGirma5
 
design intoduction of_COMPILER_DESIGN.pdf
design intoduction of_COMPILER_DESIGN.pdfdesign intoduction of_COMPILER_DESIGN.pdf
design intoduction of_COMPILER_DESIGN.pdf
advRajatSharma
 
CD - CH1 - Introduction to compiler design.pptx
CD - CH1 - Introduction to compiler design.pptxCD - CH1 - Introduction to compiler design.pptx
CD - CH1 - Introduction to compiler design.pptx
ZiyadMohammed17
 
Cd ch1 - introduction
Cd   ch1 - introductionCd   ch1 - introduction
Cd ch1 - introduction
mengistu23
 
Introduction to C Programming
Introduction to C ProgrammingIntroduction to C Programming
Introduction to C Programming
Selvaraj Seerangan
 
CS3251-_PIC
CS3251-_PICCS3251-_PIC
Programming Paradigm & Languages
Programming Paradigm & LanguagesProgramming Paradigm & Languages
Programming Paradigm & Languages
Gaditek
 
Programming Paradigm & Languages
Programming Paradigm & LanguagesProgramming Paradigm & Languages
Programming Paradigm & Languages
Gaditek
 
Unit 1
Unit 1Unit 1
Computer programing 111 lecture 1
Computer programing 111 lecture 1 Computer programing 111 lecture 1
Computer programing 111 lecture 1
ITNet
 
Introduction to compiler
Introduction to compilerIntroduction to compiler
Introduction to compiler
A. S. M. Shafi
 
Principles of programming languages. Detail notes
Principles of programming languages. Detail notesPrinciples of programming languages. Detail notes
Principles of programming languages. Detail notes
VIKAS SINGH BHADOURIA
 
Ppt about programming in methodology
Ppt about programming in methodology Ppt about programming in methodology
Ppt about programming in methodology
Vaishnavirakshe2
 
Compiler Design Introduction
Compiler Design IntroductionCompiler Design Introduction
Compiler Design Introduction
Kuppusamy P
 
sege.pdf
sege.pdfsege.pdf
sege.pdf
SegezzBrian
 
Introduction to computer programming
Introduction to computer programming Introduction to computer programming
Introduction to computer programming
VanessaBuensalida
 
Embedded c c++ programming fundamentals master
Embedded c c++ programming fundamentals masterEmbedded c c++ programming fundamentals master
Embedded c c++ programming fundamentals master
Hossam Hassan
 
programming.pptx
programming.pptxprogramming.pptx
programming.pptx
DarianElmyra
 
Introduction to programming language (basic)
Introduction to programming language (basic)Introduction to programming language (basic)
Introduction to programming language (basic)
nharsh2308
 

Similar to Unit 1_Evaluation Criteria_session 3.pptx (20)

4_5802928814682016556.pptx
4_5802928814682016556.pptx4_5802928814682016556.pptx
4_5802928814682016556.pptx
 
design intoduction of_COMPILER_DESIGN.pdf
design intoduction of_COMPILER_DESIGN.pdfdesign intoduction of_COMPILER_DESIGN.pdf
design intoduction of_COMPILER_DESIGN.pdf
 
CD - CH1 - Introduction to compiler design.pptx
CD - CH1 - Introduction to compiler design.pptxCD - CH1 - Introduction to compiler design.pptx
CD - CH1 - Introduction to compiler design.pptx
 
Cd ch1 - introduction
Cd   ch1 - introductionCd   ch1 - introduction
Cd ch1 - introduction
 
Introduction to C Programming
Introduction to C ProgrammingIntroduction to C Programming
Introduction to C Programming
 
CS3251-_PIC
CS3251-_PICCS3251-_PIC
CS3251-_PIC
 
Programming Paradigm & Languages
Programming Paradigm & LanguagesProgramming Paradigm & Languages
Programming Paradigm & Languages
 
Programming Paradigm & Languages
Programming Paradigm & LanguagesProgramming Paradigm & Languages
Programming Paradigm & Languages
 
Unit 1
Unit 1Unit 1
Unit 1
 
Computer programing 111 lecture 1
Computer programing 111 lecture 1 Computer programing 111 lecture 1
Computer programing 111 lecture 1
 
Introduction to compiler
Introduction to compilerIntroduction to compiler
Introduction to compiler
 
Principles of programming languages. Detail notes
Principles of programming languages. Detail notesPrinciples of programming languages. Detail notes
Principles of programming languages. Detail notes
 
Ppt about programming in methodology
Ppt about programming in methodology Ppt about programming in methodology
Ppt about programming in methodology
 
Compiler Design Introduction
Compiler Design IntroductionCompiler Design Introduction
Compiler Design Introduction
 
sege.pdf
sege.pdfsege.pdf
sege.pdf
 
Introduction to computer programming
Introduction to computer programming Introduction to computer programming
Introduction to computer programming
 
Embedded c c++ programming fundamentals master
Embedded c c++ programming fundamentals masterEmbedded c c++ programming fundamentals master
Embedded c c++ programming fundamentals master
 
programming.pptx
programming.pptxprogramming.pptx
programming.pptx
 
Introduction to programming language (basic)
Introduction to programming language (basic)Introduction to programming language (basic)
Introduction to programming language (basic)
 
df
dfdf
df
 

More from Asst.prof M.Gokilavani

CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
Asst.prof M.Gokilavani
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
Asst.prof M.Gokilavani
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
Asst.prof M.Gokilavani
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
Asst.prof M.Gokilavani
 
IT8073_Information Security_UNIT I _.pdf
IT8073_Information Security_UNIT I _.pdfIT8073_Information Security_UNIT I _.pdf
IT8073_Information Security_UNIT I _.pdf
Asst.prof M.Gokilavani
 
IT8073 _Information Security _UNIT I Full notes
IT8073 _Information Security _UNIT I Full notesIT8073 _Information Security _UNIT I Full notes
IT8073 _Information Security _UNIT I Full notes
Asst.prof M.Gokilavani
 
GE3151 PSPP UNIT IV QUESTION BANK.docx.pdf
GE3151 PSPP UNIT IV QUESTION BANK.docx.pdfGE3151 PSPP UNIT IV QUESTION BANK.docx.pdf
GE3151 PSPP UNIT IV QUESTION BANK.docx.pdf
Asst.prof M.Gokilavani
 
GE3151 PSPP UNIT III QUESTION BANK.docx.pdf
GE3151 PSPP UNIT III QUESTION BANK.docx.pdfGE3151 PSPP UNIT III QUESTION BANK.docx.pdf
GE3151 PSPP UNIT III QUESTION BANK.docx.pdf
Asst.prof M.Gokilavani
 
GE3151 UNIT II Study material .pdf
GE3151 UNIT II Study material .pdfGE3151 UNIT II Study material .pdf
GE3151 UNIT II Study material .pdf
Asst.prof M.Gokilavani
 
GE3151 PSPP All unit question bank.pdf
GE3151 PSPP All unit question bank.pdfGE3151 PSPP All unit question bank.pdf
GE3151 PSPP All unit question bank.pdf
Asst.prof M.Gokilavani
 
GE3151_PSPP_All unit _Notes
GE3151_PSPP_All unit _NotesGE3151_PSPP_All unit _Notes
GE3151_PSPP_All unit _Notes
Asst.prof M.Gokilavani
 
GE3151_PSPP_UNIT_5_Notes
GE3151_PSPP_UNIT_5_NotesGE3151_PSPP_UNIT_5_Notes
GE3151_PSPP_UNIT_5_Notes
Asst.prof M.Gokilavani
 
GE3151_PSPP_UNIT_4_Notes
GE3151_PSPP_UNIT_4_NotesGE3151_PSPP_UNIT_4_Notes
GE3151_PSPP_UNIT_4_Notes
Asst.prof M.Gokilavani
 
GE3151_PSPP_UNIT_3_Notes
GE3151_PSPP_UNIT_3_NotesGE3151_PSPP_UNIT_3_Notes
GE3151_PSPP_UNIT_3_Notes
Asst.prof M.Gokilavani
 
GE3151_PSPP_UNIT_2_Notes
GE3151_PSPP_UNIT_2_NotesGE3151_PSPP_UNIT_2_Notes
GE3151_PSPP_UNIT_2_Notes
Asst.prof M.Gokilavani
 
AI3391 Artificial intelligence Unit IV Notes _ merged.pdf
AI3391 Artificial intelligence Unit IV Notes _ merged.pdfAI3391 Artificial intelligence Unit IV Notes _ merged.pdf
AI3391 Artificial intelligence Unit IV Notes _ merged.pdf
Asst.prof M.Gokilavani
 
AI3391 Artificial intelligence Session 29 Forward and backward chaining.pdf
AI3391 Artificial intelligence Session 29 Forward and backward chaining.pdfAI3391 Artificial intelligence Session 29 Forward and backward chaining.pdf
AI3391 Artificial intelligence Session 29 Forward and backward chaining.pdf
Asst.prof M.Gokilavani
 
AI3391 Artificial intelligence Session 28 Resolution.pptx
AI3391 Artificial intelligence Session 28 Resolution.pptxAI3391 Artificial intelligence Session 28 Resolution.pptx
AI3391 Artificial intelligence Session 28 Resolution.pptx
Asst.prof M.Gokilavani
 
AI3391 Artificial intelligence session 27 inference and unification.pptx
AI3391 Artificial intelligence session 27 inference and unification.pptxAI3391 Artificial intelligence session 27 inference and unification.pptx
AI3391 Artificial intelligence session 27 inference and unification.pptx
Asst.prof M.Gokilavani
 
AI3391 Artificial Intelligence Session 26 First order logic.pptx
AI3391 Artificial Intelligence Session 26 First order logic.pptxAI3391 Artificial Intelligence Session 26 First order logic.pptx
AI3391 Artificial Intelligence Session 26 First order logic.pptx
Asst.prof M.Gokilavani
 

More from Asst.prof M.Gokilavani (20)

CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
 
IT8073_Information Security_UNIT I _.pdf
IT8073_Information Security_UNIT I _.pdfIT8073_Information Security_UNIT I _.pdf
IT8073_Information Security_UNIT I _.pdf
 
IT8073 _Information Security _UNIT I Full notes
IT8073 _Information Security _UNIT I Full notesIT8073 _Information Security _UNIT I Full notes
IT8073 _Information Security _UNIT I Full notes
 
GE3151 PSPP UNIT IV QUESTION BANK.docx.pdf
GE3151 PSPP UNIT IV QUESTION BANK.docx.pdfGE3151 PSPP UNIT IV QUESTION BANK.docx.pdf
GE3151 PSPP UNIT IV QUESTION BANK.docx.pdf
 
GE3151 PSPP UNIT III QUESTION BANK.docx.pdf
GE3151 PSPP UNIT III QUESTION BANK.docx.pdfGE3151 PSPP UNIT III QUESTION BANK.docx.pdf
GE3151 PSPP UNIT III QUESTION BANK.docx.pdf
 
GE3151 UNIT II Study material .pdf
GE3151 UNIT II Study material .pdfGE3151 UNIT II Study material .pdf
GE3151 UNIT II Study material .pdf
 
GE3151 PSPP All unit question bank.pdf
GE3151 PSPP All unit question bank.pdfGE3151 PSPP All unit question bank.pdf
GE3151 PSPP All unit question bank.pdf
 
GE3151_PSPP_All unit _Notes
GE3151_PSPP_All unit _NotesGE3151_PSPP_All unit _Notes
GE3151_PSPP_All unit _Notes
 
GE3151_PSPP_UNIT_5_Notes
GE3151_PSPP_UNIT_5_NotesGE3151_PSPP_UNIT_5_Notes
GE3151_PSPP_UNIT_5_Notes
 
GE3151_PSPP_UNIT_4_Notes
GE3151_PSPP_UNIT_4_NotesGE3151_PSPP_UNIT_4_Notes
GE3151_PSPP_UNIT_4_Notes
 
GE3151_PSPP_UNIT_3_Notes
GE3151_PSPP_UNIT_3_NotesGE3151_PSPP_UNIT_3_Notes
GE3151_PSPP_UNIT_3_Notes
 
GE3151_PSPP_UNIT_2_Notes
GE3151_PSPP_UNIT_2_NotesGE3151_PSPP_UNIT_2_Notes
GE3151_PSPP_UNIT_2_Notes
 
AI3391 Artificial intelligence Unit IV Notes _ merged.pdf
AI3391 Artificial intelligence Unit IV Notes _ merged.pdfAI3391 Artificial intelligence Unit IV Notes _ merged.pdf
AI3391 Artificial intelligence Unit IV Notes _ merged.pdf
 
AI3391 Artificial intelligence Session 29 Forward and backward chaining.pdf
AI3391 Artificial intelligence Session 29 Forward and backward chaining.pdfAI3391 Artificial intelligence Session 29 Forward and backward chaining.pdf
AI3391 Artificial intelligence Session 29 Forward and backward chaining.pdf
 
AI3391 Artificial intelligence Session 28 Resolution.pptx
AI3391 Artificial intelligence Session 28 Resolution.pptxAI3391 Artificial intelligence Session 28 Resolution.pptx
AI3391 Artificial intelligence Session 28 Resolution.pptx
 
AI3391 Artificial intelligence session 27 inference and unification.pptx
AI3391 Artificial intelligence session 27 inference and unification.pptxAI3391 Artificial intelligence session 27 inference and unification.pptx
AI3391 Artificial intelligence session 27 inference and unification.pptx
 
AI3391 Artificial Intelligence Session 26 First order logic.pptx
AI3391 Artificial Intelligence Session 26 First order logic.pptxAI3391 Artificial Intelligence Session 26 First order logic.pptx
AI3391 Artificial Intelligence Session 26 First order logic.pptx
 

Recently uploaded

一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
bakpo1
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
Pratik Pawar
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Dr.Costas Sachpazis
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
Pipe Restoration Solutions
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
seandesed
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
TeeVichai
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
AafreenAbuthahir2
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Sreedhar Chowdam
 
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
Amil Baba Dawood bangali
 
block diagram and signal flow graph representation
block diagram and signal flow graph representationblock diagram and signal flow graph representation
block diagram and signal flow graph representation
Divya Somashekar
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
thanhdowork
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
Kamal Acharya
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
ViniHema
 
ethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.pptethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.ppt
Jayaprasanna4
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
karthi keyan
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
Osamah Alsalih
 
English lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdfEnglish lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdf
BrazilAccount1
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
Kamal Acharya
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
gerogepatton
 
DESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docxDESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docx
FluxPrime1
 

Recently uploaded (20)

一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
 
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
 
block diagram and signal flow graph representation
block diagram and signal flow graph representationblock diagram and signal flow graph representation
block diagram and signal flow graph representation
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
 
ethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.pptethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.ppt
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
 
English lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdfEnglish lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdf
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
 
DESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docxDESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docx
 

Unit 1_Evaluation Criteria_session 3.pptx

  • 2.  Preliminary Concepts: Reasons for Studying Concepts of Programming Languages, Programming Domains  Language Evaluation Criteria, Influences on Language Design, Language Categories, Language Design Trade- Offs  Implementation Methods, Programming Environments  Syntax and Semantics: General Problem of Describing Syntax and Semantics,  Formal Methods of Describing Syntax  Attribute Grammars, Describing the Meanings of Programs. 9/28/2022 2
  • 3. Two Major Influences on Language Design • Computer Architecture • Languages are developed around the prevalent computer architecture, known as the von Neumann architecture • Programming Methodologies • New software development methodologies (e.g., object oriented software development) led to new programming paradigms and by extension, new programming languages. are Design and Engineering Approaches
  • 4. • Well-known computer architecture: Von Neumann • Imperative languages, most dominant, because of von Neumann computers  – Data and programs stored in memory  – Memory is separate from CPU  – Instructions and data are piped from memory to CPU  – Basis for imperative languages  Variables model memory cells  Assignment statements model piping  Iteration is efficient
  • 5.
  • 6.  Computer architecture in based on Von Neumann Architecture.  A programming language is also affected by the architecture of computer.  But how ?  This is the question will see here. When we deploy/run a programs it reside in a memory and executed by the CPU.  There are registers like program counter, instruction register etc. Each instruction going from memory to CPU is decided by program counter.  And program counter get instruction info from instruction register.  In this a way a program developed in languages passes trough this kind of cycle. Which affect the execution time of the language.  If system is multi user it will consume lot of time.
  • 7.
  • 8.  Structured programming: This programming methodology also called top own design and step wise refinement. Its deficiency was incompleteness of type checking and inadequacy of control statements, which requires extensive use of go to statements. Ex. C.  Data oriented programming: It focuses on data oriented methods emphasize data design, focusing on the use of abstract data types to solve the problem. Ex. Simula.  Procedure oriented programming: It is the opposite of data oriented programming. Ex. C#.  Object oriented programming: It gives support for Data abstraction, inheritance, polymorphism. Ex. C++.
  • 9. • Imperative Language – Central features are variables, assignment statements, and iteration – Examples: C, Pascal • Functional Language – Main means of making computations is by applying functions to given parameters – Examples: LISP, Scheme • Logic (declarative) Language – Rule-based (rules are specified in no particular order) – Example: Prolog • Object-oriented Language – Data abstraction, inheritance, late binding – Examples: Java, C++ • Markup Language – New; not a programming per se, but used to specify the layout of information in Web Documents – Examples: XHTML, XML
  • 10. Reliability vs. cost of execution  – Conflicting criteria  – Example: Java demands all references to array elements be checked for proper indexing but that leads to increased execution costs Readability vs. Writability  – Another conflicting criteria  – Example: APL provides many powerful operators (and a large number of new symbols), allowing complex computations to be written in a compact program but at the cost of poor readability. Writability (flexibility) vs. reliability  – Another conflicting criteria  – Example: C++ pointers are powerful and very flexible but not reliably used
  • 11. We have three different types of implementation methods They are • Compilation– Programs are translated into machine language • Pure Interpretation – Programs are interpreted by another program known as an interpreter • Hybrid Implementation Systems – A compromise between compilers and pure interpreters
  • 12.  Programs can be translated into machine language, which can be executed directly on the computer. This method is called a compiler implementation and has the advantage of very fast program execution, once the translation process is complete. Example: C, COBOL, and C++, are by compilers.  Phase 1: The language that a compiler translates is called the source language. The process of compilation and program execution takes place in several phases, the most important of which are shown in Figure.  Phase 2: The lexical analyzer gathers the characters of the source program into lexical units. The lexical units of a program are identifiers, special words, operators, and punctuation symbols. The lexical analyzer ignores comments in the source program because the compiler has no use for them.
  • 13.
  • 14.  Phase 3: The syntax analyzer takes the lexical units from the lexical analyzer and uses them to construct hierarchical structures called parse trees. These parse trees represent the syntactic structure of the program.  Phase 4: The intermediate code generator produces a program in a different language, at an intermediate level between the source program and the final output of the compiler: the machine language program.  Optimization, which improves programs (usually in their intermediate code version) by making them smaller or faster or both.
  • 15.  The symbol table serves as a database for the compilation process. The primary contents of the symbol table are the type and attribute information of each user- defined name in the program. This information is placed in the symbol table by the lexical and syntax analyzers and is used by the semantic analyzer and the code generator.  Phase 5: The code generator translates the optimized intermediate code version of the program into an equivalent machine language program.
  • 16.
  • 17.  Translation of source code line by line so that generates errors line by line. If no errors in the code generates object code. While interpretation it self user input will be given. • Immediate feedback about errors • Slower execution • Often requires more space Used mainly for scripting languages Example for interpreter is Dbase III plus
  • 18.  A compromise between compilers and pure interpreters  A high-level language program is translated to an intermediate language that allows easy interpretation  Faster than pure interpretation.  Example for hybrid implementation is Java. Java is a compiled interpreted language.  A Just-in-Time (JIT) implementation system initially translates programs to an intermediate language. Then, during execution, it compiles intermediate language methods into machine code when they are called.  The machine code version is kept for subsequent calls. JIT systems now are widely used for Java programs. Also, the .NET languages are all implemented with a JIT system.
  • 19.
  • 20.  A preprocessor is a program that processes a program just before the program is compiled. Preprocessor instructions are embedded in programs.  The preprocessor is essentially a macro expander. Preprocessor instructions are commonly used to specify that the code from another file is to be included.  For example, the C preprocessor instruction causes the preprocessor to copy the contents of myLib.h into the program at the position of the #include.
  • 21.  Other preprocessor instructions are used to define symbols to represent expressions. For example, one could use
  • 22.  The collection of tools used in software development  The old way used the console and independent tools  – UNIX/Linux  vi or emacs for editing  compiler  debugger  Integrated Development Environments provide a graphical interface to most of the  necessary tools
  • 23. • Eclipse  – An integrated development environment for Java, written in java  – Support for other languages is also available • Borland JBuilder, NetBeans  – Other integrated development environments for Java • Microsoft Visual Studio.NET  – A large, complex visual environment  – Used to program in C#, Visual BASIC.NET, Jscript, J#, or C++