CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
SLScanner.hpp
Go to the documentation of this file.
1//
2// CeresEngine - A game development framework
3//
4// Created by Rogiel Sulzbach.
5// Copyright (c) 2018-2022 Rogiel Sulzbach. All rights reserved.
6//
7
8#pragma once
9
10#include "Scanner.hpp"
11
13
14 // Common shading-language token scanner.
15 class SLScanner : public Scanner {
16 public:
17 SLScanner(Log* log = nullptr);
18
19 // Scanns the next token.
20 TokenPtr next() override;
21
22 protected:
24
25 private:
26 TokenPtr scanToken() override;
32 };
33
34} // namespace CeresEngine::ShaderCompiler
Log base class.
Definition Log.hpp:19
Definition SLScanner.hpp:15
TokenPtr scanAssignShiftRelationOp(const char chr)
virtual TokenPtr scanIdentifierOrKeyword(String &&spell)=0
Definition Scanner.hpp:29
char chr() const
Definition Scanner.hpp:135
Definition AST.hpp:33
SPtr< Token > TokenPtr
Definition Token.hpp:174
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25