로딩중...
검색중...
일치하는것 없음
interpreter.hpp
이 파일의 문서화 페이지로 가기
1
2#pragma once
3
6
7namespace by {
8
35 class _nout interpreter: public tworker<tstr<pod>, pod> {
38
39 public:
40 enum logFlag2 {
41 LOG_STRUCTURE = 1 << 7,
42 LOG_GRAPH_ON_EX = 1 << 8
43 };
44
45 public:
47
48 public:
49 parser& getParser();
50 const parser& getParser() const BY_CONST_FUNC(getParser())
51 verifier& getVerifier();
52 const verifier& getVerifier() const BY_CONST_FUNC(getVerifier())
53 nbool isParsed() const;
54 nbool isVerified() const;
55 node* getSubPod();
56 const node* getSubPod() const BY_CONST_FUNC(getSubPod())
57
58 void rel() override;
59
60 protected:
61 tstr<pod> _onWork() override;
62
63 private:
64 nbool _isPodExist();
65
66 void _parse();
67 void _expand();
68 void _verify();
69 void _log() const;
70 void _showGraph(nbool showData) const;
71
72 private:
73 verifier _veri;
74 parser _pser;
75 nbool _isParsed;
76 };
77} // namespace by
High-level interpreter for byeol language
Definition interpreter.hpp:35
Base class for all AST nodes in the byeol language
Definition node.hpp:195
Parser for byeol language source code
Definition parser.hpp:126
Pod
Definition pod.hpp:21
Definition tnarr.hpp:9
Base worker template for processing tasks
Definition tworker.hpp:58
AST verifier for semantic analysis
Definition verifier.hpp:84
to Top