anchor.diff:          } ;
   
   tag: 'tag' tstr '{' comment* guard  comment* '}' { obj->next_tag(); };
  -
  -itag: 'new_tag' tstr '{' implicit_guard '}' { obj->next_tag(); };
   
   tstr:   string          {
               obj->set_tagname($0.str);
  
positive.code: guard: 'guard' '()' '{' bstr '}' { obj->set_guard($3.str); }
      | { obj->empty_guard(); } ;
  
  implicit_guard: bstr { obj->set_guard($0.str); };
  
  body: ('body'|'model') '()' '{' bstr '}' { obj->set_body($3.str); }
      | { obj->empty_body(); };
  
  
negative.code: }
  }
  
  aal: aal_start header+ ( act | tag | comment )* '}' ;
  
  aal_start: 'aal' string '{' language {
              obj->set_namestr($1.str);
  