Gyoji Compiler
Loading...
Searching...
No Matches
Public Member Functions | List of all members
Gyoji::frontend::lowering::FunctionLabel Class Reference

A named label inside a scope. More...

#include <function-scope.hpp>

Public Member Functions

 ~FunctionLabel ()
 Move along, nothing to see here.
 

Detailed Description

A named label inside a scope.

A label represents a location in a scope that can be the target of a 'goto' statement. Labels also have associated with them a set of local variables that are currently in scope. The rule for a 'goto' statement is that you can only 'goto' a label that is in the same scope and has the same local variables defined in it. Jumping to other scopes would bring complicated behavior involving dynamically de-allocating and re-allocating variables in the scope that we would rather avoid.

By definition, a label is the start of a basic block and a 'goto' is the end of a basic block almost by definition of basic blocks.

Constructor & Destructor Documentation

◆ ~FunctionLabel()

FunctionLabel::~FunctionLabel ( )

Move along, nothing to see here.

Move along, nothing to see here.


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