/* SI 413 Fall 2011
* Lab 04
* This is a recursive descent parser AND INTERPRETER for the
* "pat" language.
* YOUR NAME
* YOUR PARTNER'S NAME
*/
// Provided below are some helper functions for the interpreter.
#include <vector>
#include <string>
using namespace std;
vector<string> fold(const vector<string> &A, const vector<string> &B)
{
vector<string> res;
unsigned long int i = 0;
for (; i < A.size() && i < B.size(); ++i) {
res.push_back(A[i]);
res.push_back(B[i]);
}
for (; i < A.size(); ++i)
res.push_back(A[i]);
for (; i < B.size(); ++i)
res.push_back(B[i]);
return res;
}
vector<string> concat(const vector<string> &A, const vector<string> &B)
{
vector<string> res;
unsigned long int i;
for(i = 0; i < A.size(); ++i) res.push_back(A[i]);
for(i = 0; i < B.size(); ++i) res.push_back(B[i]);
return res;
}
vector<string> rev(const vector<string> &A)
{
vector<string> res;
long int i;
for(i = A.size() - 1; i >= 0; --i) res.push_back(A[i]);
return res;
}
// After completing Part 1, copy your parser code into this file.
// Make sure it works before starting to add interpreter features!
int main(void) {
// Currently does nothing!
return 0;
}