Я сделал базовый интерпретатор раньше в C с препроцессором, который отнимал много усилий при анализе и т. Д. Я хотел бы портировать этот препроцессор для использования на C# сейчас, и у меня возникают проблемы, поскольку я все еще довольно новичок в C#.Код предварительной обработки файла с C на C#
Мой старый Препроцессор сделал так вещи, как
var $mine= this; //weird intendtation var $something + $a=$b;
выйдет что-то изрядно МАШИНОСЧИТЫВАЕМЫМ, как
var\0$mine\0=this\0;\0var\0$something\0+$a\0=$b\0;\0
(с \ 0 существо NULL, так что я мог бы получить имена переменных и идентификаторы очень легко)
Ну, с моим старым кодом я читал его в одном байте за раз и в зависимости от того, были ли его пробелы и какой последний персонаж и что такое wa s, то он либо введет символ, либо вставляет NULL, либо игнорирует символ.
У меня возникли проблемы с превращением этого кода в C#. Я использую класс StringBuilder и использую Insert() для вставки одного символа за раз. Но моя проблема в том, что я не могу использовать \ 0 как значение символа. Как мне сделать так, чтобы имена идентификаторов все еще были чрезвычайно просты в чтении? было бы лучше иметь массив строк или объектов строкового построителя в этом случае?