将文件预处理代码从C移植到C#
问题描述:
我已经在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被空,这样我可以得到的变量名和标识符很容易)
那么,用我的旧代码,我一次读取一个字节,并根据它的空白以及最后一个字符和这样的wa s,那么它会插入该字符,插入NULL或忽略该字符。
那么我很难把它转换成C#代码。我正在使用StringBuilder类,并使用Insert()一次插入一个字符。但我的问题是我不能使用\ 0作为字符值。我如何制作标识符名称仍然非常容易阅读?在这种情况下,最好是有一组字符串还是字符串生成器对象?
答
我会推荐使用List<string>
,并一次添加一个项目到列表中。
这给你所有的字符串数组的可用性,但它会动态增长。如果你使用这种方法,解析你的文件的C#代码应该比C代码更加简单和容易理解。