Please enable JavaScript.
Coggle requires JavaScript to display documents.
compiler (Why Study Languages and Compilers ? (2-Improved background for…
compiler
Why Study Languages and Compilers ?
2-Improved background for choosing languages
3-Improved understanding of program behavior
4-Increased ability to learn new languages
1-Increased capacity to express ideas
5-Better understanding of the significance of implementation
6-Learn to build a large and reliable system
7-Understand basic CS concepts
Programming Domains
2-Business Applications need
3-System Languages (Embedded systems, Operating systems) need
1-Scientific Applications need
4-Artificial Intelligence
5-Web Software
Compilation process has
several phases
1-Lexical analysis
2-Syntax analysis
3-Semantic analysis
4-Optimization
5-Code generation
Language Categories
Imperative
Functional
Logic
Markup/programming hybrid
Language Evaluation Criteria
1-Readability
Overall simplicity
Orthogonality
Data types
Syntax design
2-Writability
Simplicity and orthogonality
Support for abstraction
Expressivity
3-Reliability
Type checking
Exception handling
Aliasing
Readability and writability
4-Cost
Implementation Methods
How are Languages
Implemented?
Interpreters
(older)
run programs “as is” Little or
no preprocessing
Compilers
(newer)
do extensive
preprocessing
Pure Interpretation
Programs are interpreted by another program known as an interpreter
Hybrid Implementation Systems
A compromise between compilers and pure interpreters
Compilation
Programs are translated into machine language
Influences on Language Design
Computer Architecture
Most prevalent computer architecture:
von Neumann
Imperative languages
are designed around von Neumann computers, making them the most dominant
Programming Methodologies