로딩중...
검색중...
일치하는것 없음
by::starter 클래스 참조

Program execution starter 더 자세히 ...

#include <starter.hpp>

by::starter에 대한 상속 다이어그램 :
by::tworker< str, node > by::typeProvidable by::clonable

Public 타입

enum  logFlag3 { LOG_STRUCTURE = 1 << 7 , LOG_GRAPH_ON_EX = 1 << 8 }
 
- by::tworker< str, node >(으)로부터 상속된 Public 타입
enum  logFlag
 

Public 멤버 함수

void setArgs (const args &a)
 
void setArgs (const args *it) BY_SIDE_FUNC(setArgs)
 
argsgetArgs ()
 
const args &getArgs() const BY_CONST_FUNC(getArgs()) protected void _prepare () override
 Protected virtual method for preparation before starting the work.
 
- by::tworker< str, node >(으)로부터 상속된 Public 멤버 함수
 tworker (const errReport &rpt)
 
errReportgetReport ()
 
const errReportgetReport () const BY_CONST_FUNC(getReport()) me &setReport(errReport &rpt)
 
me & setFlag (nint newFlag)
 
me & addFlag (nint flag)
 
me & delFlag (nint clear)
 
nbool isFlag (nint flag) const
 
nint getFlag () const
 
me & setTask (const node &root)
 
me & setTask (const node *it) BY_SIDE_FUNC(it
 
nodegetTask ()
 
const nodegetTask () const BY_CONST_FUNC(getTask()) virtual void rel()
 
str work ()
 
const areagetArea () const BY_CONST_FUNC(_getArea()) nbool isOk() const
 
- by::typeProvidable(으)로부터 상속된 Public 멤버 함수
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)
 Safe cast to target type using type hierarchy information
 
const void * cast (const type &to) const BY_CONST_FUNC(cast(to)) void *cast(const type *it) BY_SIDE_FUNC(cast)
 
- by::clonable(으)로부터 상속된 Public 멤버 함수
virtual me * clone () const =0
 
virtual me * cloneDeep () const
 
virtual void onCloneDeep (const me &from)
 

정적 Public 속성

static const std::string MAIN = "main"
 

추가로 상속된 멤버들

- by::tworker< str, node >(으)로부터 상속된 Public 속성
me setTask it
 
me setTask * this
 
- by::tworker< str, node >(으)로부터 상속된 Protected 멤버 함수
void _report (baseErr *e)
 
virtual void _onEndWork ()
 Protected virtual method called after the work is completed.
 
virtual str _onWork ()=0
 
area_getArea ()
 
void _onEndErrReport (const errReport &rpt) const
 

상세한 설명

Program execution starter

A kind of worker that executes AST verified by verifier. If an exception occurs in is required to run an autopod during execution, it dumps logs and returns the exception. See worker for more details if unfamiliar with the worker concept.

Main Function Look Up

The main function must meet the following conditions:

  1. Found directly under root (pod)
  2. Name must be main
  3. Return type must be void or int
  4. Main function must have 1 or more statements

Usage Example

Can be used with interpreter to parse and execute byeol code.

ip.work();
if(!ip.isVerified()) return -1;
str res = starter().setTask(ip.getSubPod()).work();
if(res)
if(res->isSub<nInt>()) return *res->cast<nInt>();
return -1;
High-level interpreter for byeol language
Definition interpreter.hpp:35
Integer primitive type in byeol language
Definition nInt.hpp:13
Program execution starter
Definition starter.hpp:39
Weak reference smart pointer with type-safe access
Definition tweak.hpp:16

멤버 함수 문서화

◆ _prepare()

const args &getArgs() const BY_CONST_FUNC(getArgs()) protected void by::starter::_prepare ( )
overridevirtual

Protected virtual method for preparation before starting the work.

This hook allows derived classes to perform any necessary setup or initialization before _onWork() is invoked.

by::tworker< str, node >(으)로부터 재구현되었습니다.


이 클래스에 대한 문서화 페이지는 다음의 파일로부터 생성되었습니다.:
to Top