【发布时间】:2012-02-24 14:24:46
【问题描述】:
我的程序是 C# 中的 Windows 窗体应用程序。
我有一个解释器/编译器 IDE,w/c 基本上通过自定义控制台窗口运行自定义语言。
在解释像“scanf”这样的输入行时,如何在用户不按回车的情况下暂停解释?
要解析的示例自定义代码:
1 VAR x AS INT
2 START
3 INPUT: x
4 OUTPUT: x
5 STOP
例如,在这些行中,当我的程序处理第 3 行时,它不会处理其他行,直到用户输入内容并按下回车键。
用于逐行解析的伪片段:
foreach (string line in inputCode)
{
LineType lineType = line.getType();
if(lineType.InputStatement)
{
//wait for input here
}
else if(lineType.OutputStatement)
{
//analyze output code here
}
else if(lineType.AssignmentStatement)
{
//do Evaluation here
}
}
【问题讨论】: