Support else in if then conditions

This commit is contained in:
2024-12-30 23:12:47 +01:00
parent c558c3d6b4
commit 75a691134f
8 changed files with 97 additions and 17 deletions

View File

@ -361,19 +361,22 @@ namespace source
{
std::unique_ptr<expression> m_prerequisite;
std::unique_ptr<statement> m_body;
std::unique_ptr<statement> m_alternative;
public:
/**
* \param position Source code position.
* \param prerequisite Condition.
* \param body Statement executed if the condition is met.
* \param alternative Statement executed if the condition is not met.
*/
if_statement(const struct position position, std::unique_ptr<expression>&& prerequisite,
std::unique_ptr<statement>&& body);
std::unique_ptr<statement>&& body, std::unique_ptr<statement>&& alternative = nullptr);
virtual void accept(parser_visitor *visitor) override;
expression& prerequisite();
statement& body();
std::unique_ptr<statement>& alternative();
};
/**