Presentation is loading. Please wait.

Presentation is loading. Please wait.

Programming Language Translators

Similar presentations


Presentation on theme: "Programming Language Translators"— Presentation transcript:

1 Programming Language Translators
Bootstrapping Programming Language Translators Prepared by Manuel E. Bermúdez, Ph.D. Associate Professor University of Florida

2 09/12/2018 “Bootstrapping” The notion of implementing a language, by means of using (part of) that language’s own implementation. Notation: T-diagram Source Target Language Written in Be selective. You do not need to cover both research and education. It does not need to be a long list. You can put down just one opportunity that you are really excited about. Just identify what you think are the biggest opportunities for your department faculty. Strike a balance between “thinking big” and being realistic. One way to think would be to say that if you were the Dean, you would invest in these opportunities. Remember the goal is to have national level prominence and visibility where our peer group will recognize our activities and accomplishments. For example, the NSF ERC on Particle Science and Technology As you go to the next slide, please bear in mind that there may well be very strong connections between this slide and the next on multi-disciplinary collaborations.

3 Bootstrapping Diagram Purpose: APPLICATION APPLICATION C C M M M
09/12/2018 Bootstrapping Diagram Purpose: APPLICATION APPLICATION C C M M M Be selective. You do not need to cover both research and education. It does not need to be a long list. You can put down just one opportunity that you are really excited about. Just identify what you think are the biggest opportunities for your department faculty. Strike a balance between “thinking big” and being realistic. One way to think would be to say that if you were the Dean, you would invest in these opportunities. Remember the goal is to have national level prominence and visibility where our peer group will recognize our activities and accomplishments. For example, the NSF ERC on Particle Science and Technology As you go to the next slide, please bear in mind that there may well be very strong connections between this slide and the next on multi-disciplinary collaborations. Object Coincides Source Coincides Execution

4 09/12/2018 Bootstrapping Example: We wish to have a Pascual compiler for a new Processor, M. How do we get it ? Possibility #1: Write the compiler directly by hand, in machine language? In assembly language ?  P M M Be selective. You do not need to cover both research and education. It does not need to be a long list. You can put down just one opportunity that you are really excited about. Just identify what you think are the biggest opportunities for your department faculty. Strike a balance between “thinking big” and being realistic. One way to think would be to say that if you were the Dean, you would invest in these opportunities. Remember the goal is to have national level prominence and visibility where our peer group will recognize our activities and accomplishments. For example, the NSF ERC on Particle Science and Technology As you go to the next slide, please bear in mind that there may well be very strong connections between this slide and the next on multi-disciplinary collaborations.

5 09/12/2018 Bootstrapping Possibility # 2: Write the Pascal compiler in some other language L, that is already implemented on M. Then, compile the compiler. But, ... this is probably too much work. P M P M L L M M M Be selective. You do not need to cover both research and education. It does not need to be a long list. You can put down just one opportunity that you are really excited about. Just identify what you think are the biggest opportunities for your department faculty. Strike a balance between “thinking big” and being realistic. One way to think would be to say that if you were the Dean, you would invest in these opportunities. Remember the goal is to have national level prominence and visibility where our peer group will recognize our activities and accomplishments. For example, the NSF ERC on Particle Science and Technology As you go to the next slide, please bear in mind that there may well be very strong connections between this slide and the next on multi-disciplinary collaborations. L Compiler

6 09/12/2018 Bootstrapping Possibility # 3: First, implement P, a subset of Pascal. Then, write the desired compiler in P, and compile it. Step 1: Now P is implemented. P M P M Be selective. You do not need to cover both research and education. It does not need to be a long list. You can put down just one opportunity that you are really excited about. Just identify what you think are the biggest opportunities for your department faculty. Strike a balance between “thinking big” and being realistic. One way to think would be to say that if you were the Dean, you would invest in these opportunities. Remember the goal is to have national level prominence and visibility where our peer group will recognize our activities and accomplishments. For example, the NSF ERC on Particle Science and Technology As you go to the next slide, please bear in mind that there may well be very strong connections between this slide and the next on multi-disciplinary collaborations. L L M M M

7 09/12/2018 Bootstrapping Step 2: If P is choosen well, the P -> M compiler and the Pascal -> M compiler (in P) together, are easier to write than the Pascal -> M (in L) compiler. Theoretically, this process can go on indefinitely, bootstrapping up the level of the language. In practice, however, new constructs interfere with each other (and with old ones), until further bootstrapping becomes ummanageable Pascal M Pascal M P P M M Write this M Be selective. You do not need to cover both research and education. It does not need to be a long list. You can put down just one opportunity that you are really excited about. Just identify what you think are the biggest opportunities for your department faculty. Strike a balance between “thinking big” and being realistic. One way to think would be to say that if you were the Dean, you would invest in these opportunities. Remember the goal is to have national level prominence and visibility where our peer group will recognize our activities and accomplishments. For example, the NSF ERC on Particle Science and Technology As you go to the next slide, please bear in mind that there may well be very strong connections between this slide and the next on multi-disciplinary collaborations.

8 09/12/2018 Bootstrapping Example: Now, lets suppose we wish to port Pascal to a new machine, M’. Possibility #1: Same as for M. Possibility #2: Same as for M. Possibility #3: Same as for M. Be selective. You do not need to cover both research and education. It does not need to be a long list. You can put down just one opportunity that you are really excited about. Just identify what you think are the biggest opportunities for your department faculty. Strike a balance between “thinking big” and being realistic. One way to think would be to say that if you were the Dean, you would invest in these opportunities. Remember the goal is to have national level prominence and visibility where our peer group will recognize our activities and accomplishments. For example, the NSF ERC on Particle Science and Technology As you go to the next slide, please bear in mind that there may well be very strong connections between this slide and the next on multi-disciplinary collaborations.

9 Bootstrapping Possibility #4:
09/12/2018 Bootstrapping Possibility #4: Step 1: Same as for M (implement P on M’). Step 2: Modify the Pascal compiler. Pascal M By hand P Be selective. You do not need to cover both research and education. It does not need to be a long list. You can put down just one opportunity that you are really excited about. Just identify what you think are the biggest opportunities for your department faculty. Strike a balance between “thinking big” and being realistic. One way to think would be to say that if you were the Dean, you would invest in these opportunities. Remember the goal is to have national level prominence and visibility where our peer group will recognize our activities and accomplishments. For example, the NSF ERC on Particle Science and Technology As you go to the next slide, please bear in mind that there may well be very strong connections between this slide and the next on multi-disciplinary collaborations. Pascal M’ Pascal M’ P P M’ M’ M’

10 09/12/2018 Bootstrapping Possibility #5: Don’t use P! Use the implementation of Pascal on M instead. Step 1: Pascal M By hand P Be selective. You do not need to cover both research and education. It does not need to be a long list. You can put down just one opportunity that you are really excited about. Just identify what you think are the biggest opportunities for your department faculty. Strike a balance between “thinking big” and being realistic. One way to think would be to say that if you were the Dean, you would invest in these opportunities. Remember the goal is to have national level prominence and visibility where our peer group will recognize our activities and accomplishments. For example, the NSF ERC on Particle Science and Technology As you go to the next slide, please bear in mind that there may well be very strong connections between this slide and the next on multi-disciplinary collaborations. Pascal M’ Pascal M’ Pascal Pascal M M M

11 09/12/2018 Bootstrapping Step 2: Note: Possibility #5 is called “cross-compiling”. Pascal M’ Pascal M’ Pascal Pascal M’ M’ By hand M Be selective. You do not need to cover both research and education. It does not need to be a long list. You can put down just one opportunity that you are really excited about. Just identify what you think are the biggest opportunities for your department faculty. Strike a balance between “thinking big” and being realistic. One way to think would be to say that if you were the Dean, you would invest in these opportunities. Remember the goal is to have national level prominence and visibility where our peer group will recognize our activities and accomplishments. For example, the NSF ERC on Particle Science and Technology As you go to the next slide, please bear in mind that there may well be very strong connections between this slide and the next on multi-disciplinary collaborations.

12 09/12/2018 Bootstrapping Many compilers undergo a long chain of bootstrapping steps. For example, XPL (a dialect of PL/I), was written first in Algol, then in XPL, and ported to a B5500 and then an IBM 360. Eight bootstraping steps were required. Be selective. You do not need to cover both research and education. It does not need to be a long list. You can put down just one opportunity that you are really excited about. Just identify what you think are the biggest opportunities for your department faculty. Strike a balance between “thinking big” and being realistic. One way to think would be to say that if you were the Dean, you would invest in these opportunities. Remember the goal is to have national level prominence and visibility where our peer group will recognize our activities and accomplishments. For example, the NSF ERC on Particle Science and Technology As you go to the next slide, please bear in mind that there may well be very strong connections between this slide and the next on multi-disciplinary collaborations.


Download ppt "Programming Language Translators"

Similar presentations


Ads by Google