Arkanjo 0.1
A tool for find code duplicated functions in codebases
Loading...
Searching...
No Matches
parser.hpp
Go to the documentation of this file.
1
13#ifndef PARSER_HPP
14#define PARSER_HPP
15
16#include <string>
17#include <vector>
18#include <set>
19#include <fstream>
20#include <iomanip>
21#include <algorithm>
22using namespace std;
23
31 string path1;
32 string path2;
33 double similarity;
34
39
46 Comparation(string _path1, string _path2, double _sim);
47
53 bool operator<(const Comparation &com) const;
54
60 bool operator==(const Comparation &com) const;
61};
62
69class Parser {
70 private:
71 string PROJECT_PATH_MESSAGE = "Enter your project path:";
72 string MINIMUM_SIMILARITY_MESSAGE = "Enter minimum similarity desired on using the tool:";
73
74 ifstream fin;
75 ofstream fout;
76 double similarity_cap_;
77
83 vector<string> parser_line(string line);
84
90 bool is_an_file(string s);
91
97 string remove_formatation_from_similarity(string s);
98
104 double retrive_similarity(string s);
105
111 void parser_block(string path, set<Comparation> &comparations);
112
116 void exec();
117
118 public:
125 Parser(string input_file, string output_file, double similarity_cap);
126};
127
128#endif
Parses and transforms duplication detection tool output.
Definition parser.hpp:69
Parser(string input_file, string output_file, double similarity_cap)
Constructs parser with configuration.
Definition parser.cpp:112
Definition json.hpp:5678
Structure representing a code comparison result.
Definition parser.hpp:30
bool operator<(const Comparation &com) const
Comparison operator for sorting.
Definition parser.cpp:11
double similarity
Similarity score between the files (0-100)
Definition parser.hpp:33
Comparation()
Default constructor.
Definition parser.hpp:38
string path1
Path to first code file being compared.
Definition parser.hpp:31
bool operator==(const Comparation &com) const
Equality comparison operator.
Definition parser.cpp:21
string path2
Path to second code file being compared.
Definition parser.hpp:32