Project 2b: Error Handling


  1. C-- code

    int main() {
      int x;
      int y;
      
      x = 0
      y = 5;
    
      while (x < y) {
        write x
        writeln;
        x = x + * 1;
      }
    }
    

    Parser output

    Error on line 6: expected semi, but found id
    Error on line 10: expected semi, but found writeln
    Error on line 11: invalid expression
    Parser found 3 errors.
    
  2. C-- code

    int x;
    
    int double(int y) {
      return 2*y;
    }
    
    int main() {
      read x;
      write double(x);
      return 1
    

    Parser output

    Error on line 12: expected semi, but found done
    Error on line 12: unexpected end of file, missing closing brace
    Parser found 2 errors.
    
  3. C-- code

    int x;
    
    int double(int y) {
      return 2*y;
    
    int main() {
      read x;
      write double(x);
      return 1;
    }
    

    Parser output

    Error on line 7: invalid expression
    Error on line 7: unexpected end of function, missing closing brace
    Parser found 2 errors.
    
  4. C-- code

    int x;
    char ;
    
    int main() {
        x = 10;
        y = 'a';
        write x;
        write y;
    }
    

    Parser output

    Error on line 2: missing identifier in declaration
    Parser found 1 error.
    
  5. C-- code

    int x;
    char y
    
    int main() {
        x = 10;
        y = 'a';
        write x;
        write y;
    }
    

    Parser output

    Error on line 4: expected lparen, but found int
    Parser found 1 error.