我想用C#编写编译器,第一次和我不知何故而丢失该怎么办了缓冲! 我引用编译器,原理,技术和工具,并说:
因为处理的字符所用的时间量和大量的必须大源程序的编译过程中被处理的字符的,专门缓冲技术已被开发,以减少开销的处理单个输入所需的量character.An重要方案涉及交替重载两个缓冲器,每个缓冲器具有相同的尺寸N中的,和N通常是磁盘块的大小,例如,4096个字节。 使用一个系统读取命令,我们能够读取N个字符到缓冲器,而不是每个字符使用一个系统调用。 如果少于N个字符保留在输入文件,然后一个特殊字符,通过EOF表示,标志着源文件的结束,是从源程序中的任何可能的字符不同。
它也是在这本书中,我们把EOF的每个缓冲器的最后认识到,我们在缓冲区达到终点buffer.and它有两个指针向前 lexemBegine指向语义说! 我的问题是,我不知道如何创建这个缓冲区? 我应该做阵列或在sourceBuffer类的大小N缓冲区,然后我怎么能读取的StreamReader文件,并把源文件的N个字符到数组? 是什么问题,如果我读的源文件,而不是字符?