User Tools

Site Tools


start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
start [2012/04/25 06:45] – [Schedule] xjiastart [2012/08/07 23:55] (current) – [Linear Scan] xjia
Line 1: Line 1:
 ====== News ====== ====== News ======
 +  * May 3 --- Add [[final submission specification]]
 +  * May 1 --- The final code review is fixed at Wednesday May 9. 
   * Apr 12 --- Add [[start_#phase_4code_generation|references and codes]] for code generation   * Apr 12 --- Add [[start_#phase_4code_generation|references and codes]] for code generation
-  * Apr 1 --- Add [[http://compiler.acm-project.org/spim_ref.html|SPIM reference]]+  * Apr 1 --- Add [[http://acm.sjtu.edu.cn/compiler/spim_ref.html|SPIM reference]]
   * Mar 28 --- Add QuadPackage {{:quad.7z|Quad}} for intermediate representation and {{:slide.pdf|slide for phase3}} .   * Mar 28 --- Add QuadPackage {{:quad.7z|Quad}} for intermediate representation and {{:slide.pdf|slide for phase3}} .
   * Mar 26 --- Add [[midterm_submission|midterm submission specification]]   * Mar 26 --- Add [[midterm_submission|midterm submission specification]]
Line 21: Line 23:
   * Apr 11, 8:30pm: {{:codegen.pdf|Code generation}}; additional code review   * Apr 11, 8:30pm: {{:codegen.pdf|Code generation}}; additional code review
   * Apr 25, 7:30pm: {{:register_allocation.pdf|Register allocation}}   * Apr 25, 7:30pm: {{:register_allocation.pdf|Register allocation}}
-  * May 2 (tentative): Code review of phase 3,4 +  * May --- May 15: Test stage (70% score, test everyday); see [[final submission specification]] 
-  * May 1 --- May 15: Test stage (70% score, test everyday)+  * May 9: Final code review (including phase 3,4,5) 
 +  * May 20: Report submission deadline
 ====== Phase 1: Syntactic Analysis ====== ====== Phase 1: Syntactic Analysis ======
   * [[language_definition|Language definition]]   * [[language_definition|Language definition]]
Line 48: Line 51:
 提倡使用Linear Scan代替传统图染色 提倡使用Linear Scan代替传统图染色
  
-===== Linear Scan =====+
   * [[http://www.cs.ucla.edu/~palsberg/course/cs132/linearscan.pdf|Linear Scan Register Allocation]] (1999)   * [[http://www.cs.ucla.edu/~palsberg/course/cs132/linearscan.pdf|Linear Scan Register Allocation]] (1999)
-  * [[http://www.springerlink.com/content/xfdu05dur5txvtvx/|Linear Scan Register Allocation in the Context of SSA Form and Register Constraints]] (2002) +  * <del>[[http://www.springerlink.com/content/xfdu05dur5txvtvx/|Linear Scan Register Allocation in the Context of SSA Form and Register Constraints]] (2002)</del> 
-  * [[http://dl.acm.org/citation.cfm?id=1064998|Optimized interval splitting in a linear scan register allocator]] (2005)+  * <del>[[http://dl.acm.org/citation.cfm?id=1064998|Optimized interval splitting in a linear scan register allocator]] (2005)</del>
   * [[http://www.springerlink.com/content/71927q85l8375682/|Extended Linear Scan: An Alternate Foundation for Global Register Allocation]] (2007)   * [[http://www.springerlink.com/content/71927q85l8375682/|Extended Linear Scan: An Alternate Foundation for Global Register Allocation]] (2007)
   * [[http://dl.acm.org/citation.cfm?id=1772979|Linear scan register allocation on SSA form]] (2010)   * [[http://dl.acm.org/citation.cfm?id=1772979|Linear scan register allocation on SSA form]] (2010)
Line 102: Line 105:
       * [4] Andrew W. Appel. Modern Compiler Implementation in Java (2nd Edition)       * [4] Andrew W. Appel. Modern Compiler Implementation in Java (2nd Edition)
  
-任务3: The Complier Killer (1-3)+任务3: 武松打虎 (1-3)
     * 任务描述      * 任务描述 
-       * 用新语言设计一个Killer程序,文本大小不超过1M,使得所有编译器的最短编译时间+       * 用新语言设计一个Killer程序,文本大小不超过1M,使得所有编译器的编译时间尽量,或者崩溃 
 +       * 设计者的Killer程序必须符合语法,且必须有明确的判定运行结果是否正确的方法 
 +       * 设计者的编译器必须能编译自己的Killer程序,编译时间必须合理(1分钟,1小时或者24小时) 
 +       * 设计者的编译出的关于Killer程序的目标代码在spim中的执行结果必须正确,运行时间必须合理(1分钟,1小时或者24小时)
        * 要求提供构造的思路和说明        * 要求提供构造的思路和说明
     * 参与方法     * 参与方法
-      * 在最终测试开始之前,编写的killer文件提交给助教+      * 将编写的killer文件提交给助教
     * 奖励       * 奖励  
-      * 除自己的编译器之外,其他编译器编译的最短时间最长的为获胜者 +      * 除自己的编译器之外,其他编译器编译的最短时间最长的为获胜者,崩溃的编译器的编译时间算作无穷大。 
-      * 如有多人参与,前三名分别得到3,2,1分+      * 前三名分别得到3,2,1分,如果个别程序有新意,就算不在前三名内,也可能授予1-3分的奖励
     * 截止日期     * 截止日期
       * 期末测试开始之前       * 期末测试开始之前
  
-任务4: Test Cases(1-2)+任务4: Test Cases (1-2)
     * 任务描述     * 任务描述
         * 出第一轮测试的数据         * 出第一轮测试的数据
Line 126: Line 132:
         * 2012年3月23日(含)         * 2012年3月23日(含)
  
-任务: (待发布,和中间代码有关,3分+任务5Test Cases (Final
- +    任务描述 
-任务: (待发布和寄存器分配3分) +        * 将以前Tiger的测试数据(在compiler-testcases这个repository里)转换到新语言作为期末测试的数据 
- +        * 要求在源文件中添加详细的说明,并附上自己的名字;原数据作者信息的要一并保留 
-任务: (待和优化,3分)+        * 转换后的程序,正确运行的结果应与ANSWERS文件里的相应内容一致 
 +    * 参与方法 
 +        * 将测试数据打包到group中确保没重复并通过助教审核 
 +    * 奖励 
 +        * 每5个测试数据1分,3分封顶 
 +        * 没有合作 
 +    * 截止日期 
 +        * 2012年5月2日(含)
 ====== Links ====== ====== Links ======
   * [[http://groups.google.com/group/tiger-acm-sjtu|Tiger友爱会]]   * [[http://groups.google.com/group/tiger-acm-sjtu|Tiger友爱会]]
Line 136: Line 149:
   * [[http://www2.cs.tum.edu/projects/cup/|CUP]] - LALR Parser Generator in Java   * [[http://www2.cs.tum.edu/projects/cup/|CUP]] - LALR Parser Generator in Java
   * [[http://bcmi.sjtu.edu.cn/~mli/tiger/Res/mips-spim.pdf|MIPS-SPIM document [pdf, 356KB]]] and its [[http://bcmi.sjtu.edu.cn/~mli/tiger/Res/mips_summary.pdf|summary [pdf, 43KB]]]   * [[http://bcmi.sjtu.edu.cn/~mli/tiger/Res/mips-spim.pdf|MIPS-SPIM document [pdf, 356KB]]] and its [[http://bcmi.sjtu.edu.cn/~mli/tiger/Res/mips_summary.pdf|summary [pdf, 43KB]]]
-  * [[http://pages.cs.wisc.edu/~larus/spim.html|SPIM MIPS Simulator]] and [[http://compiler.acm-project.org/spim_ref.html|SPIM reference]]+  * [[http://pages.cs.wisc.edu/~larus/spim.html|SPIM MIPS Simulator]] and [[http://acm.sjtu.edu.cn/compiler/spim_ref.html|SPIM reference]]
 ====== Contacts ====== ====== Contacts ======
   * Menghui Wang (王孟晖) --- ''wmhkebe [at] gmail.com''   * Menghui Wang (王孟晖) --- ''wmhkebe [at] gmail.com''
start.1335336321.txt.gz · Last modified: 2012/04/25 06:45 by xjia

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki