anchor.diff:  PURPOSE_VLASTNI_PROJEKT         : 'vlastní projekt';
   PURPOSE_VZDELANI                : 'vzdělání';
   PURPOSE_ZDRAVI                  : 'zdraví';
  -PURPOSE_JINE                    : 'jiné';
   
   // basic types
   INTEGER : DIGIT+ ;
  
positive.code: INCOME_SELF_EMPLOYMENT      : 'OSVČ';
  INCOME_STUDENT              : 'student';
  INCOME_UNEMPLOYED           : 'bez zaměstnání';
  INCOME_OTHER                : 'jiné';
  
  // loan purpose types
  PURPOSE_AUTO_MOTO               : 'auto-moto';
  
negative.code: 
  incomeExpression returns [MainIncomeType result] :
      r=(INCOME_EMPLOYMENT | INCOME_ENTREPRENEUR | INCOME_SELF_EMPLOYMENT | INCOME_PENSION | INCOME_MATERNITY_LEAVE
          | INCOME_STUDENT | INCOME_UNEMPLOYED | INCOME_LIBERAL_PROFESSION | OTHER )
      { $result = MainIncomeType.findByCode($r.getText()); }
  ;
  
  purposeExpression returns [Purpose result] :
      r=(PURPOSE_AUTO_MOTO | PURPOSE_CESTOVANI | PURPOSE_DOMACNOST | PURPOSE_ELEKTRONIKA | PURPOSE_REFINANCOVANI_PUJCEK
          | PURPOSE_VLASTNI_PROJEKT | PURPOSE_VZDELANI | PURPOSE_ZDRAVI | OTHER)
      { $result = Purpose.findByCode($r.getText()); }
  ;
  
  