<commit_before>#include <iostream>
#include <string>
#include <boost/tokenizer.hpp>
#include <vector>
#include <queue>

using namespace std;
using namespace boost;

class Connectors
{
    private:
        string a[100];
        bool state;
    public:
        Connectors()
        {
            state = 1;
        }
        void setbool(bool b)
        {
            state = b;
        }
        bool getbool()
        {
            return state;
        }
        virtual bool run(string arr[], bool k) = 0;  
};

class Semicolon
{
    public:
    void run(string arr[])
    {

    }
};

class And
{
    public:
    void run(string arr[])
    {

    }

};

class Or
{
    public:
    void run(string arr[])
    {

    }

};



int main()
{

    cout << "$ ";           //outputs terminal $
    string input;
    getline(cin, input);    //gets user input

    //containers we'll use for storage
    vector< vector<string> > v;
    vector<Connectors*> objects;
    queue<string> q;        
    
    bool check = 0;
    int column = 0;
    
    typedef tokenizer<char_separator<char> > tokenizer;
    char_separator<char> sep(" ", ";");
    tokenizer tokens(input, sep);    

    

    for (tokenizer::iterator itr = tokens.begin(); itr != tokens.end(); ++itr)
    {
        if (*itr == ";" && "||" && "&&")
        {
            q.push(*itr);
            v.at(column).push_back(NULL);
            column = column + 1;                             
        }
        else if (*itr == "#")
        {
            break;          //if commented, break out of loop
        }
        else
        {
            v.at(column).push_back(*itr);
        }
    }

    vector<string> current;

    for (unsigned i = 0; i < v.at(i).size(); ++i)
    {
        for (unsigned j = 0; j < v.at(i).at(j).size(); ++j)
        {
            current.push_back(v.at(i).at(j));     
        }
        
        if (q.front() == ";")
        {
            Semicolon s = new Semicolon(current);
            objects.push_back(s);
        }

        if (q.front() == "||")
        {
            Or o = new Or(current);
            objects.push_back(o);
        }
        
        if (q.front() == "&&")
        {
            And a = new And(current);
            objects.push_back(a);
        }

        q.pop();
        current.clear();
    }

    


}

<commit_msg>created constructors and fixed errors<commit_after>#include <iostream>
#include <string>
#include <boost/tokenizer.hpp>
#include <vector>
#include <queue>

using namespace std;
using namespace boost;

class Connectors
{
    private:
        bool state;
    public:
        void setbool(bool b)
        {
            state = b;
        }
        bool getbool()
        {
            return state;
        }
        virtual void  run(string arr[]) = 0;  
};

class Semicolon : public Connectors
{
    private:
         const char *arr[100];
    public:
    Semicolon(vector<string> v)
    {
        setbool(1);
        for (unsigned i = 0; i < v.size(); ++i)
        {
            arr[i] = v.at(i).c_str();    
        }   
    }
    virtual void run(string arr[])
    {

    }
};

class And : public Connectors
{
    private:
        const char *arr[100];
    public:
    And(vector<string> v)
    {
        setbool(1);
        for (unsigned i = 0; i < v.size(); ++i)
        {
            arr[i] = v.at(i).c_str();    
        }   
    }
    virtual void run(string arr[])
    {

    }

};

class Or : public Connectors
{
    private:
        const char *arr[100];
    public:
    Or(vector<string> v)
    {
        setbool(1);
        for (unsigned i = 0; i < v.size(); ++i)
        {
            arr[i] = v.at(i).c_str();    
        }   
    }

    virtual void run(string arr[])
    {

    }

};



int main()
{

    cout << "$ ";           //outputs terminal $
    string input;
    getline(cin, input);    //gets user input

    //containers we'll use for storage
    vector< vector<string> > v;
    vector<Connectors*> objects;
    queue<string> q;        
    
    bool check = 0;
    int column = 0;
    
    typedef tokenizer<char_separator<char> > tokenizer;
    char_separator<char> sep(" ", ";");
    tokenizer tokens(input, sep);    

    

    for (tokenizer::iterator itr = tokens.begin(); itr != tokens.end(); ++itr)
    {
        if (*itr == ";" && "||" && "&&")
        {
            q.push(*itr);
            v.at(column).push_back(NULL);
            column = column + 1;                             
        }
        else if (*itr == "#")
        {
            break;          //if commented, break out of loop
        }
        else
        {
            v.at(column).push_back(*itr);
        }
    }

    vector<string> current;

    for (unsigned i = 0; i < v.at(i).size(); ++i)
    {
        for (unsigned j = 0; j < v.at(i).at(j).size(); ++j)
        {
            current.push_back(v.at(i).at(j));     
        }
        
        if (q.front() == ";")
        {
            objects.push_back(new Semicolon(current));
        }

        if (q.front() == "||")
        {
            objects.push_back(new Or(current));
        }
        
        if (q.front() == "&&")
        {
            objects.push_back(new And(current));
        }

        q.pop();
        current.clear();
    }



}


{'fraction_non_alphanumeric': 0.14883897982489533, 'fraction_numerical': 0.0059002664636467455, 'mean_word_length': 1.3692515779981966, 'pattern_counts': {'":': 0, '<': 43, '<?xml version=': 0, '>': 32, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3655753', 'n_tokens_mistral': 1740, 'n_tokens_neox': 1694, 'n_words': 375}