Compiler 2018

From ACM Class Wiki
Jump to: navigation, search

Contents

Overview

  • Source Language: Mx*
  • Target Language: x86-64 Assembly in NASM format
  • Compiler Language: Java (recommended), or any others, e.g. C, C++, Haskell, ...
  • All lexer and parser generators are allowed, e.g. Antlr 4 (recommended), flex + bison, ...
  • You need to write all other components by yourselves, including semantic analysis, code generation and optimization.
  • Online Judge: Compiler 2018
  • Any questions & discussions please go to Github Issue

Grading

  • Objective Score: 100 pts
    • Score Insurance: 85 pts
    • Ladder Tournament: 15 pts
  • Subjective Score: -5 ~ +5 pts
  • Extra Bonus

Score Insurance

  • Open testcases made by TAs
  • Loose compile & run time limit (TBD)
  • Late Policy: 1pt / day

Ladder Tournament

  • Every student must contribute at least a testcase
  • Compile & run time are limitted to 5 sec.
  • total_score(student) = sum(score(student, testcase) for testcase in testcases)
  • score(student, testcase) is calcuated by the rank of student's run time on this testcase

Schedule

Resources

Course

Java

Parsing

CodeGen & Optim

x86-64 & Assembly & Linux

Books

Some Links

Tutors

Name Email
马融 marong1024 [at] gmail.com
郑怜悯 mercy_zheng [at] sjtu.edu.cn
陈欣昊 chenxinhao [at] sjtu.edu.cn
卢思迪 desire2020 [at] sjtu.edu.cn
盛佩瑶 simplespy [at] sjtu.edu.cn
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox