Passescd
-
Upload
ankur-srivastava -
Category
Education
-
view
39 -
download
0
Transcript of Passescd
![Page 1: Passescd](https://reader036.fdocuments.us/reader036/viewer/2022062522/58b895cf1a28ab3e3a8b68fb/html5/thumbnails/1.jpg)
05/01/2023 1
Passes
ANKUR SRIVASTAVA JETGI ASSISTANT PROFESSOR COMPILER DESIGN
![Page 2: Passescd](https://reader036.fdocuments.us/reader036/viewer/2022062522/58b895cf1a28ab3e3a8b68fb/html5/thumbnails/2.jpg)
05/01/2023 ANKUR SRIVASTAVA JETGI ASSISTANT PROFESSOR COMPILER DESIGN
2
Single Pass
![Page 3: Passescd](https://reader036.fdocuments.us/reader036/viewer/2022062522/58b895cf1a28ab3e3a8b68fb/html5/thumbnails/3.jpg)
05/01/2023 ANKUR SRIVASTAVA JETGI ASSISTANT PROFESSOR COMPILER DESIGN
3
Contd.
![Page 4: Passescd](https://reader036.fdocuments.us/reader036/viewer/2022062522/58b895cf1a28ab3e3a8b68fb/html5/thumbnails/4.jpg)
05/01/2023 ANKUR SRIVASTAVA JETGI ASSISTANT PROFESSOR COMPILER DESIGN
4
Two Pass
![Page 5: Passescd](https://reader036.fdocuments.us/reader036/viewer/2022062522/58b895cf1a28ab3e3a8b68fb/html5/thumbnails/5.jpg)
05/01/2023 ANKUR SRIVASTAVA JETGI ASSISTANT PROFESSOR COMPILER DESIGN
5
Comparison
![Page 6: Passescd](https://reader036.fdocuments.us/reader036/viewer/2022062522/58b895cf1a28ab3e3a8b68fb/html5/thumbnails/6.jpg)
05/01/2023 ANKUR SRIVASTAVA JETGI ASSISTANT PROFESSOR COMPILER DESIGN
6
Multi pass
• Passes 1. Several phases of compilers are grouped into passes. 2 . Other passes generates an explicit output file. 3. In each pass the whole input file/source is processed.
Syntax Analyser
Lexical analyser Intermediate code generator--Semantic analyser
![Page 7: Passescd](https://reader036.fdocuments.us/reader036/viewer/2022062522/58b895cf1a28ab3e3a8b68fb/html5/thumbnails/7.jpg)
05/01/2023 ANKUR SRIVASTAVA JETGI ASSISTANT PROFESSOR COMPILER DESIGN
7
Contd…..
![Page 8: Passescd](https://reader036.fdocuments.us/reader036/viewer/2022062522/58b895cf1a28ab3e3a8b68fb/html5/thumbnails/8.jpg)
05/01/2023 ANKUR SRIVASTAVA JETGI ASSISTANT PROFESSOR COMPILER DESIGN
8
Load and Go
![Page 9: Passescd](https://reader036.fdocuments.us/reader036/viewer/2022062522/58b895cf1a28ab3e3a8b68fb/html5/thumbnails/9.jpg)
05/01/2023 ANKUR SRIVASTAVA JETGI ASSISTANT PROFESSOR COMPILER DESIGN
9
Contd….
![Page 10: Passescd](https://reader036.fdocuments.us/reader036/viewer/2022062522/58b895cf1a28ab3e3a8b68fb/html5/thumbnails/10.jpg)
05/01/2023 ANKUR SRIVASTAVA JETGI ASSISTANT PROFESSOR COMPILER DESIGN
10
Debugging
![Page 11: Passescd](https://reader036.fdocuments.us/reader036/viewer/2022062522/58b895cf1a28ab3e3a8b68fb/html5/thumbnails/11.jpg)
05/01/2023 ANKUR SRIVASTAVA JETGI ASSISTANT PROFESSOR COMPILER DESIGN
11
Bootstraping
• Bootstrapping is the process of writing a compiler (or assembler) in the source programming language that it intends to compile.
• Many compilers for many programming languages are bootstrapped, including compilers for-
• BASIC, Algol, C, D, Pascal, PL/I, Factor, Haskell, Modula-2, Oberon, OCaml, Common Lisp, Scheme, Go, Java, Rust, Python, Scala, Nim, Eiffel, and more.
![Page 12: Passescd](https://reader036.fdocuments.us/reader036/viewer/2022062522/58b895cf1a28ab3e3a8b68fb/html5/thumbnails/12.jpg)
05/01/2023 ANKUR SRIVASTAVA JETGI ASSISTANT PROFESSOR COMPILER DESIGN
12
List Of Compilers• Compiler is program that translate (either from source code,
byte code to another source code, byte code, or binary), for example:
• gcc• clang• javac• go (compiler)
![Page 13: Passescd](https://reader036.fdocuments.us/reader036/viewer/2022062522/58b895cf1a28ab3e3a8b68fb/html5/thumbnails/13.jpg)
05/01/2023 ANKUR SRIVASTAVA JETGI ASSISTANT PROFESSOR COMPILER DESIGN
13
• Interpreter is program that executes source code or byte code, for example:
• ruby (interpreter)• python (interpreter)• php (interpreter)
![Page 14: Passescd](https://reader036.fdocuments.us/reader036/viewer/2022062522/58b895cf1a28ab3e3a8b68fb/html5/thumbnails/14.jpg)
05/01/2023 ANKUR SRIVASTAVA JETGI ASSISTANT PROFESSOR COMPILER DESIGN
14
CONTD…
• 1 Ada compilers• 2 ALGOL compilers• 3 Assemblers (Intel *86)• 4 Assemblers (Motorola 68*) • 5 Assemblers (Zilog Z80) • 6 Assemblers (other) • 7 BASIC Compilers