CPP 中类似控制台的应用程序

Console like application in CPP



我被分配了 CPP 中的编码作业,我应该在其中创建一个矩阵计算器。 考虑到我需要做的就是矩阵计算、使用多态性、考虑内存消耗以及更多标准,这将是一项不错的任务。 我正在努力的是应该是一个像环境一样的控制台。

意思是启动应用程序,我在提示符下输入如下命令:

scan x[3][3] \n // 这将创建标记为 'x' 的新矩阵并等待 9 个整数(可能是长整数)被键入。

z = 添加 x y \n // 或
z = x + y \n

我熟悉自动机理论(在某种程度上),让它变得如此简单应该不是问题。 (这实际上与自动机无关) 简单意味着每行一个命令——因为这就是我现在正在做的。 我有一些分解命令的解析器 class,然后我进行了必要的更改。它更像是一棵从第一个词到最后一个词的 if-else 树。如果我遇到无法识别的单词 - Grammar/Syntax 错误。

我要问的是一些关于如何使它更.. bash 的提示,例如。
由于该应用在 bash..
中 运行 第一问:我如何获得键入命令的历史记录? rn 当我向上推箭头时,我得到了那些 ^[[A.
第二个问题:一些提示如何开始解析一些更复杂的命令,例如:a = b = c * ( d + q ) ( 暗示 'c' 可以乘以“(d + q)” 并且 'd' 是 addable to 'q' etc..) 无法用我的解析器工作的静态方式完成的 bcs rn.

谢谢大家

对于第一个问题,请查看 libreadline or libeditline. If you do not want to lift a finger, run your program under the rlwrap 包装器。

关于您的第二个问题,请查看 Simple library or implementation for a mathematical expression evaluator。寻找一个允许您定义和使用变量的工具。