anchor.diff:  starter: |
           '{' bstr '}' { obj->set_starter($1.str); };
   
  -python: 'python' | 'py';
  +python: 'Python' | 'python' | 'py';
   
   namestr: unquoted_string {
               $$.str=$0.str; // I'm too lazy to figure out why this can't be returned in $0
  
positive.code:             obj->set_name($2.str);
          } ;
  
  tag: 'tag' tstr '{' guard '}' { obj->next_tag(); };
  
  tstr:   string          {
              obj->set_tagname($0.str);
  
negative.code: }
  }
  
  aal: aal_start header+ ( act | tag | itag | comment )* '}' ;
  
  aal_start: 'aal' string '{' language {
              obj->set_namestr($1.str);
          } ;
  
  header: variables | istate | push | pop | comment;
  
  comment: '#' "[^\n]*" {} ;
  
  act: 'action' astr '{' comment* guard comment* body comment* adapter comment* '}' {
              obj->next_action();
          };
  
  astr:   string          {
              obj->set_name($0.str);
  