[英]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.