GSC Interpreter
A Turing-complete interpreter developed for a compiler course
Loading...
Searching...
No Matches
Print Class Reference

Represents a print statement. More...

#include <stmt.hpp>

Inheritance diagram for Print:
Collaboration diagram for Print:

Public Member Functions

 Print (const std::shared_ptr< Expr > &expression)
 
std::any accept (StmtVisitor &visitor) override
 
std::shared_ptr< ExprgetExpression () const
 

Private Attributes

std::shared_ptr< Exprexpression
 

Detailed Description

Represents a print statement.

Note
This class holds an expression to be printed and allows visiting it.

Definition at line 91 of file stmt.hpp.

Constructor & Destructor Documentation

◆ Print()

Print::Print ( const std::shared_ptr< Expr > &  expression)
inline

Definition at line 96 of file stmt.hpp.

97 : expression(std::move(expression)) {}
std::shared_ptr< Expr > expression
Definition stmt.hpp:93

Member Function Documentation

◆ accept()

std::any Print::accept ( StmtVisitor visitor)
inlineoverridevirtual

Implements Stmt.

Definition at line 99 of file stmt.hpp.

99 {
100 return visitor.visitPrintStmt(shared_from_this());
101 }
virtual std::any visitPrintStmt(std::shared_ptr< Print > stmt)=0

◆ getExpression()

std::shared_ptr< Expr > Print::getExpression ( ) const
inline

Definition at line 103 of file stmt.hpp.

103{ return expression; }

Member Data Documentation

◆ expression

std::shared_ptr<Expr> Print::expression
private

Definition at line 93 of file stmt.hpp.


The documentation for this class was generated from the following file: