sisi4s
Loading...
Searching...
No Matches
Parser.hpp
Go to the documentation of this file.
1#ifndef INTERPRETER_DEFINED
2#define INTERPRETER_DEFINED
3
4#include <Data.hpp>
7#include <string>
8#include <vector>
9
10namespace sisi4s {
11
13
18template <InputFileFormat fmt>
20
25 InputFileParser(std::string const &fileName);
26
31 virtual std::vector<Algorithm *> parse() = 0;
32};
33
34template <>
36public:
37 InputFileParser(std::string const &fileName);
39 std::vector<Algorithm *> parse();
40
41protected:
42 std::string fileName;
43};
44
45template <>
47public:
48 InputFileParser(std::string const &fileName);
50
51 std::vector<Algorithm *> parse();
52
53protected:
55 std::vector<Argument> parseArguments();
59 std::string parseData();
60 std::string parseSymbolName();
64 RealData *parseReal(int64_t const sign, int64_t const integerPart);
65
69 void expectCharacter(char const character);
70
72};
73} // namespace sisi4s
74
75#endif
Definition Algorithm.hpp:26
Definition Algorithm.hpp:11
Definition Data.hpp:34
RealData * parseReal(int64_t const sign, int64_t const integerPart)
InputFileParser(std::string const &fileName)
LineNumberStream stream
Definition Parser.hpp:71
std::string fileName
Definition Parser.hpp:42
InputFileParser(std::string const &fileName)
Parser for sisi4s files specifying the calculation plan, i.e. which algorithms to use in which order.
Definition Parser.hpp:19
Wrapper for an input stream providing tracking of the current line and the current column during stre...
Definition LineNumberStream.hpp:11
Definition Data.hpp:131
Definition Data.hpp:139
Definition Data.hpp:109
Definition DefineHolesAndParticles.cxx:55
Definition Algorithm.hpp:10
InputFileFormat
Definition Parser.hpp:12
@ CC4S
Definition Parser.hpp:12
@ YAML
Definition Parser.hpp:12