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



Ответить с цитированием
Тут больше нужна активная работа с коллекциями разных типов, а это лучше всего развито именно в c#.