繁体   English   中英

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

[英]Porting file preprocessing code from C to 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,因此我可以非常轻松地获取变量和标识符的名称)

好吧,使用我的旧代码,我一次读取一个字节,具体取决于它的空格和最后一个字符是什么,那么它将插入字符,插入NULL或忽略字符。

好吧,我很难将其转换为C#代码。 我正在使用StringBuilder类,并使用Insert()一次插入一个字符。 但是我的问题是我不能使用\\ 0作为字符值。 如何使标识符名称仍然非常易于阅读? 在这种情况下,最好有一个字符串数组或字符串生成器对象?

我建议使用List<string> ,并一次将一项添加到列表中。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM