我被分配了CPP中的编码作业,我应该在其中创建一个矩阵计算器。考虑到我需要做的只是矩阵计算,使用多态性,考虑内存消耗以及其他一些条件,这将是一件好事。我正在努力的是应该是一个类似环境的控制台。
意味着启动该应用程序,我在提示符下输入以下命令:
scan x [3] [3] \ n //这将创建标记为'x'的新矩阵,并等待9 int(可能为longs)的类型。
z =添加x y \ n //或z = x + y \ n
我在某种程度上熟悉自动机理论,并且使它变得如此简单应该不是问题。(实际上与自动机无关)简单的意思是每行一个命令-因为那是我现在正在做的。我有一些解析器类可以分解命令,然后我进行必要的更改。它更多的是从第一个单词到最后一个单词的if-else树。如果我遇到无法识别的单词-语法/语法错误。
例如,我想问的是一些如何使它更加.bash的技巧。由于该应用程序在bash中运行。第一问:我如何获得键入命令的历史记录? rn当我按下arrowup时,我得到了那些^ [[A。第二问:一些提示如何开始解析一些更复杂的命令,例如:a = b = c *(d + q)(暗示'c'可以将“(d + q)”相乘,而'd'是addable到“ q”等。)无法用我的解析器工作的静态方式完成的bcs。
谢谢大家。
关于第一个问题,请查看libreadline
或libreadline
。如果不想松开手指,请在libeditline
包装器下运行程序。
关于第二个问题,请看libeditline
。寻找一种可以定义和使用变量的方法。