#ifndef DOMAIN_COMDELGENERATOR_H #define DOMAIN_COMDELGENERATOR_H #include "library.h" #include #include #include namespace domain { class ComdelGenerator { std::vector errors; std::vector signatures; std::optional loadAddressSpace(AddressSpaceNode node); std::optional loadComponent(ComponentNode node); std::optional loadAttribute(AttributeNode node); std::optional loadRule(RuleNode node); std::optional loadCondition(ConditionNode node); std::optional loadPopup(PopupNode node, std::string name, Value::ValueType type); std::optional loadDisplay(DisplayNode node); std::optional loadPin(PinNode pins); PinConnection loadPinConnection(PinConnectionNode node); std::optional loadConnection(ConnectionNode node); std::optional loadBus(BusNode node); public: ComdelGenerator(std::vector signatures); std::vector getErrors() { return errors; } std::optional loadLibrary(LibraryNode node, ParseContext* parseContext, std::ostream& stream); }; } // namespace domain #endif // DOMAIN_COMDELGENERATOR_H