AutoPas  3.0.0
Loading...
Searching...
No Matches
RuleBasedProgramParser.h
1#pragma once
2
3#include <any>
4
5#include "RuleBasedProgramTree.h"
6
7namespace autopas::RuleSyntax {
8
13 public:
18 explicit RuleBasedProgramParser(std::vector<std::pair<std::string, Define>> &initialDefinitions)
19 : _initialDefinitions(initialDefinitions) {}
20
26 std::pair<RuleBasedProgramTree, CodeGenerationContext> parse(const std::string &programCode);
27
28 private:
32 std::vector<std::pair<std::string, Define>> &_initialDefinitions;
36 std::map<std::string, DefineList> _lists;
37};
38
39} // namespace autopas::RuleSyntax
Parses a rule program and produces an AST (RuleBasedProgramTree) and a corresponding CodeGenerationCo...
Definition: RuleBasedProgramParser.h:12
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:18
Namespace that contains code for evaluating the RuleBasedTuning-Strategy.
Definition: namespaces.h:122