commit ee788830815e1199fe72fd54afa518a24bee3ce9
parent b79aed5b78095f80677e6ad4b83524d9b6db3b64
Author: Adam Malone <1319733+freddyz@users.noreply.github.com>
Date: Wed, 21 Nov 2018 16:15:37 -0600
begin token parser
Diffstat:
3 files changed, 30 insertions(+), 2 deletions(-)
diff --git a/src/dtpulse.cpp b/src/dtpulse.cpp
@@ -263,3 +263,18 @@ std::string concatVectorFromLookup(std::vector<int> vector, std::string lookup)
}
return output;
}
+Token::Token(int i, std::string v) {
+ type = i;
+ val = v;
+}
+void Token::print() {
+ printf("type:%i, val:%s\n",type,val.c_str());
+}
+std::vector<Token> tokenizeString(std::string input) {
+ std::vector<Token> stack;
+ for(unsigned int i = 0; i < input.length(); i++) {
+ std::string token(1,input[i]);
+ stack.push_back(Token(0,token));
+ }
+ return stack;
+}
diff --git a/src/dtpulse.hpp b/src/dtpulse.hpp
@@ -14,7 +14,13 @@ extern std::string knoblookup;
extern std::string inputlookup;
extern std::string knobandinputlookup;
#endif
-
+class Token {
+ public:
+ int type;
+ std::string val;
+ Token(int t, std::string v);
+ void print();
+};
bool is_digits(const std::string &str);
void padTo(std::string &str, const size_t num, const char paddingChar );
std::vector <int> parseString(std::string expr);
@@ -30,3 +36,5 @@ std::string hashExpand(std::string input, int hashnum);
std::string atExpand(std::string input, int atnum, std::string lookup);
std::string countExpand(std::string input, int atnum);
std::string concatVectorFromLookup(std::vector<int> vector, std::string lookup);
+std::vector<Token> tokenizeString(std::string input);
+
diff --git a/src/test.cpp b/src/test.cpp
@@ -32,7 +32,12 @@ int main(int argc, char** argv)
strResult = concatVectorFromLookup(output,knobandinputlookup);
printf("%s\n",strResult.c_str());
}
-
+ else if(type==5) {
+ std::vector<Token> stack = tokenizeString(argv[1]);
+ for(int i = 0; i < stack.size(); i++) {
+ stack[i].print();
+ }
+ }
return 0;
}
void printVector(std::vector <int> intVector) {