Parser for leaf configuration language. More...
#include <leafParser.hpp>
Public Member Functions | |
| tstr< leaf > | parse (const std::string &codes) |
| tstr< leaf > | parse (const nchar *codes) |
| tstr< leaf > | parseFromFile (const std::string &path) |
| tstr< leaf > | parseFromFile (const nchar *path) |
| leafTokenDispatcher & | getDispatcher () |
| 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) |
| leaf * | onDefBlock (leaf *stmt) |
| leaf * | onDefBlock (leaf *blk, leaf *stmt) |
| leaf * | onDefBlock () |
| template<typename T > | |
| leaf * | onPrimitive (const T &arg) |
| verLeaf * | onVer (const std::string &version) |
| leaf * | onDefProp (const std::string &name, leaf &rhs) |
| leaf * | onDefAssign (const std::string &name, leaf *rhs) |
| leaf * | onDefOrigin (const std::string &name, leaf &blk) |
| leaf * | onDefArray (const leaf &elem) |
| leaf * | onDefArray (leaf &as, const leaf &elem) |
| leaf * | onCompilationUnit (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) |
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.
|
overridevirtual |
Implements by::leafTokenScanable.
|
virtual |
Implements by::leafTokenScanable.