anchor.diff:  // A file is a list of statements
   // followed by an EOF
   source_code returns [List<String> code_list]
  -@init{$code_list = new ArrayList<String>();}
  -    : statement_list {for (String str: $statement_list.code_list) { $code_list.add(str); }} EOF
  -    ;
  -
  -/** Parser Rules **/
  -
  -
  -statement_list returns [List<String> code_list]
  -@init{$code_list = new ArrayList<String>();}
  -    : ( statement_term {$code_list.add($statement_term.code);} )* (WS)?
  +@init{
  +    $code_list = new ArrayList<String>();
  +}
  +    : (import_statement SEMICOLON {$code_list.add($import_statement.code);} WS?)*
  +      (statement_term {$code_list.add($statement_term.code);} WS?)*
  +        EOF
  +    ;
  +
  +import_statement returns [String code]
  +@init{$code = "(import '"; }
  +@after{$code += ")"; }
  +    : IMPORT a=ID {$code += $a.text;} (PERIOD b=ID {$code += "." + $b.text;} )*
       ;
   
   // A statement_term is a statement followed
  
positive.code: 
  statement returns [String code]
      : val_assignment {$code = $val_assignment.code; }
      | import_statement {$code = $import_statement.code; }
      | expression {$code = $expression.code; }
      ;
  
  import_statement returns [String code]
  @init{$code = "(import '"; }
  @after{$code += ")"; }
      : IMPORT a=ID {$code += $a.text;} (PERIOD b=ID {$code += "." + $b.text;} )*
      ;
  
  expression returns [String code]
      : comparison_expression {$code = $comparison_expression.code; }
  
negative.code:         }
      ;
  
  
  
  let_statement returns [String code]
  