#ifndef DOMAIN_LIBRARY_RULE_H #define DOMAIN_LIBRARY_RULE_H #include "value.h" #include #include class Action; class Condition; class IfStmt; class Rule: AstNode { public: std::vector statements; Rule(); }; class Action: AstNode { public: enum ActionType { ERROR, WARNING }; ActionType type; StringNode message; }; class Condition { public: bool negated; IdentifierNode functionName; std::vector params; }; class IfStmt: AstNode { public: Condition condition; Action action; }; #endif // DOMAIN_LIBRARY_RULE_H