我正在使用 C# 中的 Coco R 示例 Taste。
当给出操作时,我正在尝试扩展代码以编写字符串,例如
写你好世界
我已经确定了一种可以存储和编写字符串的方法。我正在为我遇到的问题发布相关代码:
扩展的味道
| "write"
{ Expr<out type> (. if (type != integer) SemErr("integer type expected");
gen.Emit(Op.WRITE); .)
| '"'
ident (. name = Convert.ToString(t.val);
gen.Emit(Op.READS);
gen.Emit(Op.WRITES).)
'"'
}';'
CodeGen.cs中的扩展操作:Filestream就是这样使用的
public void Interpret (string data) {
int val;
try {
FileStream s = new FileStream(data, FileMode.Open);
Console.WriteLine();
pc = progStart; stack[0] = 0; top = 1; bp = 0;
并添加了使用文件流的大小写开关
case Op.READ: val = ReadInt(s); Push(val); break;
case Op.READS: stackString[index] = ReadString(s) ; Push(index); index++; break;
case Op.WRITE: Console.WriteLine(Pop()); break;
case Op.WRITES: Console.WriteLine(stackString[Pop()]); break;
问题是,我在互联网上的任何地方都找不到读取字符串的方法,显然ReadString(s)
不能以同样的方式ReadInt(s)
工作。我想知道是否可以帮助我找到一个从文件流中读取字符串的操作。
我以前没有做过任何文件流管理。