Grammar polygones; Lexer num = ('0'..'9')+; blank = ' ' | #9 | #10 | #13; Parser Ignored blank; polygone = '(' (point Separator ',')* ')' ; point = {cart:} '(' num 'x' ',' num 'y' ')' | {pol:} '(' num ',' num 'deg' ')' ;