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

Abstract base class for expression visitors. More...

#include <expr.hpp>

Inheritance diagram for ExprVisitor:
Collaboration diagram for ExprVisitor:

Public Member Functions

virtual std::any visitBinaryExpr (std::shared_ptr< Binary > expr)=0
 
virtual std::any visitGroupingExpr (std::shared_ptr< Grouping > expr)=0
 
virtual std::any visitLiteralExpr (std::shared_ptr< Literal > expr)=0
 
virtual std::any visitUnaryExpr (std::shared_ptr< Unary > expr)=0
 
virtual std::any visitAssignExpr (std::shared_ptr< Assign > expr)=0
 
virtual std::any visitVariableExpr (std::shared_ptr< Variable > expr)=0
 
virtual std::any visitLogicalExpr (std::shared_ptr< Logical > expr)=0
 
virtual ~ExprVisitor ()=default
 

Detailed Description

Abstract base class for expression visitors.

This class defines the interface for visitors that can traverse and process different types of expressions in an abstract syntax tree (AST).

Definition at line 21 of file expr.hpp.

Constructor & Destructor Documentation

◆ ~ExprVisitor()

virtual ExprVisitor::~ExprVisitor ( )
virtualdefault

Member Function Documentation

◆ visitAssignExpr()

virtual std::any ExprVisitor::visitAssignExpr ( std::shared_ptr< Assign expr)
pure virtual

Implemented in Interpreter.

◆ visitBinaryExpr()

virtual std::any ExprVisitor::visitBinaryExpr ( std::shared_ptr< Binary expr)
pure virtual

Implemented in Interpreter.

◆ visitGroupingExpr()

virtual std::any ExprVisitor::visitGroupingExpr ( std::shared_ptr< Grouping expr)
pure virtual

Implemented in Interpreter.

◆ visitLiteralExpr()

virtual std::any ExprVisitor::visitLiteralExpr ( std::shared_ptr< Literal expr)
pure virtual

Implemented in Interpreter.

◆ visitLogicalExpr()

virtual std::any ExprVisitor::visitLogicalExpr ( std::shared_ptr< Logical expr)
pure virtual

Implemented in Interpreter.

◆ visitUnaryExpr()

virtual std::any ExprVisitor::visitUnaryExpr ( std::shared_ptr< Unary expr)
pure virtual

Implemented in Interpreter.

◆ visitVariableExpr()

virtual std::any ExprVisitor::visitVariableExpr ( std::shared_ptr< Variable expr)
pure virtual

Implemented in Interpreter.


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