⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 http:^^www.cis.ksu.edu^~dwyer^courses^606^syllabus^syllabus.html

📁 This data set contains WWW-pages collected from computer science departments of various universities
💻 HTML
字号:
Date: Wed, 20 Nov 1996 22:39:22 GMT
Server: NCSA/1.5.1
Last-modified: Wed, 20 Nov 1996 16:17:39 GMT
Content-type: text/html
Content-length: 5729

<HEAD><TITLE>CIS 606 Translator Design I Fall 1996</TITLE></HEAD><BODY><P><H1>CIS 606<br> Translator Design I              Fall 1996</H1><hr><hr><i><b>What's New on these Web Pages</b></i><ul><li> Phase 4 assignment is online.<li> Phase 2 solution is online.</ul><HR><HR><P><HR><P><DL ><DT>OVERVIEW<DD>This course explores basic problems in the constructionof programming language translators.  We study the theoretical foundationsof translators and common implementation techniques.  The course willfocus on compilers for high-level languages, but we will also lookat applying translation techniques to a variety of <em>little</em> languages.<P><HR><P><DT>LECTURES<DD>Nichols 127, MWF 10:30-11:20 am<P><HR><P><DT>INSTRUCTOR<DD>Prof. Matt Dwyer<pre><TT> Office:       Nichols 324EEmail:        dwyer@cis.ksu.eduWWW:          http://www.cis.ksu.edu/<code>~</code>dwyerPhone:        532-6350Office Hours: MW 2:30-3:30, Thu 2:00-3:00</TT></PRE><P><HR><P><DT>TEXT<DD><b>Compilers : Principles, Techniques, and Tools</b>, Aho, Sethi, and Ullman, Addison-Wesley<P><HR><P><DT>ADDITIONAL RESOURCES<DD>Web pages for course will include tool documentation,assignments, solutions, test cases, and<!WA0><a href="http://www.cis.ksu.edu/~dwyer/courses/606/lectures/lectures.html">lecture notes</a><P><HR><P><DT>PREREQUISITES<DD>CIS 500<P><HR><P><DT>REQUIREMENTS<DD>The course will consist of a mixture of different kinds ofassignments.  A major component of your grade will be determined bya large multi-part compiler implementation <!WA1><a href="http://www.cis.ksu.edu/~dwyer/courses/606/project/project.html">project</a>.  There willbe an open-book open-note in-class <!WA2><a href="http://www.cis.ksu.edu/~dwyer/courses/606/quizzes/quizzes.html">final exam</a>.Occasional short <!WA3><a href="http://www.cis.ksu.edu/~dwyer/courses/606/homework/homework.html">homework assignments</a> and closed-book closed-note in-class <!WA4><a href="http://www.cis.ksu.edu/~dwyer/courses/606/quizzes/quizzes.html">quizzes</a> will be given.   The goal ofthese assignments is to provide feedback to you on how you areprogressing in understanding the course material.  It also providesvaluable feedback to me on how you are doing so that I can tailorthe course to maximize the benefit to the class.The weighting used for the final grade will be : 50%project,30%final exam and 20%homeworks and quizes.<P>The project consists of implementing a compiler for a Pascal-like language with classes.You may write your compiler in C, C++, Pascal or Ada (if you really wantto write it in another language come and talk to me).  I expect the code to be clearly organized and documented(I am <b>very</b> serious about this).  If you use either C, C++ or Ada you can write your lexical analyzer usinga scanner generator, such as flex (see "man flexdoc" for details).If you use anotherlanguage you will have to build the lexical analyzer by hand.Regardless of the implementation language you will build a top-downrecursive descent parser.  This parser will produce an abstractsyntax tree intermediate representation from which code will be generated.You may use the<!WA5><A HREF="http://www.cs.uni-sb.de/RW/users/sander/html/gsvcg1.html">VCG</A>tool to quickly and easily produce postscript depictions of your syntax trees.Your compiler will generate assembly code for the MIPS R2000/R3000.  Generated programs will be executed on a MIPS simulator called <!WA6><a href="http://www.cis.ksu.edu/~dwyer/courses/606/spim/spim.ps">spim</a>.If you don't already know about machine architecture and assembly languageprogramming you might start to browse the spim document.<P>The compiler will be implemented in four phase:<OL><DT><DD> Scanner with identifier table<DT><DD> Parser with type checking<DT><DD> Embellish Parser to build IR <DT><DD> <em>Optimize IR</em><DT><DD> Code Generator</OL><P>The project can be implemented either independently or in pairs.  Those who chose to work in pairs will be expected to perform somelocal optimization of the generated code.  This will involve buildingan additional phase to perform the IR optimization.<P>In part,	this is an exercise in building a large software system with reasonablycomplicated component interactions.   You will not be graded on the qualityof the generated code.  Correctness of the code, however, is very important.I will make a number of test files available prior to the due date ofeach stage.  You are encouraged to use these to test your implementation.I may execute your projects on those (and other) test files.You may also create tests of your own.  If there is sufficient interestwe can create a class wide collection of test cases for all to use.<P>All students are encouraged to talk to each other aboutcompiler concepts, design alternatives, implementation details, etc. The final product should be of your own creation.  If you copy other'swork you will not be prepared for the exam and you will not maximizethe benefit you get from this course.<P><HR><P><DT>SCHEDULE<DD><P><!WA7><IMG ALIGN=BOTTOM ALT="" SRC="http://www.cis.ksu.edu/~dwyer/courses/606/syllabus/table.gif"><P><P> </DL><P><HR><P><DT>ACADEMIC HONESTY<DD><P>On all assignments, you are expected to do your own work. From the Provost's office: "Plagiarism and cheating are serious offenses and may be punished by failure on the exam, paper or project, failure in the course and/or expulsion from the University. For more information refer to the `Academic Dishonesty' policy in `Inside KSU'".<P><HR><UL> <hl></font><P><ADDRESS>Matt Dwyer (<!WA8><a href="http://www.cis.ksu.edu/htbin/finger?dwyer@cis.ksu.edu">dwyer@cis.ksu.edu</a>)Last updated 10 Aug 1996</ADDRESS></BODY>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -