Project5 - CSE 450 Project 5, Spring 2008 Objectives:...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon
CSE 450 Project 5, Spring 2008 Objectives: Extend your SpartanAda compiler to process user-defined subprogram declarations and invo- cations. Extend your SpartanAda compiler to process one-dimensional array declarations and uses. Translate well-formed SpartanAda programs into three-address code. Description: For this project, you are to extend your compiler with two new features (arrays and subprograms), incorporate the intermediate-code generator you developed in project 4, and gener- ate three-address code for all of the SpartanAda features you have implemented. A detailed formal syntax description of arrays and subprograms appears below. You should extend your grammar to process these new primitives, perform any appropriate type checking, and then use the idioms and SDDs we defined in class to translate these features into 3-address code. In addition to the new syntax for arrays and subprograms, you will need to extend your grammar to accept SpartanAda programs in which zero or more subprogram definitions appear before the declare block that con- stitutes the main program. A major component of this project will involve allocating storage for programmer-defined vari- ables and formal parameters to subprograms. SpartanAda was designed so that all such storage can
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 2
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 07/25/2008 for the course CSE 450 taught by Professor Stirewalt during the Spring '08 term at Michigan State University.

Page1 / 3

Project5 - CSE 450 Project 5, Spring 2008 Objectives:...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online