将文件预处理代码从C移植到C#

Ear*_*rlz 1 c c# string porting c-preprocessor

我之前在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,以便我可以非常轻松地获取变量和标识符的名称)

好吧,使用我的旧代码,我一次只读取一个字节,并根据它的空格和最后一个字符是什么,然后它将插入字符,插入NULL或忽略字符.

好吧,我无法将其转换为C#代码.我正在使用StringBuilder类并使用Insert()一次插入一个字符.但我的问题是我不能使用\ 0作为字符值.如何使标识符名称仍然非常容易阅读呢?在这种情况下,拥有一个字符串数组或字符串构建器对象会更好吗?

Ree*_*sey 6

我建议一次使用List<string>,并在列表中添加一个项目.

这为您提供了字符串数组的所有可用性,但它会动态增长.如果使用这种方法,解析文件的C#代码应该比C代码更简单,更容易理解.