features /* Multi-line comment example */ Pizza {abstract} optional CheesyCrust {Kcal 370, Price 1.00} Integer SpicyLvl String Name // Esto es un comentario mandatory Topping {abstract} or Salami {Kcal 462} Ham {Kcal 115} Mozzarella {Kcal 310} Anchovies {Kcal 210, Price 0.50} Size {abstract} alternative "Normal size" {Price 8.00} Big {Price 12.00} Dough {abstract} alternative Neapolitan Sicilian {Price 0.50} constraints (CheesyCrust & Sicilian) => Big Neapolitan => (!Salami & !Ham) sum(Price) < 12 Name => len(Name)<10 & Name=='Margherita' SpicyLvl >= 1 & SpicyLvl <= 5 SpicyLvl==5 => SpicyLvl.Price==1.00 (SpicyLvl>=1 & SpicyLvl<5) => SpicyLvl.Price==0