Chtěl bych si naprogramovat vlastní jednoduchý jazyk na kreslení vektorových obrázků, který bych překládal do SVG.
Hlavní záměry jsou tři a to:
1) zjednodušit ruční zápis svg (zbavení se XML omáčky)
2) umožnit používat proměnné pro definici bodu, definici pera a definici přechodu
3) zjednodušit si výpočty, takže třeba pro vykreslení čáry plánuji několik způsobů zadání (x1 y1 x2 y2), (b1 b2), (b1 delka uhel)
Formát by byl jednoduchý:
B b1 = 20 20
B b2 = 20 50
P pero = <definice pera>
L pero b1 b2
L pero b2 50 30°
Naprogramovat to chci v Pythonu. Jaký parser by pro to byl nejvhodnější? Moje znalosti končí znalostí existence nástrojů flex, yacc a bison z dávné minulosti, které jsem nikdy nepoužíval. Koukám, že dnes existuje nepřeberné množství podobných nástrojů. Viz třeba článek
https://tomassetti.me/parsing-in-python/ Je toho tolik, že si vlastně neumím vybrat, co je pro mé potřeby nejvhodnější. Umím si představit, že bych to udělal i pomocí regexpu, ale pro pozdější údržbu a rozšiřování by asi bylo lepší mít nějakou gramatiku, ale zase nechci jít s kanonem na vrabce. Možná by se mi líbila i možnost výpočtů typu b3 = b2 + 50 30°.