Loading...
Searching...
No Matches
stelaTokenScan.hpp
Go to the documentation of this file.
1
2#pragma once
3
5
6typedef union ZZSTYPE ZZSTYPE;
7typedef struct lloc ZZLTYPE;
8typedef void* zzscan_t;
9
10namespace by {
11
12 class stelaParser;
13 class stelaTokenDispatcher;
14
30 class _nout stelaTokenScan: public stelaTokenScanable {
31 BY(ME(stelaTokenScan))
32
33 public:
34 using stelaTokenScanable::onScan;
35 virtual nint onScan(stelaParser& ps, ZZSTYPE* yylval, ZZLTYPE* loc, zzscan_t yyscanner,
36 nbool& isBypass) override;
37 };
38
44 class _nout stelaNormalScan: public stelaTokenScan {
46
47 public:
48 using super::onScan;
49 nint onScan(stelaParser& ps, ZZSTYPE* yylval, ZZLTYPE* loc, zzscan_t yyscanner, nbool& isBypass) override;
50
51 public:
53 };
54
60 class _nout stelaIndentScan: public stelaTokenScan {
62
63 public:
64 using super::onScan;
65 nint onScan(stelaParser& ps, ZZSTYPE* yylval, ZZLTYPE* loc, zzscan_t yyscanner, nbool& isBypass) override;
66
67 private:
68 nint _onIndent(stelaParser& ev, ncnt col, nint tok);
69 nint _onDedent(stelaParser& ev, ncnt col, nint tok);
70
71 public:
73 };
74} // namespace by
Base class for all managed instances in memlite system.
Definition instance.hpp:41
Indentation-aware token scanning mode.
Definition stelaTokenScan.hpp:60
Normal token scanning mode.
Definition stelaTokenScan.hpp:44
Parser for stela configuration language.
Definition stelaParser.hpp:39
Base class for token scanning strategies.
Definition stelaTokenScan.hpp:30
Interface for token scanning during stela parsing.
Definition stelaTokenScanable.hpp:19
Rich logging support with polymorphic type conversion.
Definition richLog.hpp:34