Poznámky ke gramatice anotací
První verze gramatiky pro zpracování anotací je v příloze. Je to psáno ve formátu pro Xtext. Mělo by to vystihovat formule ze článku. Gramatika zatím nebere v úvahu rozdělení textu v uvozovkách na více částí.
Pár změn oproti článku:
- Pojmenování generátorů a metod se provádí "jméno=definice" místo "jméno:definice"
- Určení projektu, ze kterého pochází generátor, je před definicí generátoru a je zakončené dvojtečkou
- Určení verze u metody nebo generátoru se provede na konci definice za zavináč
- (Přidána možnost vytvářet textové konstanty například pro určení verze, aby uživatel nemusel vždy psát celý identifikátor verze.)
Nová gramatika
V repozitáři Code je nová větev testparser s novým parserem, který umí zatím kontrolovat novou gramatiku formule + pár unit testů na něj.
Změny oproti původnímu parseru:
- přidáno spojka logické OR mezi dvě porovnání
- na začátku formule za FOR jsou parametry v závorce
- "for (promenna1 {hodnota1, hodnota2, ...} promenna2 {...}) ..."
- podpora pro určení projektu a verze, ze které mohou být metody a generátory
- "projekt@verze:pkg.AClass..."
- lze vynechat projekt (@verze:...) nebo verzi (projekt:...)
- lambda výrazy zjednodušeny, nově se jen napíše multiplikativní konstanta jako celé nebo reálné číslo v závorce před měřením
- reálná čísla nyní včetně exponentů
- pro porovnání měření přidány i ostré nerovnosti