by::frame Class Reference

Execution frame for byeol runtime. More...

#include <frame.hpp>

Inheritance diagram for by::frame:
by::node by::dumpable by::instance by::frameInteractable by::typeProvidable by::clonable

Public Member Functions

void add (const scope &existing)
 
void add (const scope *it) BY_SIDE_FUNC(add)
 
void add (const nbicontainer &existing)
 
void add (const nbicontainer *it) BY_SIDE_FUNC(add)
 
void add (const node &owner)
 
void add (const node *it) BY_SIDE_FUNC(add)
 
virtual void add (const node *owner, const scope &s)
 
void add (const node *owner, const scope *s) BY_SIDE_FUNC(s
 
void add (owner, *s)
 
void void ())
 
virtual void addLocal (const std::string &name, const node &n)
 
void addLocal (const std::string *name, const node &n) BY_SIDE_FUNC(name
 
void addLocal void ())
 
void addLocal (const std::string &name, const node *n) BY_SIDE_FUNC(n
 
void addLocal (name, *n)
 
void void ())
 
void addLocal (const std::string *name, const node *n) BY_SIDE_FUNC(name &&n
 
void addLocal void ())
 
void addLocal (const nchar *name, const node &n) BY_SIDE_FUNC(name
 
void addLocal (std::string(name), n)
 
void void ())
 
void addLocal (const nchar *name, const node *n) BY_SIDE_FUNC(name &&n
 
void addLocal (std::string(name), *n)
 
void void ())
 
virtual void del ()
 
virtual nbool setMe (const node &obj)
 
nbool setMe (const node *it) BY_SIDE_FUNC(setMe)
 
void setMe ()
 
const nodegetMe () const BY_CONST_FUNC(getMe()) node *getMe()
 
scopegetLocals ()
 
const scopegetLocals () const BY_CONST_FUNC(getLocals()) virtual nbool addFunc(const baseFunc &new 1)
 
nbool addFunc (const baseFunc *it) BY_SIDE_FUNC(addFunc)
 
void delFunc ()
 
baseFuncgetFunc ()
 
const baseFuncgetFunc () const BY_CONST_FUNC(getFunc()) node *getMeHaving(const node &sub)
 
nodegetMeHaving (const node *it) BY_SIDE_FUNC(getMeHaving)
 
const nodegetMeHaving (const node &sub) const BY_CONST_FUNC(getMeHaving(sub)) const node *getMeHaving(const node *sub) const BY_CONST_FUNC(getMeHaving(sub)) scope *getScopeHaving(const node &sub)
 
scopegetScopeHaving (const node *it) BY_SIDE_FUNC(getScopeHaving)
 
tstr< nbicontainermySubs () const override
 
priorType prioritize (const args &a) const override
 
str run (const args &a) override
 
void rel () override
 
const std::vector< scopeRegister > & getScopeRegisters () const
 
virtual nbool setRet (const node &newRet) const
 
virtual nbool setRet (const node *it) const
 
nodegetRet () const
 
void dump () const override
 Dump object state for debugging. More...
 
- Public Member Functions inherited from by::node
me & operator[] (const std::string &name)
 
const me & operator[] (const std::string &name) const BY_CONST_FUNC(operator[](name))
 
me & operator[] (const std::string *it)
 
const me & operator[] (const std::string *it) const BY_CONST_FUNC(operator[](it))
 
me & operator[] (const nchar *name)
 
const me & operator[] (const nchar *name) const BY_CONST_FUNC(operator[](name))
 
nbool in (const node &elem) const
 
nbool in (const node *elem) const
 
virtual scopesubs ()=0
 
const scopesubs () const BY_CONST_FUNC(subs()) virtual tstr< nbicontainer > mySubs() const
 
const nodededuce (const node &it) const
 
const nodededuce (const node *it) const BY_SIDE_FUNC(deduce)
 
template<typename T >
T * sub (std::function< nbool(const std::string &, const T &)> l)
 
template<typename T >
const T * sub (std::function< nbool(const std::string &, const T &)> l) const BY_CONST_FUNC(sub< T >(l)) template< typename T
 
template<typename T = me>
const T * sub () const BY_CONST_FUNC(sub< T >()) template< typename T
 
template<typename T = me>
T * sub (const std::string *it) BY_SIDE_FUNC(sub)
 
template<typename T = me>
const T * sub (const std::string &name) const BY_CONST_FUNC(sub< T >(name)) template< typename T
 
