added parser example

This commit is contained in:
Rebecca Schofield 2015-10-06 19:51:31 -05:00
parent 5f020e60ed
commit 7efbf43c29
4 changed files with 16 additions and 11 deletions

View file

@ -641,16 +641,13 @@ vector<string> openCMD(vector<string> input, DBEngine &engine)
vector<string> exitCMD(vector<string> input, DBEngine &engine)
{
exit(0);
return input;
}
vector<string> createCMD(vector<string> input, DBEngine &engine)
{
if (input[0] == "TABLE")
{
input.erase(input.begin());
@ -1034,7 +1031,6 @@ void par_line(vector<string> input, DBEngine &engine) //calls par_command() or p
cout<<"\nPassing the following arguments to dbEngine: \nCommand: "<<input[0]<<endl;
input.erase(input.begin());
vector<string> insertInput = insertCMD(input, engine);
}
else if ( input[0] == "CREATE")
@ -1043,7 +1039,6 @@ void par_line(vector<string> input, DBEngine &engine) //calls par_command() or p
input.erase(input.begin());
vector<string> insertInput = createCMD(input, engine);
}
else if ( input[0] == "DELETE")
@ -1052,7 +1047,6 @@ void par_line(vector<string> input, DBEngine &engine) //calls par_command() or p
input.erase(input.begin());
vector<string> insertInput = deleteCMD(input, engine);
}
else if ( input[0] == "UPDATE")
@ -1061,7 +1055,6 @@ void par_line(vector<string> input, DBEngine &engine) //calls par_command() or p
input.erase(input.begin());
vector<string> insertInput = updateCMD(input, engine);
}
else if ( input[0] == "SHOW")
@ -1119,3 +1112,9 @@ void parse(string input, DBEngine &engine)
vector<string> listOfTokens = tokenize(input);
par_line(listOfTokens, engine);
}
void parseList(vector<string> input, DBEngine &engine) {
for (int i = 0; i < input.size(); ++i){
parse(input[i], engine);
}
}

View file

@ -257,10 +257,11 @@ class PExpression
public:
PExpression() { select = "~"; }
PExpression();
PExpression(string str) { temp = str; }
void setPExpression(string str) { temp = str; }
string getPExpression() { return temp; }
};
void parse(string s, DBEngine &e);
void parse(string s, DBEngine &e);
void parseList(vector<string> input, DBEngine &engine);

BIN
a.out

Binary file not shown.

View file

@ -1,7 +1,7 @@
#include <iostream>
#include <vector>
#include "Parser.h"
//#include "Condition.h"
#include "Condition.h"
#include "DBEngine.h"
//#include "user.h"
@ -10,5 +10,10 @@ using namespace std;
int main () {
DBEngine engine;
//
vector<string> s;
s.push_back("CREATE TABLE animals ( name VARCHAR(20), kind VARCHAR(8), years INTEGER ) PRIMARY KEY ( name, kind ) ;");
s.push_back("CREATE TABLE animals2 ( name VARCHAR(20), kind VARCHAR(8), years INTEGER ) PRIMARY KEY ( name, kind ) ;");
s.push_back("SHOW animals2 ;");
s.push_back("SHOW animals2 ;");
parseList(s, engine);
}