AutoPas  3.0.0
Loading...
Searching...
No Matches
RuleBasedProgramParser.h
1#pragma once
2
3#include "RuleBasedProgramTree.h"
4
5namespace autopas::RuleSyntax {
6
11 public:
16 explicit RuleBasedProgramParser(std::vector<std::pair<std::string, Define>> &initialDefinitions)
17 : _initialDefinitions(initialDefinitions) {}
18
24 std::pair<RuleBasedProgramTree, CodeGenerationContext> parse(const std::string &programCode);
25
26 private:
30 std::vector<std::pair<std::string, Define>> &_initialDefinitions;
34 std::map<std::string, DefineList> _lists;
35};
36
37} // namespace autopas::RuleSyntax
Parses a rule program and produces an AST (RuleBasedProgramTree) and a corresponding CodeGenerationCo...
Definition: RuleBasedProgramParser.h:10
std::pair< RuleBasedProgramTree, CodeGenerationContext > parse(const std::string &programCode)
Parses a rule based program given as a string.
Definition: RuleBasedProgramParser.cpp:307
RuleBasedProgramParser(std::vector< std::pair< std::string, Define > > &initialDefinitions)
Creates a RuleBasedProgramParser with some predefined variables that can be used in the program.
Definition: RuleBasedProgramParser.h:16
Namespace that contains code for evaluating the RuleBasedTuning-Strategy.
Definition: namespaces.h:122