Let us walk on the 3-isogeny graph
Loading...
Searching...
No Matches
token.py
Go to the documentation of this file.
1
"""
2
pygments.token
3
~~~~~~~~~~~~~~
4
5
Basic token types and the standard tokens.
6
7
:copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
8
:license: BSD, see LICENSE for details.
9
"""
10
11
12
class
_TokenType
(tuple):
13
parent =
None
14
15
def
split(self):
16
buf = []
17
node = self
18
while
node
is
not
None
:
19
buf.append
(node)
20
node =
node.parent
21
buf.reverse
()
22
return
buf
23
24
def
__init__
(self, *args):
25
# no need to call super.__init__
26
self.
subtypes
= set()
27
28
def
__contains__
(self, val):
29
return
self
is
val
or
(
30
type(val)
is
self.__class__
and
31
val[:
len
(self)] == self
32
)
33
34
def
__getattr__
(self, val):
35
if
not
val
or
not
val[0].
isupper
():
36
return
tuple.__getattribute__
(self, val)
37
new =
_TokenType
(self + (val,))
38
setattr
(self, val, new)
39
self.
subtypes
.add(new)
40
new.parent
= self
41
return
new
42
43
def
__repr__
(self):
44
return
'Token'
+ (self
and
'.'
or
''
) +
'.'
.join(self)
45
46
def
__copy__
(self):
47
# These instances are supposed to be singletons
48
return
self
49
50
def
__deepcopy__
(self, memo):
51
# These instances are supposed to be singletons
52
return
self
53
54
55
Token =
_TokenType
()
56
57
# Special token types
58
Text =
Token.Text
59
Whitespace =
Text.Whitespace
60
Escape =
Token.Escape
61
Error =
Token.Error
62
# Text that doesn't belong to this lexer (e.g. HTML in PHP)
63
Other =
Token.Other
64
65
# Common token types for source code
66
Keyword =
Token.Keyword
67
Name =
Token.Name
68
Literal =
Token.Literal
69
String =
Literal.String
70
Number =
Literal.Number
71
Punctuation =
Token.Punctuation
72
Operator =
Token.Operator
73
Comment =
Token.Comment
74
75
# Generic types for non-source code
76
Generic =
Token.Generic
77
78
# String and some others are not direct children of Token.
79
# alias them:
80
Token.Token
= Token
81
Token.String
= String
82
Token.Number
= Number
83
84
85
def
is_token_subtype
(ttype, other):
86
"""
87
Return True if ``ttype`` is a subtype of ``other``.
88
89
exists for backwards compatibility. use ``ttype in other`` now.
90
"""
91
return
ttype
in
other
92
93
94
def
string_to_tokentype(s):
95
"""
96
Convert a string into a token type::
97
98
>>> string_to_token('String.Double')
99
Token.Literal.String.Double
100
>>> string_to_token('Token.Literal.Number')
101
Token.Literal.Number
102
>>> string_to_token('')
103
Token
104
105
Tokens that are already tokens are returned unchanged:
106
107
>>> string_to_token(String)
108
Token.Literal.String
109
"""
110
if
isinstance
(s, _TokenType):
111
return
s
112
if
not
s:
113
return
Token
114
node = Token
115
for
item
in
s.split
(
'.'
):
116
node =
getattr
(node, item)
117
return
node
118
119
120
# Map standard token types to short names, used in CSS class naming.
121
# If you add a new item, please be sure to run this file to perform
122
# a consistency check for duplicate values.
123
STANDARD_TYPES = {
124
Token:
''
,
125
126
Text:
''
,
127
Whitespace:
'w'
,
128
Escape:
'esc'
,
129
Error:
'err'
,
130
Other:
'x'
,
131
132
Keyword:
'k'
,
133
Keyword.Constant
:
'kc'
,
134
Keyword.Declaration
:
'kd'
,
135
Keyword.Namespace
:
'kn'
,
136
Keyword.Pseudo
:
'kp'
,
137
Keyword.Reserved
:
'kr'
,
138
Keyword.Type
:
'kt'
,
139
140
Name:
'n'
,
141
Name.Attribute
:
'na'
,
142
Name.Builtin
:
'nb'
,
143
Name.Builtin.Pseudo
:
'bp'
,
144
Name.Class
:
'nc'
,
145
Name.Constant
:
'no'
,
146
Name.Decorator
:
'nd'
,
147
Name.Entity
:
'ni'
,
148
Name.Exception
:
'ne'
,
149
Name.Function
:
'nf'
,
150
Name.Function.Magic
:
'fm'
,
151
Name.Property
:
'py'
,
152
Name.Label
:
'nl'
,
153
Name.Namespace
:
'nn'
,
154
Name.Other
:
'nx'
,
155
Name.Tag
:
'nt'
,
156
Name.Variable
:
'nv'
,
157
Name.Variable.Class
:
'vc'
,
158
Name.Variable.Global
:
'vg'
,
159
Name.Variable.Instance
:
'vi'
,
160
Name.Variable.Magic
:
'vm'
,
161
162
Literal:
'l'
,
163
Literal.Date
:
'ld'
,
164
165
String:
's'
,
166
String.Affix
:
'sa'
,
167
String.Backtick
:
'sb'
,
168
String.Char
:
'sc'
,
169
String.Delimiter
:
'dl'
,
170
String.Doc
:
'sd'
,
171
String.Double
:
's2'
,
172
String.Escape
:
'se'
,
173
String.Heredoc
:
'sh'
,
174
String.Interpol
:
'si'
,
175
String.Other
:
'sx'
,
176
String.Regex
:
'sr'
,
177
String.Single
:
's1'
,
178
String.Symbol
:
'ss'
,
179
180
Number:
'm'
,
181
Number.Bin
:
'mb'
,
182
Number.Float
:
'mf'
,
183
Number.Hex
:
'mh'
,
184
Number.Integer
:
'mi'
,
185
Number.Integer.Long
:
'il'
,
186
Number.Oct
:
'mo'
,
187
188
Operator:
'o'
,
189
Operator.Word
:
'ow'
,
190
191
Punctuation:
'p'
,
192
Punctuation.Marker
:
'pm'
,
193
194
Comment:
'c'
,
195
Comment.Hashbang
:
'ch'
,
196
Comment.Multiline
:
'cm'
,
197
Comment.Preproc
:
'cp'
,
198
Comment.PreprocFile
:
'cpf'
,
199
Comment.Single
:
'c1'
,
200
Comment.Special
:
'cs'
,
201
202
Generic:
'g'
,
203
Generic.Deleted
:
'gd'
,
204
Generic.Emph
:
'ge'
,
205
Generic.Error
:
'gr'
,
206
Generic.Heading
:
'gh'
,
207
Generic.Inserted
:
'gi'
,
208
Generic.Output
:
'go'
,
209
Generic.Prompt
:
'gp'
,
210
Generic.Strong
:
'gs'
,
211
Generic.Subheading
:
'gu'
,
212
Generic.Traceback
:
'gt'
,
213
}
pip._vendor.pygments.token._TokenType
Definition
token.py:12
pip._vendor.pygments.token._TokenType.__repr__
__repr__(self)
Definition
token.py:43
pip._vendor.pygments.token._TokenType.__contains__
__contains__(self, val)
Definition
token.py:28
pip._vendor.pygments.token._TokenType.subtypes
subtypes
Definition
token.py:26
pip._vendor.pygments.token._TokenType.__init__
__init__(self, *args)
Definition
token.py:24
pip._vendor.pygments.token._TokenType.__getattr__
__getattr__(self, val)
Definition
token.py:34
pip._vendor.pygments.token._TokenType.__deepcopy__
__deepcopy__(self, memo)
Definition
token.py:50
pip._vendor.pygments.token._TokenType.__copy__
__copy__(self)
Definition
token.py:46
pip._vendor.pygments.token.is_token_subtype
is_token_subtype(ttype, other)
Definition
token.py:85
i
for i
Definition
prime_search.m:10
venv
lib
python3.12
site-packages
pip
_vendor
pygments
token.py
Generated by
1.9.8