Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
third_party
skia
src
sksl
SkSLLexer.h
Go to the documentation of this file.
1
/*
2
* Copyright 2017 Google Inc.
3
*
4
* Use of this source code is governed by a BSD-style license that can be
5
* found in the LICENSE file.
6
*/
7
/*****************************************************************************************
8
******************** This file was generated by sksllex. Do not edit. *******************
9
*****************************************************************************************/
10
#ifndef SKSL_Lexer
11
#define SKSL_Lexer
12
#include <cstdint>
13
#include <string_view>
14
namespace
SkSL
{
15
16
struct
Token
{
17
enum class
Kind
{
18
TK_END_OF_FILE
,
19
TK_FLOAT_LITERAL
,
20
TK_INT_LITERAL
,
21
TK_BAD_OCTAL
,
22
TK_TRUE_LITERAL
,
23
TK_FALSE_LITERAL
,
24
TK_IF
,
25
TK_ELSE
,
26
TK_FOR
,
27
TK_WHILE
,
28
TK_DO
,
29
TK_SWITCH
,
30
TK_CASE
,
31
TK_DEFAULT
,
32
TK_BREAK
,
33
TK_CONTINUE
,
34
TK_DISCARD
,
35
TK_RETURN
,
36
TK_IN
,
37
TK_OUT
,
38
TK_INOUT
,
39
TK_UNIFORM
,
40
TK_CONST
,
41
TK_FLAT
,
42
TK_NOPERSPECTIVE
,
43
TK_INLINE
,
44
TK_NOINLINE
,
45
TK_PURE
,
46
TK_READONLY
,
47
TK_WRITEONLY
,
48
TK_BUFFER
,
49
TK_STRUCT
,
50
TK_LAYOUT
,
51
TK_HIGHP
,
52
TK_MEDIUMP
,
53
TK_LOWP
,
54
TK_ES3
,
55
TK_EXPORT
,
56
TK_WORKGROUP
,
57
TK_PIXELLOCAL
,
58
TK_RESERVED
,
59
TK_PRIVATE_IDENTIFIER
,
60
TK_IDENTIFIER
,
61
TK_DIRECTIVE
,
62
TK_LPAREN
,
63
TK_RPAREN
,
64
TK_LBRACE
,
65
TK_RBRACE
,
66
TK_LBRACKET
,
67
TK_RBRACKET
,
68
TK_DOT
,
69
TK_COMMA
,
70
TK_PLUSPLUS
,
71
TK_MINUSMINUS
,
72
TK_PLUS
,
73
TK_MINUS
,
74
TK_STAR
,
75
TK_SLASH
,
76
TK_PERCENT
,
77
TK_SHL
,
78
TK_SHR
,
79
TK_BITWISEOR
,
80
TK_BITWISEXOR
,
81
TK_BITWISEAND
,
82
TK_BITWISENOT
,
83
TK_LOGICALOR
,
84
TK_LOGICALXOR
,
85
TK_LOGICALAND
,
86
TK_LOGICALNOT
,
87
TK_QUESTION
,
88
TK_COLON
,
89
TK_EQ
,
90
TK_EQEQ
,
91
TK_NEQ
,
92
TK_GT
,
93
TK_LT
,
94
TK_GTEQ
,
95
TK_LTEQ
,
96
TK_PLUSEQ
,
97
TK_MINUSEQ
,
98
TK_STAREQ
,
99
TK_SLASHEQ
,
100
TK_PERCENTEQ
,
101
TK_SHLEQ
,
102
TK_SHREQ
,
103
TK_BITWISEOREQ
,
104
TK_BITWISEXOREQ
,
105
TK_BITWISEANDEQ
,
106
TK_SEMICOLON
,
107
TK_WHITESPACE
,
108
TK_LINE_COMMENT
,
109
TK_BLOCK_COMMENT
,
110
TK_INVALID
,
111
TK_NONE
,
112
};
113
114
Token
() {}
115
Token
(
Kind
kind, int32_t
offset
, int32_t
length
)
116
:
fKind
(kind),
fOffset
(
offset
),
fLength
(
length
) {}
117
118
Kind
fKind
=
Kind::TK_NONE
;
119
int32_t
fOffset
= -1;
120
int32_t
fLength
= -1;
121
};
122
123
class
Lexer
{
124
public
:
125
void
start
(std::string_view
text
) {
126
fText =
text
;
127
fOffset = 0;
128
}
129
130
Token
next
();
131
132
struct
Checkpoint
{
133
int32_t
fOffset
;
134
};
135
136
Checkpoint
getCheckpoint
()
const
{
return
{fOffset}; }
137
138
void
rewindToCheckpoint
(
Checkpoint
checkpoint) { fOffset = checkpoint.
fOffset
; }
139
140
private
:
141
std::string_view fText;
142
int32_t fOffset;
143
};
144
145
}
// namespace SkSL
146
#endif
SkSL::Lexer
Definition
SkSLLexer.h:123
SkSL::Lexer::getCheckpoint
Checkpoint getCheckpoint() const
Definition
SkSLLexer.h:136
SkSL::Lexer::rewindToCheckpoint
void rewindToCheckpoint(Checkpoint checkpoint)
Definition
SkSLLexer.h:138
SkSL::Lexer::start
void start(std::string_view text)
Definition
SkSLLexer.h:125
SkSL::Lexer::next
Token next()
Definition
SkSLLexer.cpp:800
length
size_t length
Definition
key_event_handler.cc:41
text
std::u16string text
Definition
keyboard_unittests.cc:332
SkSL
Definition
SkCapabilities.h:15
offset
Point offset
Definition
stroke_path_geometry.cc:256
SkSL::Lexer::Checkpoint
Definition
SkSLLexer.h:132
SkSL::Lexer::Checkpoint::fOffset
int32_t fOffset
Definition
SkSLLexer.h:133
SkSL::Token
Definition
SkSLLexer.h:16
SkSL::Token::Token
Token()
Definition
SkSLLexer.h:114
SkSL::Token::fOffset
int32_t fOffset
Definition
SkSLLexer.h:119
SkSL::Token::Kind
Kind
Definition
SkSLLexer.h:17
SkSL::Token::Kind::TK_INVALID
@ TK_INVALID
SkSL::Token::Kind::TK_BITWISEOREQ
@ TK_BITWISEOREQ
SkSL::Token::Kind::TK_STAR
@ TK_STAR
SkSL::Token::Kind::TK_BITWISEANDEQ
@ TK_BITWISEANDEQ
SkSL::Token::Kind::TK_LT
@ TK_LT
SkSL::Token::Kind::TK_EQEQ
@ TK_EQEQ
SkSL::Token::Kind::TK_CONST
@ TK_CONST
SkSL::Token::Kind::TK_SHLEQ
@ TK_SHLEQ
SkSL::Token::Kind::TK_GTEQ
@ TK_GTEQ
SkSL::Token::Kind::TK_IF
@ TK_IF
SkSL::Token::Kind::TK_GT
@ TK_GT
SkSL::Token::Kind::TK_INOUT
@ TK_INOUT
SkSL::Token::Kind::TK_PRIVATE_IDENTIFIER
@ TK_PRIVATE_IDENTIFIER
SkSL::Token::Kind::TK_PERCENTEQ
@ TK_PERCENTEQ
SkSL::Token::Kind::TK_COMMA
@ TK_COMMA
SkSL::Token::Kind::TK_NEQ
@ TK_NEQ
SkSL::Token::Kind::TK_BITWISEXOR
@ TK_BITWISEXOR
SkSL::Token::Kind::TK_READONLY
@ TK_READONLY
SkSL::Token::Kind::TK_INLINE
@ TK_INLINE
SkSL::Token::Kind::TK_WORKGROUP
@ TK_WORKGROUP
SkSL::Token::Kind::TK_ES3
@ TK_ES3
SkSL::Token::Kind::TK_INT_LITERAL
@ TK_INT_LITERAL
SkSL::Token::Kind::TK_SLASHEQ
@ TK_SLASHEQ
SkSL::Token::Kind::TK_LOGICALOR
@ TK_LOGICALOR
SkSL::Token::Kind::TK_LOGICALAND
@ TK_LOGICALAND
SkSL::Token::Kind::TK_FLOAT_LITERAL
@ TK_FLOAT_LITERAL
SkSL::Token::Kind::TK_DISCARD
@ TK_DISCARD
SkSL::Token::Kind::TK_TRUE_LITERAL
@ TK_TRUE_LITERAL
SkSL::Token::Kind::TK_FLAT
@ TK_FLAT
SkSL::Token::Kind::TK_MINUSMINUS
@ TK_MINUSMINUS
SkSL::Token::Kind::TK_DO
@ TK_DO
SkSL::Token::Kind::TK_STRUCT
@ TK_STRUCT
SkSL::Token::Kind::TK_SHR
@ TK_SHR
SkSL::Token::Kind::TK_LBRACKET
@ TK_LBRACKET
SkSL::Token::Kind::TK_RBRACE
@ TK_RBRACE
SkSL::Token::Kind::TK_LAYOUT
@ TK_LAYOUT
SkSL::Token::Kind::TK_QUESTION
@ TK_QUESTION
SkSL::Token::Kind::TK_HIGHP
@ TK_HIGHP
SkSL::Token::Kind::TK_PERCENT
@ TK_PERCENT
SkSL::Token::Kind::TK_LOGICALXOR
@ TK_LOGICALXOR
SkSL::Token::Kind::TK_SLASH
@ TK_SLASH
SkSL::Token::Kind::TK_WHILE
@ TK_WHILE
SkSL::Token::Kind::TK_END_OF_FILE
@ TK_END_OF_FILE
SkSL::Token::Kind::TK_RESERVED
@ TK_RESERVED
SkSL::Token::Kind::TK_PLUSPLUS
@ TK_PLUSPLUS
SkSL::Token::Kind::TK_MEDIUMP
@ TK_MEDIUMP
SkSL::Token::Kind::TK_NONE
@ TK_NONE
SkSL::Token::Kind::TK_LINE_COMMENT
@ TK_LINE_COMMENT
SkSL::Token::Kind::TK_NOPERSPECTIVE
@ TK_NOPERSPECTIVE
SkSL::Token::Kind::TK_RBRACKET
@ TK_RBRACKET
SkSL::Token::Kind::TK_STAREQ
@ TK_STAREQ
SkSL::Token::Kind::TK_BREAK
@ TK_BREAK
SkSL::Token::Kind::TK_OUT
@ TK_OUT
SkSL::Token::Kind::TK_IDENTIFIER
@ TK_IDENTIFIER
SkSL::Token::Kind::TK_PLUSEQ
@ TK_PLUSEQ
SkSL::Token::Kind::TK_NOINLINE
@ TK_NOINLINE
SkSL::Token::Kind::TK_CASE
@ TK_CASE
SkSL::Token::Kind::TK_EXPORT
@ TK_EXPORT
SkSL::Token::Kind::TK_FALSE_LITERAL
@ TK_FALSE_LITERAL
SkSL::Token::Kind::TK_WHITESPACE
@ TK_WHITESPACE
SkSL::Token::Kind::TK_BLOCK_COMMENT
@ TK_BLOCK_COMMENT
SkSL::Token::Kind::TK_LTEQ
@ TK_LTEQ
SkSL::Token::Kind::TK_SEMICOLON
@ TK_SEMICOLON
SkSL::Token::Kind::TK_FOR
@ TK_FOR
SkSL::Token::Kind::TK_SHL
@ TK_SHL
SkSL::Token::Kind::TK_COLON
@ TK_COLON
SkSL::Token::Kind::TK_PURE
@ TK_PURE
SkSL::Token::Kind::TK_EQ
@ TK_EQ
SkSL::Token::Kind::TK_LPAREN
@ TK_LPAREN
SkSL::Token::Kind::TK_LOGICALNOT
@ TK_LOGICALNOT
SkSL::Token::Kind::TK_WRITEONLY
@ TK_WRITEONLY
SkSL::Token::Kind::TK_MINUS
@ TK_MINUS
SkSL::Token::Kind::TK_MINUSEQ
@ TK_MINUSEQ
SkSL::Token::Kind::TK_RETURN
@ TK_RETURN
SkSL::Token::Kind::TK_PLUS
@ TK_PLUS
SkSL::Token::Kind::TK_PIXELLOCAL
@ TK_PIXELLOCAL
SkSL::Token::Kind::TK_BITWISEOR
@ TK_BITWISEOR
SkSL::Token::Kind::TK_LOWP
@ TK_LOWP
SkSL::Token::Kind::TK_ELSE
@ TK_ELSE
SkSL::Token::Kind::TK_DOT
@ TK_DOT
SkSL::Token::Kind::TK_CONTINUE
@ TK_CONTINUE
SkSL::Token::Kind::TK_SHREQ
@ TK_SHREQ
SkSL::Token::Kind::TK_IN
@ TK_IN
SkSL::Token::Kind::TK_DEFAULT
@ TK_DEFAULT
SkSL::Token::Kind::TK_BITWISEAND
@ TK_BITWISEAND
SkSL::Token::Kind::TK_BITWISENOT
@ TK_BITWISENOT
SkSL::Token::Kind::TK_BUFFER
@ TK_BUFFER
SkSL::Token::Kind::TK_BITWISEXOREQ
@ TK_BITWISEXOREQ
SkSL::Token::Kind::TK_DIRECTIVE
@ TK_DIRECTIVE
SkSL::Token::Kind::TK_UNIFORM
@ TK_UNIFORM
SkSL::Token::Kind::TK_BAD_OCTAL
@ TK_BAD_OCTAL
SkSL::Token::Kind::TK_LBRACE
@ TK_LBRACE
SkSL::Token::Kind::TK_RPAREN
@ TK_RPAREN
SkSL::Token::Kind::TK_SWITCH
@ TK_SWITCH
SkSL::Token::fKind
Kind fKind
Definition
SkSLLexer.h:118
SkSL::Token::fLength
int32_t fLength
Definition
SkSLLexer.h:120
SkSL::Token::Token
Token(Kind kind, int32_t offset, int32_t length)
Definition
SkSLLexer.h:115
Generated on Fri Apr 26 2024 06:17:34 for Flutter Engine by
1.9.8