template<typename T = me>
T * sub (const std::string *name, const args &a) BY_SIDE_FUNC(name
 
template<typename T = me>
const T * sub (const std::string &name, const args &a) const BY_CONST_FUNC(sub< T >(name
 
template<typename T = me>
const T a const T * sub (const std::string *name, const args &a) const BY_CONST_FUNC(sub< T >(name
 
template<typename T >
const T a const T a tnarr< T, strTacticsubAll (std::function< nbool(const std::string &, const T &)> l) const
 
template<typename T = me>
tnarr< T, strTacticsubAll () const
 
template<typename T = me>
tpriorities< T > subAll (const std::string &name) const
 
template<typename T = me>
tpriorities< T > subAll (const std::string *it) const BY_SIDE_FUNC(subAll< T >) template< typename T
 
template<typename T = me>
tpriorities< T > subAll (const std::string &name, const args &a) const
 
template<typename T = me>
tpriorities< T > subAll (const std::string *name, const args *a) const BY_SIDE_FUNC(name
 
tpriorities< T > subAll< T > tpriorities ())
 
template<typename T = me>
tpriorities< T > subAll (const std::string *name, const args &a) const BY_SIDE_FUNC(name
 
tpriorities< T > subAll< T > tpriorities ())
 
bool canRun (const args &a) const
 
priorType prioritize (const args *it) const BY_SIDE_FUNC(it
 
str run (const args *it) BY_SIDE_FUNC(run)
 
str run (const std::string &name, const args &a)
 
str run (const std::string &name, const args *a) BY_SIDE_FUNC(a
 
str run (name, a)
 
str str ())
 
str run (const std::string *name, const args &a) BY_SIDE_FUNC(name
 
str run str ())
 
str run (const std::string *name, const args *a) BY_SIDE_FUNC(name &&a
 
str run str ())
 
str run (const std::string &name)
 
str run (const std::string *it) BY_SIDE_FUNC(run)
 
str run ()
 
template<typename T >
nbool is () const
 
nbool is (const typeProvidable &to) const
 
nbool is (const typeProvidable *it) const BY_SIDE_FUNC(is)
 
nbool is (const type &to) const
 
nbool is (const type *it) const BY_SIDE_FUNC(is)
 
template<typename T >
tstr< T > as () const
 
str as (const typeProvidable &to) const
 
str as (const typeProvidable *it) const BY_SIDE_FUNC(as)
 
str as (const type &to) const
 
str as (const type *it) const BY_SIDE_FUNC(as)
 
template<typename T >
nbool isImpli () const
 
virtual nbool isImpli (const type &to) const
 
nbool isImpli (const typeProvidable &to) const
 
nbool isImpli (const typeProvidable *it) const BY_SIDE_FUNC(isImpli)
 
template<typename T >
tstr< T > asImpli () const
 
virtual str asImpli (const type &to) const
 
str asImpli (const typeProvidable &to) const
 
str asImpli (const typeProvidable *it) const BY_SIDE_FUNC(asImpli)
 
virtual const srcgetSrc () const
 
virtual nbool isComplete () const
 
virtual str getEval () const
 
virtual void accept (const visitInfo &i, visitor &v)
 
void inFrame (const bicontainable *args) const override
 
void outFrame () const override
 
virtual const modifiergetModifier () const
 
virtual void inFrame (const bicontainable *args) const=0
 
void inFrame () const
 
virtual void outFrame () const=0
 
- Public Member Functions inherited from by::instance
 instance (id newId)
 
 instance (const me &rhs)
 
me & operator= (const me &rhs)=default
 
void * operator new (size_t sz) noexcept
 
void operator delete (void *pt, size_t sz) noexcept
 
virtual id getId () const
 
virtual nbool isHeap () const
 
const bindTaggetBindTag () const
 
- Public Member Functions inherited from by::typeProvidable
nbool operator== (const me &rhs) const
 
nbool operator!= (const me &rhs) const
 
virtual const typegetType () const =0
 
nbool isSub (const type &it) const
 
nbool isSub (const type *it) const BY_SIDE_FUNC(isSub)
 
nbool isSub (const me &it) const
 
nbool isSub (const me *it) const BY_SIDE_FUNC(isSub)
 
nbool isSuper (const type &it) const
 
nbool isSuper (const type *it) const BY_SIDE_FUNC(isSuper)
 
nbool isSuper (const me &it) const
 
nbool isSuper (const me *it) const BY_SIDE_FUNC(isSuper)
 
template<typename T >
nint isSub () const
 
template<typename T >
nint isSuper () const
 
template<typename T >
T * cast ()
 
template<typename T >
const T * cast () const BY_CONST_FUNC(cast< T >()) virtual void *cast(const type &to)
 
const void * cast (const type &to) const BY_CONST_FUNC(cast(to)) void *cast(const type *it) BY_SIDE_FUNC(cast)
 
- Public Member Functions inherited from by::clonable
virtual me * clone () const =0
 
virtual me * cloneDeep () const
 
virtual void onCloneDeep (const me &from)
 
- Public Member Functions inherited from by::frameInteractable
void inFrame () const
 

Public Attributes

void addLocal name
 
const scope *getScopeHaving(const node &sub) const BY_CONST_FUNC(getScopeHaving(sub)) const scope *getScopeHaving(const node *sub) const BY_CONST_FUNC(getScopeHaving(sub)) using node scope subs )() override
 
- Public Attributes inherited from by::node
T sub name
 
T sub nullptr
 
tpriorities< T > subAll< T > name
 
priorType prioritize it
 
priorType prioritize NO_MATCH
 
str run name
 

Friends

struct ::frameTest
 
class baseObj
 

Additional Inherited Members

- Protected Member Functions inherited from by::node
virtual str _onRunSub (node &sub, const args &a)
 
virtual void _setSrc (const src &s)
 
void _setSrc (const src *it) BY_SIDE_FUNC(_setSrc)
 
- Protected Member Functions inherited from by::instance
nbool _setId (id new1)
 
- Static Protected Member Functions inherited from by::instance
static instancer_getMgr ()
 

Detailed Description

Execution frame for byeol runtime.

Manages execution context including scopes, variables, function calls, and return values. Provides stack-based scope management for the byeol language runtime environment.

Member Function Documentation

◆ add()

void by::frame::add ( const scope existing)
Parameters
existingdon't need to cloneChain() before passing this func.

◆ dump()

void by::frame::dump ( ) const
overridevirtual

Dump object state for debugging.

Implements by::dumpable.

◆ prioritize()

priorType by::frame::prioritize ( const args a) const
overridevirtual

Implements by::node.

◆ rel()

void by::frame::rel ( )
overridevirtual

release all holding resources and ready to be terminated.as(

Remarks
some class won't be able to reinitialize after rel() got called.

Reimplemented from by::node.

◆ run()

str by::frame::run ( const args a)
overridevirtual

Implements by::node.


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