Implement external functions
This commit is contained in:
@ -386,21 +386,21 @@ namespace source
|
||||
*/
|
||||
class procedure_definition : public definition
|
||||
{
|
||||
block *m_body;
|
||||
std::vector<variable_declaration *> m_parameters;
|
||||
block *m_body{ nullptr };
|
||||
|
||||
public:
|
||||
std::vector<variable_declaration *> parameters;
|
||||
|
||||
/**
|
||||
* \param position Source code position.
|
||||
* \param identifier Procedure name.
|
||||
* \param body Procedure body.
|
||||
*/
|
||||
procedure_definition(const struct position position, const std::string& identifier,
|
||||
block *body);
|
||||
block *body = nullptr);
|
||||
virtual void accept(parser_visitor *visitor) override;
|
||||
|
||||
block& body();
|
||||
std::vector<variable_declaration *>& parameters();
|
||||
block *body();
|
||||
|
||||
virtual ~procedure_definition() override;
|
||||
};
|
||||
@ -603,17 +603,14 @@ namespace source
|
||||
|
||||
class block : public node
|
||||
{
|
||||
statement *m_body;
|
||||
|
||||
public:
|
||||
std::vector<definition *> value_definitions;
|
||||
std::vector<statement *> body;
|
||||
|
||||
block(const struct position position, std::vector<definition *>&& value_definitions,
|
||||
statement *body);
|
||||
std::vector<statement *>&& body);
|
||||
virtual void accept(parser_visitor *visitor) override;
|
||||
|
||||
statement& body();
|
||||
|
||||
virtual ~block() override;
|
||||
};
|
||||
|
||||
@ -623,7 +620,7 @@ namespace source
|
||||
std::vector<definition *> type_definitions;
|
||||
|
||||
program(const struct position position, std::vector<definition *>&& type_definitions,
|
||||
std::vector<definition *>&& value_definitions, statement *body);
|
||||
std::vector<definition *>&& value_definitions, std::vector<statement *>&& body);
|
||||
virtual void accept(parser_visitor *visitor) override;
|
||||
|
||||
virtual ~program() override;
|
||||
|
Reference in New Issue
Block a user