Не понимаю зачем нужны доступы к raw данным при компиляции, тем не менее в c# это не сложнее чем в си. Однако копиляция строится в виде поточной обработки. Насколько помню, вначале выделяются токены по правилам лексики входного языка. Которые затем потоком обрабатываются сложным конечным автоматом по таблицам мудрено выведенным из правил и семантики входного языка. В процессе обработки активно юзаются коллекции типа стек и дерево для хранения промежуточного состояния. На выходе поток операторов на псевдо языке близком по смыслу с машинным кодом, затем псевдоязык транслируется в код целевой платформы, тоже поточной обработкой. Так что raw доступы к данным тут вообще не нужныТут больше нужна активная работа с коллекциями разных типов, а это лучше всего развито именно в c#.
Все что нужно для написания компилятора, в c# реализовывается максимально выразительно и оптимально. Лучшего языка для этой задачи не найти (не считая разве что всяких специализированных).
Насчет перла не согласен, я даже не слышал чтобы его ктото для написания компиляторов использовал
C# это и есть брат джавы, при разработке c# просто учли все проблемные места джавы, c# приобрел более выразительный синтаксис и модульность, а также много современных возможностей - дженерики, аттрибуты, экстеншены, лямбды, замыкания, анонимные классы, автосвойства и т.п., вобщем это более современная и отлаженная джава, лишенная рудиментов, но оба эти языка принадлежат одному поколению, на ступеньку выше c++.





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