by::leafParser Class Reference

Parser for leaf configuration language. More...

#include <leafParser.hpp>

Inheritance diagram for by::leafParser:
by::leafTokenScanable

Public Member Functions

tstr< leafparse (const std::string &codes)
 
tstr< leafparse (const nchar *codes)
 
tstr< leafparseFromFile (const std::string &path)
 
tstr< leafparseFromFile (const nchar *path)
 
leafTokenDispatchergetDispatcher ()
 
std::vector< ncnt > & getIndents ()
 
nbool isInit () const
 
template<typename T >
void setScan ()
 
void rel ()
 
int pushState (int newState)
 
int popState ()
 
nint onScan (leafParser &ps, ZZSTYPE *val, ZZLTYPE *loc, zzscan_t scanner, nbool &isBypass) override
 
nint onTokenEndOfFile ()
 
nint onTokenColon (nint tok)
 
nint onTokenNewLine (nint tok)
 
nint onTokenComma (nint tok)
 
nint onIndent (ncnt col, nint tok)
 
nint onDedent (ncnt col, nint tok)
 
nint onIgnoreIndent (nint tok)
 
nchar onScanUnexpected (const nchar *token)
 
leafonDefBlock (leaf *stmt)
 
leafonDefBlock (leaf *blk, leaf *stmt)
 
leafonDefBlock ()
 
template<typename T >
leafonPrimitive (const T &arg)
 
verLeafonVer (const std::string &version)
 
leafonDefProp (const std::string &name, leaf &rhs)
 
leafonDefAssign (const std::string &name, leaf *rhs)
 
leafonDefOrigin (const std::string &name, leaf &blk)
 
leafonDefArray (const leaf &elem)
 
leafonDefArray (leaf &as, const leaf &elem)
 
leafonCompilationUnit (leaf *blk)
 
void onParseErr (const std::string &msg, const nchar *symbolName)
 
void report (const std::string &msg)
 
nint onScan (leafParser &ps, ZZSTYPE *val, ZZLTYPE *loc, zzscan_t scanner)
 
virtual nint onScan (leafParser &ps, ZZSTYPE *yylval, ZZLTYPE *loc, zzscan_t yyscanner, nbool &isBypass)=0
 
- Public Member Functions inherited from by::leafTokenScanable
nint onScan (leafParser &ps, ZZSTYPE *val, ZZLTYPE *loc, zzscan_t scanner)
 

Detailed Description

Parser for leaf configuration language.

Main parser class that converts leaf language source code into AST. Handles tokenization, parsing, and error reporting for the leaf configuration format.

Member Function Documentation

◆ onScan() [1/2]

nint by::leafParser::onScan ( leafParser ps,
ZZSTYPE *  val,
ZZLTYPE *  loc,
zzscan_t  scanner,
nbool &  isBypass 
)
overridevirtual

Implements by::leafTokenScanable.

◆ onScan() [2/2]

virtual nint by::leafTokenScanable::onScan ( leafParser ps,
ZZSTYPE *  yylval,
ZZLTYPE *  loc,
zzscan_t  yyscanner,
nbool &  isBypass 
)
virtual

Implements by::leafTokenScanable.


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