So sitting in my fourth year software engineering class today the third assignment of the term was handed out. Now, the first two assignments were pretty tough, and I didn't do very well on them. I'm talking like, significantly above the level of work we've been doing in every other course. And this is an elective.
But you know, that was fine. I did badly on the first two assignments, but he drops the lowest one overall so no biggie. Then the midterm came, writing a bunch of grammars for languages and stuff. Didn't seem too tough, but for whatever reason I didn't do as well as I wanted. Luckily, it wasn't worth very much either (only 15%). As it stands I'm failing the course, but since we've only accounted for 20% of the overall grade this semester I figured as long as the next assignment wasn't ridiculous its worth enough that I could bring up my mark.
Turns out the assignment is to construct a pascal program that optimizes other pascal programs by doing things like removing divisions by 1, additions/subtractions of 0, replacing multiplications by powers of 2 shifts, replacing modulo by masking out bits, and so forth. The second question is to take an existing pascal decompiler and re-write it in MIPS Assembly intructions. We are given one week.
Given that this is going to take a lot longer than one week, and certainly more skill than I have, *and* Google has failed to help me...
My choice is either to drop the elective before the deadline so the average doesn't hurt my grade, and take a new elective next semester (with a heavier course load) or to try and power through this assignment.
So, it's a longshot but: Does anybody know enough about pascal or 4th year software engineering to give me some tips on this? Any help would be appreciated!
Edit: More detail can be given if necessary, but the rest is getting into specifics of the questions. I know enough about Assembly to maybe figure out that part of it, but given my history so far in this course, I've got little hope.
XI Wiki

