C#”;scanf”;使用自定义控制台
本文关键字:自定义 控制台 scanf | 更新日期: 2023-09-27 18:25:53
我的程序是C#中的Windows窗体应用程序。
我有一个解释器/编译器IDE w/c,基本上通过自定义控制台窗口运行自定义语言。
当解释像"scanf"这样的输入行时,如何在用户不按enter键的情况下暂停解释?
要解析的自定义代码示例:
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
}
}
Console.Readline或Console.ReadKey将允许您从控制台读取类似于scanf的输入。
您应该让每个方法引发一个事件来激发下一行INPUT
方法应该在用户按下回车键后激发该事件。