Question: Class Exercise 2: New Programming Language Draw a component diagram of the below application and identify its all possible connectors Suppose we have designed a

Class Exercise 2: "New Programming Language"

Draw a component diagram of the below application and identify its all possible connectors Suppose we have designed a new programming language called "EyeJay". Our task is to develop a compiler that receives a program and generates machine instructions for a specific processor. The compilation process consists of different steps. Flexible error handling in these steps is of utmost importance; we aim to have error handling strategies that are specific to different stages of the compilation process. To this end, we have decided to split the compilation process into three stages: front end, middle end, and back end. The front end reads the source file, parses it, and converts it into an abstract syntax tree. The front end performs semantic analysis on the constructed abstract tree, augments it with additional information and passes the augmented tree to the middle end. The purpose of the middle end is to generate code in an intermediate language and to perform optimization on the generated code. The optimization phase consists of different steps. The architecture should offer design flexibility in the optimization phase such that we can add, remove, or reorder the optimization steps in different releases of the compiler. The back end receives the optimized code in the intermediate language and translates it to machine instructions for a specific processor.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!