实验指导 step7:

step7 我们要支持条件语句,包括 if 语句和条件表达式(又称三元/三目表达式,ternary expression)。

语法上的改动是:

  1. if 表达式

    
    statement
        : 'return' expression ';'
        | expression? ';'
    
    | 'if' '(' expression ')' statement ('else' statement)?
  2. 条件表达式

    assignment : conditional | Identifier '=' expression
    conditional : logical_or | logical_or '?' expression ':' conditional

if 语句的语义和 C 语言相同,注意条件表达式优先级只比赋值高。

我们只接受 pdf 格式的实验报告,你需要将报告放在仓库的 ./reports/<branch-name>.pdf,比如 stage 4 的实验报告需要放在 stage-4 这个 branch 下的 ./reports/stage-4.pdf。整个 stage 4 只需要提交一份报告,你不需要单独为 step 7 准备报告。

你需要:

  1. 改进你的编译器,支持本节引入的新特性,通过相关测试。
  2. 完成实验报告(具体要求请看实验指导书的首页)。实验报告中需要包括:
    • 你的学号姓名
    • 简要叙述,为了完成这个 stage 你做了哪些工作(即你的实验内容)
    • 指导书上的思考题
    • 如果你复用借鉴了参考代码或其他资源,请明确写出你借鉴了哪些内容。并且,即使你声明了代码借鉴,你也需要自己独立认真完成实验。
    • 如有代码交给其他同学参考,也必须在报告中声明,告知给哪些同学拷贝过代码(包括可能通过间接渠道传播给其他同学)。

results matching ""

    No results matching ""

    results matching ""

      No results matching ""