прикол в том, что ты можешь на одной и той же иерархии классов сделать сколько хочешь видов операций, где операция определяется типом ноды иерархии. без этого у тебя код превращается в свитчкейсы бесконечные
вообще и парсер и генератор написать, который не будет "культурное" дерьмо учитывать можно быстрее сделать довольно легко. для интов у меня парсер точно быстрее получался в разы. но вот чтобы он все умел, что вы умеете - это, наверное, достижение