我之前在C 语言中使用预处理器制作了一个基本的解释器,该预处理器减轻了解析等的大量负担。我现在想移植这个预处理器以在 C# 中使用,但我遇到了麻烦,因为我对 C# 还是很陌生。
我的旧预处理器使它像这样
变量 $mine= 这个; //奇怪的意图 变量 $something + $a=$b;
会变成相当机器可读的东西
var\0$mine\0=this\0;\0var\0$something\0+$a\0=$b\0;\0
( \0 为 NULL 以便我可以非常轻松地获取变量和标识符的名称)
好吧,使用我的旧代码,我一次读取一个字节,并根据它是否有空格以及最后一个字符等是什么,然后它将插入字符、插入 NULL 或忽略该字符。
好吧,我无法将其转换为 C# 代码。我正在使用 StringBuilder 类并使用 Insert() 一次插入一个字符。但我的问题是我不能使用 \0 作为字符值。我怎样才能使标识符名称仍然非常容易阅读?在这种情况下,拥有一个字符串数组或字符串构建器对象会更好吗?