文件名称:rshell
文件大小:680KB
文件格式:ZIP
更新时间:2024-04-15 23:57:18
C++
CS 100编程项目 2019年冬季 作者:Marc Jimenez(862049962),Neha Gupta(862049507) 介绍 在此程序中,我们的目标是开发一个称为rshell的命令外壳。 该程序将能够从标准输出中接收用户的输入并执行适当的命令。 规格 打印一个逗号提示(例如“ $”) 从标准输入中读取一行命令(和连接器) 通过使用fork , execvp和waitpid执行适当的命令 能够与引号(“”)和井号(#)交互以更改某些命令的输出。 能够通过使用测试命令和括号来检查文件和目录是否存在 优先级运算符()将更改命令执行的优先级 能够处理输入重定向,输出重定向和管道 连接器 连接器将通过使用三个不同的类(称为和,和和分号)以我们的模式实现,这三个类均从称为连接器的同一类派生。 方法 方案将通过从被称为FullCommand,连接器,括号,测试,MultCmd,命令
【文件预览】:
rshell-master
----.gitmodules(92B)
----images()
--------parse.jpeg(18KB)
--------assignment 1 diagram.jpeg(57KB)
--------Assignment3Uml.jpeg(230KB)
--------Assignment4Uml.jpeg(316KB)
--------Assignment2Uml.jpeg(188KB)
----integration_tests()
--------exit_command_tests.sh(242B)
--------test_symbolic_tests.sh(366B)
--------single_command_tests.sh(201B)
--------commented_command_tests.sh(150B)
--------precedence_tests.sh(250B)
--------output_redirection_tests.sh(576B)
--------test_command_tests.sh(499B)
--------input_redirection_tests.sh(402B)
--------inputfile.txt(43B)
--------pipe_operator_tests.sh(446B)
--------inputfile2.txt(25B)
--------multiple_commands_tests.sh(445B)
--------outputfile.txt(15B)
----googletest()
----unit_tests()
--------.unit_tests.cpp.swp(16KB)
--------unit_tests.cpp(14KB)
--------file(1B)
----src()
--------semicolon.h(315B)
--------input.h(841B)
--------FullCommand.cpp(111KB)
--------test.cpp(2KB)
--------connector.hpp(551B)
--------SymbolTree.h(1KB)
--------MultCmd.h(1011B)
--------or.cpp(1KB)
--------semicolon.cpp(2KB)
--------command.h(707B)
--------input.cpp(4KB)
--------pipe.cpp(570B)
--------LessInput.h(315B)
--------Paren.cpp(773B)
--------SymbolTree.cpp(10KB)
--------Paren.h(804B)
--------or.h(378B)
--------FullCommand.h(980B)
--------test.h(411B)
--------DoubleOut.h(294B)
--------Base.hpp(672B)
--------and.cpp(1KB)
--------main.cpp(1KB)
--------LessInput.cpp(698B)
--------DoubleOut.cpp(719B)
--------and.h(383B)
--------command.cpp(4KB)
--------MoreOutput.cpp(758B)
--------MoreOutput.h(347B)
--------pipe.h(299B)
--------MultCmd.cpp(11KB)
----.gitignore(362B)
----CMakeLists.txt(2KB)
----README.md(10KB)
----names.txt(83B)