Linux worldls-302.fr.planethoster.net 4.18.0-553.8.1.lve.el7h.x86_64 #1 SMP Thu Jul 4 15:19:33 UTC 2024 x86_64
LiteSpeed
Server IP : 10.185.0.203 & Your IP : 216.73.217.14
Domains :
Cant Read [ /etc/named.conf ]
User : gerathty
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
lib /
python2.7 /
site-packages /
pygments /
lexers /
Delete
Unzip
Name
Size
Permission
Date
Action
__init__.py
8.53
KB
-rw-r--r--
2014-11-10 20:17
__init__.pyc
8.81
KB
-rw-r--r--
2016-08-02 10:51
__init__.pyo
8.81
KB
-rw-r--r--
2016-08-02 10:51
_asy_builtins.py
26.68
KB
-rw-r--r--
2014-11-10 20:17
_asy_builtins.pyc
33.16
KB
-rw-r--r--
2016-08-02 10:51
_asy_builtins.pyo
33.16
KB
-rw-r--r--
2016-08-02 10:51
_cl_builtins.py
13.72
KB
-rw-r--r--
2014-11-10 20:17
_cl_builtins.pyc
25.61
KB
-rw-r--r--
2016-08-02 10:51
_cl_builtins.pyo
25.61
KB
-rw-r--r--
2016-08-02 10:51
_cocoa_builtins.py
38.79
KB
-rw-r--r--
2014-11-10 20:17
_cocoa_builtins.pyc
45.31
KB
-rw-r--r--
2016-08-02 10:51
_cocoa_builtins.pyo
45.31
KB
-rw-r--r--
2016-08-02 10:51
_lasso_builtins.py
127.85
KB
-rw-r--r--
2014-11-10 20:17
_lasso_builtins.pyc
118.34
KB
-rw-r--r--
2016-08-02 10:51
_lasso_builtins.pyo
118.34
KB
-rw-r--r--
2016-08-02 10:51
_lua_builtins.py
6.8
KB
-rw-r--r--
2014-11-10 20:17
_lua_builtins.pyc
8.99
KB
-rw-r--r--
2016-08-02 10:51
_lua_builtins.pyo
8.99
KB
-rw-r--r--
2016-08-02 10:51
_mapping.py
44.55
KB
-rw-r--r--
2014-11-10 20:17
_mapping.pyc
64.94
KB
-rw-r--r--
2016-08-02 10:51
_mapping.pyo
64.94
KB
-rw-r--r--
2016-08-02 10:51
_mql_builtins.py
24.16
KB
-rw-r--r--
2014-11-10 20:17
_mql_builtins.pyc
29.02
KB
-rw-r--r--
2016-08-02 10:51
_mql_builtins.pyo
29.02
KB
-rw-r--r--
2016-08-02 10:51
_openedge_builtins.py
47.23
KB
-rw-r--r--
2014-11-10 20:17
_openedge_builtins.pyc
80.16
KB
-rw-r--r--
2016-08-02 10:51
_openedge_builtins.pyo
80.16
KB
-rw-r--r--
2016-08-02 10:51
_php_builtins.py
150.75
KB
-rw-r--r--
2014-11-10 20:17
_php_builtins.pyc
135.12
KB
-rw-r--r--
2016-08-02 10:51
_php_builtins.pyo
135.12
KB
-rw-r--r--
2016-08-02 10:51
_postgres_builtins.py
10.95
KB
-rw-r--r--
2014-11-10 20:17
_postgres_builtins.pyc
13.16
KB
-rw-r--r--
2016-08-02 10:51
_postgres_builtins.pyo
13.16
KB
-rw-r--r--
2016-08-02 10:51
_scilab_builtins.py
51.18
KB
-rw-r--r--
2014-11-10 20:17
_scilab_builtins.pyc
72.28
KB
-rw-r--r--
2016-08-02 10:51
_scilab_builtins.pyo
72.28
KB
-rw-r--r--
2016-08-02 10:51
_sourcemod_builtins.py
26.48
KB
-rw-r--r--
2014-11-10 20:17
_sourcemod_builtins.pyc
31.44
KB
-rw-r--r--
2016-08-02 10:51
_sourcemod_builtins.pyo
31.44
KB
-rw-r--r--
2016-08-02 10:51
_stan_builtins.py
9.16
KB
-rw-r--r--
2015-01-20 07:56
_stan_builtins.pyc
11.26
KB
-rw-r--r--
2016-08-02 10:51
_stan_builtins.pyo
11.26
KB
-rw-r--r--
2016-08-02 10:51
_vim_builtins.py
55.75
KB
-rw-r--r--
2014-11-10 20:17
_vim_builtins.pyc
63.17
KB
-rw-r--r--
2016-08-02 10:51
_vim_builtins.pyo
63.17
KB
-rw-r--r--
2016-08-02 10:51
actionscript.py
10.92
KB
-rw-r--r--
2014-11-10 20:17
actionscript.pyc
11.51
KB
-rw-r--r--
2016-08-02 10:51
actionscript.pyo
11.51
KB
-rw-r--r--
2016-08-02 10:51
agile.py
900
B
-rw-r--r--
2014-11-10 20:17
agile.pyc
1.4
KB
-rw-r--r--
2016-08-02 10:51
agile.pyo
1.4
KB
-rw-r--r--
2016-08-02 10:51
algebra.py
6.02
KB
-rw-r--r--
2014-11-10 20:17
algebra.pyc
6.75
KB
-rw-r--r--
2016-08-02 10:51
algebra.pyo
6.75
KB
-rw-r--r--
2016-08-02 10:51
ambient.py
2.5
KB
-rw-r--r--
2014-11-10 20:17
ambient.pyc
2.87
KB
-rw-r--r--
2016-08-02 10:51
ambient.pyo
2.87
KB
-rw-r--r--
2016-08-02 10:51
apl.py
3.09
KB
-rw-r--r--
2014-11-10 20:17
apl.pyc
1.99
KB
-rw-r--r--
2016-08-02 10:51
apl.pyo
1.99
KB
-rw-r--r--
2016-08-02 10:51
asm.py
14.25
KB
-rw-r--r--
2014-11-10 20:17
asm.pyc
12.46
KB
-rw-r--r--
2016-08-02 10:51
asm.pyo
12.46
KB
-rw-r--r--
2016-08-02 10:51
automation.py
19.17
KB
-rw-r--r--
2014-11-10 20:17
automation.pyc
16.58
KB
-rw-r--r--
2016-08-02 10:51
automation.pyo
16.58
KB
-rw-r--r--
2016-08-02 10:51
basic.py
19.83
KB
-rw-r--r--
2014-11-10 20:17
basic.pyc
17.8
KB
-rw-r--r--
2016-08-02 10:51
basic.pyo
17.8
KB
-rw-r--r--
2016-08-02 10:51
business.py
26.07
KB
-rw-r--r--
2014-11-10 20:17
business.pyc
24.59
KB
-rw-r--r--
2016-08-02 10:51
business.pyo
24.59
KB
-rw-r--r--
2016-08-02 10:51
c_cpp.py
9.19
KB
-rw-r--r--
2014-11-10 20:17
c_cpp.pyc
8.84
KB
-rw-r--r--
2016-08-02 10:51
c_cpp.pyo
8.84
KB
-rw-r--r--
2016-08-02 10:51
c_like.py
15.8
KB
-rw-r--r--
2014-11-10 20:17
c_like.pyc
17.26
KB
-rw-r--r--
2016-08-02 10:51
c_like.pyo
17.26
KB
-rw-r--r--
2016-08-02 10:51
chapel.py
3.26
KB
-rw-r--r--
2014-11-10 20:17
chapel.pyc
3.22
KB
-rw-r--r--
2016-08-02 10:51
chapel.pyo
3.22
KB
-rw-r--r--
2016-08-02 10:51
compiled.py
1.3
KB
-rw-r--r--
2014-11-10 20:17
compiled.pyc
2.07
KB
-rw-r--r--
2016-08-02 10:51
compiled.pyo
2.07
KB
-rw-r--r--
2016-08-02 10:51
configs.py
19.58
KB
-rw-r--r--
2014-11-10 20:17
configs.pyc
19.19
KB
-rw-r--r--
2016-08-02 10:51
configs.pyo
19.19
KB
-rw-r--r--
2016-08-02 10:51
console.py
4.02
KB
-rw-r--r--
2014-11-14 18:47
console.pyc
3.85
KB
-rw-r--r--
2016-08-02 10:51
console.pyo
3.85
KB
-rw-r--r--
2016-08-02 10:51
css.py
23.58
KB
-rw-r--r--
2014-11-10 20:17
css.pyc
28.89
KB
-rw-r--r--
2016-08-02 10:51
css.pyo
28.89
KB
-rw-r--r--
2016-08-02 10:51
d.py
9.31
KB
-rw-r--r--
2014-11-10 20:17
d.pyc
7.94
KB
-rw-r--r--
2016-08-02 10:51
d.pyo
7.94
KB
-rw-r--r--
2016-08-02 10:51
dalvik.py
4.32
KB
-rw-r--r--
2014-11-10 20:17
dalvik.pyc
3.71
KB
-rw-r--r--
2016-08-02 10:51
dalvik.pyo
3.71
KB
-rw-r--r--
2016-08-02 10:51
data.py
17.85
KB
-rw-r--r--
2015-01-20 07:47
data.pyc
11.92
KB
-rw-r--r--
2016-08-02 10:51
data.pyo
11.92
KB
-rw-r--r--
2016-08-02 10:51
diff.py
3.17
KB
-rw-r--r--
2014-11-10 20:17
diff.pyc
3.26
KB
-rw-r--r--
2016-08-02 10:51
diff.pyo
3.26
KB
-rw-r--r--
2016-08-02 10:51
dotnet.py
26.66
KB
-rw-r--r--
2014-11-14 18:47
dotnet.pyc
22.08
KB
-rw-r--r--
2016-08-02 10:51
dotnet.pyo
22.08
KB
-rw-r--r--
2016-08-02 10:51
dsls.py
18.33
KB
-rw-r--r--
2014-11-10 20:17
dsls.pyc
17.78
KB
-rw-r--r--
2016-08-02 10:51
dsls.pyo
17.78
KB
-rw-r--r--
2016-08-02 10:51
dylan.py
10.18
KB
-rw-r--r--
2014-11-10 20:17
dylan.pyc
11.31
KB
-rw-r--r--
2016-08-02 10:51
dylan.pyo
11.31
KB
-rw-r--r--
2016-08-02 10:51
ecl.py
5.74
KB
-rw-r--r--
2014-11-10 20:17
ecl.pyc
6.76
KB
-rw-r--r--
2016-08-02 10:51
ecl.pyo
6.76
KB
-rw-r--r--
2016-08-02 10:51
eiffel.py
2.42
KB
-rw-r--r--
2014-11-10 20:17
eiffel.pyc
2.96
KB
-rw-r--r--
2016-08-02 10:51
eiffel.pyo
2.96
KB
-rw-r--r--
2016-08-02 10:51
erlang.py
17.77
KB
-rw-r--r--
2014-11-10 20:17
erlang.pyc
16.98
KB
-rw-r--r--
2016-08-02 10:51
erlang.pyo
16.98
KB
-rw-r--r--
2016-08-02 10:51
esoteric.py
3.38
KB
-rw-r--r--
2014-11-10 20:17
esoteric.pyc
3.46
KB
-rw-r--r--
2016-08-02 10:51
esoteric.pyo
3.46
KB
-rw-r--r--
2016-08-02 10:51
factor.py
17.45
KB
-rw-r--r--
2014-11-10 20:17
factor.pyc
23.89
KB
-rw-r--r--
2016-08-02 10:51
factor.pyo
23.89
KB
-rw-r--r--
2016-08-02 10:51
fantom.py
9.75
KB
-rw-r--r--
2014-11-10 20:17
fantom.pyc
5.9
KB
-rw-r--r--
2016-08-02 10:51
fantom.pyo
5.9
KB
-rw-r--r--
2016-08-02 10:51
felix.py
9.19
KB
-rw-r--r--
2014-11-10 20:17
felix.pyc
7.94
KB
-rw-r--r--
2016-08-02 10:51
felix.pyo
7.94
KB
-rw-r--r--
2016-08-02 10:51
fortran.py
8.26
KB
-rw-r--r--
2014-11-10 20:17
fortran.pyc
9.78
KB
-rw-r--r--
2016-08-02 10:51
fortran.pyo
9.78
KB
-rw-r--r--
2016-08-02 10:51
foxpro.py
25.62
KB
-rw-r--r--
2014-11-10 20:17
foxpro.pyc
19.9
KB
-rw-r--r--
2016-08-02 10:51
foxpro.pyo
19.9
KB
-rw-r--r--
2016-08-02 10:51
functional.py
687
B
-rw-r--r--
2014-11-10 20:17
functional.pyc
1.05
KB
-rw-r--r--
2016-08-02 10:51
functional.pyo
1.05
KB
-rw-r--r--
2016-08-02 10:51
go.py
3.61
KB
-rw-r--r--
2014-11-10 20:17
go.pyc
3.47
KB
-rw-r--r--
2016-08-02 10:51
go.pyo
3.47
KB
-rw-r--r--
2016-08-02 10:51
graph.py
2.24
KB
-rw-r--r--
2014-11-10 20:17
graph.pyc
2.29
KB
-rw-r--r--
2016-08-02 10:51
graph.pyo
2.29
KB
-rw-r--r--
2016-08-02 10:51
graphics.py
25.23
KB
-rw-r--r--
2014-11-10 20:17
graphics.pyc
24.04
KB
-rw-r--r--
2016-08-02 10:51
graphics.pyo
24.04
KB
-rw-r--r--
2016-08-02 10:51
haskell.py
30.28
KB
-rw-r--r--
2014-11-10 20:17
haskell.pyc
23.78
KB
-rw-r--r--
2016-08-02 10:51
haskell.pyo
23.78
KB
-rw-r--r--
2016-08-02 10:51
haxe.py
30.23
KB
-rw-r--r--
2014-11-10 20:17
haxe.pyc
18.45
KB
-rw-r--r--
2016-08-02 10:51
haxe.pyo
18.45
KB
-rw-r--r--
2016-08-02 10:51
hdl.py
17.82
KB
-rw-r--r--
2014-11-10 20:17
hdl.pyc
20.02
KB
-rw-r--r--
2016-08-02 10:51
hdl.pyo
20.02
KB
-rw-r--r--
2016-08-02 10:51
html.py
18.18
KB
-rw-r--r--
2014-11-10 20:17
html.pyc
14.82
KB
-rw-r--r--
2016-08-02 10:51
html.pyo
14.82
KB
-rw-r--r--
2016-08-02 10:51
idl.py
14.19
KB
-rw-r--r--
2014-11-10 20:17
idl.pyc
18.69
KB
-rw-r--r--
2016-08-02 10:51
idl.pyo
18.69
KB
-rw-r--r--
2016-08-02 10:51
igor.py
16.47
KB
-rw-r--r--
2014-11-10 20:17
igor.pyc
20.75
KB
-rw-r--r--
2016-08-02 10:51
igor.pyo
20.75
KB
-rw-r--r--
2016-08-02 10:51
inferno.py
3.04
KB
-rw-r--r--
2014-11-10 20:17
inferno.pyc
2.92
KB
-rw-r--r--
2016-08-02 10:51
inferno.pyo
2.92
KB
-rw-r--r--
2016-08-02 10:51
installers.py
12.56
KB
-rw-r--r--
2014-11-10 20:17
installers.pyc
10.6
KB
-rw-r--r--
2016-08-02 10:51
installers.pyo
10.6
KB
-rw-r--r--
2016-08-02 10:51
int_fiction.py
54.42
KB
-rw-r--r--
2014-11-10 20:17
int_fiction.pyc
35.32
KB
-rw-r--r--
2016-08-02 10:51
int_fiction.pyo
35.32
KB
-rw-r--r--
2016-08-02 10:51
iolang.py
1.86
KB
-rw-r--r--
2014-11-10 20:17
iolang.pyc
1.94
KB
-rw-r--r--
2016-08-02 10:51
iolang.pyo
1.94
KB
-rw-r--r--
2016-08-02 10:51
javascript.py
46.41
KB
-rw-r--r--
2014-11-14 18:47
javascript.pyc
31.97
KB
-rw-r--r--
2016-08-02 10:51
javascript.pyo
31.97
KB
-rw-r--r--
2016-08-02 10:51
julia.py
6.25
KB
-rw-r--r--
2014-11-10 20:17
julia.pyc
5.66
KB
-rw-r--r--
2016-08-02 10:51
julia.pyo
5.66
KB
-rw-r--r--
2016-08-02 10:51
jvm.py
64.51
KB
-rw-r--r--
2014-11-10 20:17
jvm.pyc
50.54
KB
-rw-r--r--
2016-08-02 10:51
jvm.pyo
50.54
KB
-rw-r--r--
2016-08-02 10:51
lisp.py
76.79
KB
-rw-r--r--
2014-11-10 20:17
lisp.pyc
117.79
KB
-rw-r--r--
2016-08-02 10:51
lisp.pyo
117.79
KB
-rw-r--r--
2016-08-02 10:51
make.py
7.08
KB
-rw-r--r--
2014-11-10 20:17
make.pyc
5.32
KB
-rw-r--r--
2016-08-02 10:51
make.pyo
5.32
KB
-rw-r--r--
2016-08-02 10:51
markup.py
16.49
KB
-rw-r--r--
2014-11-10 20:17
markup.pyc
14.96
KB
-rw-r--r--
2016-08-02 10:51
markup.pyo
14.96
KB
-rw-r--r--
2016-08-02 10:51
math.py
700
B
-rw-r--r--
2014-11-10 20:17
math.pyc
1.09
KB
-rw-r--r--
2016-08-02 10:51
math.pyo
1.09
KB
-rw-r--r--
2016-08-02 10:51
matlab.py
28.46
KB
-rw-r--r--
2014-11-10 20:17
matlab.pyc
32.44
KB
-rw-r--r--
2016-08-02 10:51
matlab.pyo
32.44
KB
-rw-r--r--
2016-08-02 10:51
ml.py
27.24
KB
-rw-r--r--
2014-11-10 20:17
ml.pyc
15.28
KB
-rw-r--r--
2016-08-02 10:51
ml.pyo
15.28
KB
-rw-r--r--
2016-08-02 10:51
modeling.py
12.44
KB
-rw-r--r--
2015-01-20 07:56
modeling.pyc
11.1
KB
-rw-r--r--
2016-08-02 10:51
modeling.pyo
11.1
KB
-rw-r--r--
2016-08-02 10:51
nimrod.py
4.99
KB
-rw-r--r--
2014-11-10 20:17
nimrod.pyc
4.65
KB
-rw-r--r--
2016-08-02 10:51
nimrod.pyo
4.65
KB
-rw-r--r--
2016-08-02 10:51
nit.py
2.68
KB
-rw-r--r--
2014-11-10 20:17
nit.pyc
3.05
KB
-rw-r--r--
2016-08-02 10:51
nit.pyo
3.05
KB
-rw-r--r--
2016-08-02 10:51
nix.py
3.94
KB
-rw-r--r--
2014-11-10 20:17
nix.pyc
4.28
KB
-rw-r--r--
2016-08-02 10:51
nix.pyo
4.28
KB
-rw-r--r--
2016-08-02 10:51
objective.py
22.03
KB
-rw-r--r--
2014-11-14 08:55
objective.pyc
19.77
KB
-rw-r--r--
2016-08-02 10:51
objective.pyo
19.77
KB
-rw-r--r--
2016-08-02 10:51
ooc.py
2.93
KB
-rw-r--r--
2014-11-10 20:17
ooc.pyc
3.03
KB
-rw-r--r--
2016-08-02 10:51
ooc.pyo
3.03
KB
-rw-r--r--
2016-08-02 10:51
other.py
1.68
KB
-rw-r--r--
2014-11-10 20:17
other.pyc
2.64
KB
-rw-r--r--
2016-08-02 10:51
other.pyo
2.64
KB
-rw-r--r--
2016-08-02 10:51
parsers.py
26.94
KB
-rw-r--r--
2014-11-10 20:17
parsers.pyc
23.14
KB
-rw-r--r--
2016-08-02 10:51
parsers.pyo
23.14
KB
-rw-r--r--
2016-08-02 10:51
pascal.py
39.47
KB
-rw-r--r--
2014-11-10 20:17
pascal.pyc
35.67
KB
-rw-r--r--
2016-08-02 10:51
pascal.pyo
35.67
KB
-rw-r--r--
2016-08-02 10:51
pawn.py
7.9
KB
-rw-r--r--
2014-11-10 20:17
pawn.pyc
7.19
KB
-rw-r--r--
2016-08-02 10:51
pawn.pyo
7.19
KB
-rw-r--r--
2016-08-02 10:51
perl.py
30.82
KB
-rw-r--r--
2014-11-10 20:17
perl.pyc
30.63
KB
-rw-r--r--
2016-08-02 10:51
perl.pyo
30.63
KB
-rw-r--r--
2016-08-02 10:51
php.py
9.54
KB
-rw-r--r--
2014-11-10 20:17
php.pyc
8.6
KB
-rw-r--r--
2016-08-02 10:51
php.pyo
8.6
KB
-rw-r--r--
2016-08-02 10:51
prolog.py
11.76
KB
-rw-r--r--
2014-11-10 20:17
prolog.pyc
8.03
KB
-rw-r--r--
2016-08-02 10:51
prolog.pyo
8.03
KB
-rw-r--r--
2016-08-02 10:51
python.py
35.37
KB
-rw-r--r--
2015-01-20 07:56
python.pyc
35.33
KB
-rw-r--r--
2016-08-02 10:51
python.pyo
35.33
KB
-rw-r--r--
2016-08-02 10:51
r.py
23.2
KB
-rw-r--r--
2014-11-10 20:17
r.pyc
33.3
KB
-rw-r--r--
2016-08-02 10:51
r.pyo
33.3
KB
-rw-r--r--
2016-08-02 10:51
rdf.py
3.7
KB
-rw-r--r--
2014-11-10 20:17
rdf.pyc
3.29
KB
-rw-r--r--
2016-08-02 10:51
rdf.pyo
3.29
KB
-rw-r--r--
2016-08-02 10:51
rebol.py
18.18
KB
-rw-r--r--
2014-11-10 20:17
rebol.pyc
13.49
KB
-rw-r--r--
2016-08-02 10:51
rebol.pyo
13.49
KB
-rw-r--r--
2016-08-02 10:51
resource.py
2.84
KB
-rw-r--r--
2014-11-10 20:17
resource.pyc
2.85
KB
-rw-r--r--
2016-08-02 10:51
resource.pyo
2.85
KB
-rw-r--r--
2016-08-02 10:51
robotframework.py
18.2
KB
-rw-r--r--
2014-11-10 20:17
robotframework.pyc
25.04
KB
-rw-r--r--
2016-08-02 10:51
robotframework.pyo
25.04
KB
-rw-r--r--
2016-08-02 10:51
ruby.py
21.62
KB
-rw-r--r--
2014-11-10 20:17
ruby.pyc
17.14
KB
-rw-r--r--
2016-08-02 10:51
ruby.pyo
17.14
KB
-rw-r--r--
2016-08-02 10:51
rust.py
7.04
KB
-rw-r--r--
2014-11-10 20:17
rust.pyc
6.76
KB
-rw-r--r--
2016-08-02 10:51
rust.pyo
6.76
KB
-rw-r--r--
2016-08-02 10:51
scripting.py
54.28
KB
-rw-r--r--
2014-11-10 20:17
scripting.pyc
59.24
KB
-rw-r--r--
2016-08-02 10:51
scripting.pyo
59.24
KB
-rw-r--r--
2016-08-02 10:51
shell.py
15.42
KB
-rw-r--r--
2014-11-10 20:17
shell.pyc
12.79
KB
-rw-r--r--
2016-08-02 10:51
shell.pyo
12.79
KB
-rw-r--r--
2016-08-02 10:51
smalltalk.py
7.05
KB
-rw-r--r--
2014-11-10 20:17
smalltalk.pyc
5.24
KB
-rw-r--r--
2016-08-02 10:51
smalltalk.pyo
5.24
KB
-rw-r--r--
2016-08-02 10:51
snobol.py
2.69
KB
-rw-r--r--
2014-11-10 20:17
snobol.pyc
2.27
KB
-rw-r--r--
2016-08-02 10:51
snobol.pyo
2.27
KB
-rw-r--r--
2016-08-02 10:51
special.py
3
KB
-rw-r--r--
2014-11-10 20:17
special.pyc
3.66
KB
-rw-r--r--
2016-08-02 10:51
special.pyo
3.66
KB
-rw-r--r--
2016-08-02 10:51
sql.py
25.32
KB
-rw-r--r--
2014-11-10 20:17
sql.pyc
26.32
KB
-rw-r--r--
2016-08-02 10:51
sql.pyo
26.26
KB
-rw-r--r--
2016-08-02 10:51
tcl.py
5.27
KB
-rw-r--r--
2014-11-10 20:17
tcl.pyc
5.27
KB
-rw-r--r--
2016-08-02 10:51
tcl.pyo
5.27
KB
-rw-r--r--
2016-08-02 10:51
templates.py
68.1
KB
-rw-r--r--
2014-11-14 18:47
templates.pyc
71.67
KB
-rw-r--r--
2016-08-02 10:51
templates.pyo
71.67
KB
-rw-r--r--
2016-08-02 10:51
testing.py
8.5
KB
-rw-r--r--
2014-11-10 20:17
testing.pyc
7.25
KB
-rw-r--r--
2016-08-02 10:51
testing.pyo
7.25
KB
-rw-r--r--
2016-08-02 10:51
text.py
977
B
-rw-r--r--
2014-11-10 20:17
text.pyc
1.54
KB
-rw-r--r--
2016-08-02 10:51
text.pyo
1.54
KB
-rw-r--r--
2016-08-02 10:51
textedit.py
5.92
KB
-rw-r--r--
2014-11-10 20:17
textedit.pyc
5.79
KB
-rw-r--r--
2016-08-02 10:51
textedit.pyo
5.79
KB
-rw-r--r--
2016-08-02 10:51
textfmts.py
10.39
KB
-rw-r--r--
2015-01-20 07:56
textfmts.pyc
8.15
KB
-rw-r--r--
2016-08-02 10:51
textfmts.pyo
8.15
KB
-rw-r--r--
2016-08-02 10:51
theorem.py
19.14
KB
-rw-r--r--
2015-01-20 07:56
theorem.pyc
21.08
KB
-rw-r--r--
2016-08-02 10:51
theorem.pyo
21.08
KB
-rw-r--r--
2016-08-02 10:51
urbi.py
5.62
KB
-rw-r--r--
2014-11-10 20:17
urbi.pyc
5.6
KB
-rw-r--r--
2016-08-02 10:51
urbi.pyo
5.6
KB
-rw-r--r--
2016-08-02 10:51
web.py
918
B
-rw-r--r--
2014-11-10 20:17
web.pyc
1.4
KB
-rw-r--r--
2016-08-02 10:51
web.pyo
1.4
KB
-rw-r--r--
2016-08-02 10:51
webmisc.py
35.06
KB
-rw-r--r--
2014-11-10 20:17
webmisc.pyc
26.94
KB
-rw-r--r--
2016-08-02 10:51
webmisc.pyo
26.94
KB
-rw-r--r--
2016-08-02 10:51
Save
Rename
# -*- coding: utf-8 -*- """ pygments.lexers.pascal ~~~~~~~~~~~~~~~~~~~~~~ Lexers for Pascal family languages. :copyright: Copyright 2006-2014 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. """ import re from pygments.lexer import Lexer, RegexLexer, include, bygroups, words, \ using, this, default from pygments.util import get_bool_opt, get_list_opt from pygments.token import Text, Comment, Operator, Keyword, Name, String, \ Number, Punctuation, Error from pygments.scanner import Scanner __all__ = ['DelphiLexer', 'Modula2Lexer', 'AdaLexer'] class DelphiLexer(Lexer): """ For `Delphi <http://www.borland.com/delphi/>`_ (Borland Object Pascal), Turbo Pascal and Free Pascal source code. Additional options accepted: `turbopascal` Highlight Turbo Pascal specific keywords (default: ``True``). `delphi` Highlight Borland Delphi specific keywords (default: ``True``). `freepascal` Highlight Free Pascal specific keywords (default: ``True``). `units` A list of units that should be considered builtin, supported are ``System``, ``SysUtils``, ``Classes`` and ``Math``. Default is to consider all of them builtin. """ name = 'Delphi' aliases = ['delphi', 'pas', 'pascal', 'objectpascal'] filenames = ['*.pas'] mimetypes = ['text/x-pascal'] TURBO_PASCAL_KEYWORDS = ( 'absolute', 'and', 'array', 'asm', 'begin', 'break', 'case', 'const', 'constructor', 'continue', 'destructor', 'div', 'do', 'downto', 'else', 'end', 'file', 'for', 'function', 'goto', 'if', 'implementation', 'in', 'inherited', 'inline', 'interface', 'label', 'mod', 'nil', 'not', 'object', 'of', 'on', 'operator', 'or', 'packed', 'procedure', 'program', 'record', 'reintroduce', 'repeat', 'self', 'set', 'shl', 'shr', 'string', 'then', 'to', 'type', 'unit', 'until', 'uses', 'var', 'while', 'with', 'xor' ) DELPHI_KEYWORDS = ( 'as', 'class', 'except', 'exports', 'finalization', 'finally', 'initialization', 'is', 'library', 'on', 'property', 'raise', 'threadvar', 'try' ) FREE_PASCAL_KEYWORDS = ( 'dispose', 'exit', 'false', 'new', 'true' ) BLOCK_KEYWORDS = set(( 'begin', 'class', 'const', 'constructor', 'destructor', 'end', 'finalization', 'function', 'implementation', 'initialization', 'label', 'library', 'operator', 'procedure', 'program', 'property', 'record', 'threadvar', 'type', 'unit', 'uses', 'var' )) FUNCTION_MODIFIERS = set(( 'alias', 'cdecl', 'export', 'inline', 'interrupt', 'nostackframe', 'pascal', 'register', 'safecall', 'softfloat', 'stdcall', 'varargs', 'name', 'dynamic', 'near', 'virtual', 'external', 'override', 'assembler' )) # XXX: those aren't global. but currently we know no way for defining # them just for the type context. DIRECTIVES = set(( 'absolute', 'abstract', 'assembler', 'cppdecl', 'default', 'far', 'far16', 'forward', 'index', 'oldfpccall', 'private', 'protected', 'published', 'public' )) BUILTIN_TYPES = set(( 'ansichar', 'ansistring', 'bool', 'boolean', 'byte', 'bytebool', 'cardinal', 'char', 'comp', 'currency', 'double', 'dword', 'extended', 'int64', 'integer', 'iunknown', 'longbool', 'longint', 'longword', 'pansichar', 'pansistring', 'pbool', 'pboolean', 'pbyte', 'pbytearray', 'pcardinal', 'pchar', 'pcomp', 'pcurrency', 'pdate', 'pdatetime', 'pdouble', 'pdword', 'pextended', 'phandle', 'pint64', 'pinteger', 'plongint', 'plongword', 'pointer', 'ppointer', 'pshortint', 'pshortstring', 'psingle', 'psmallint', 'pstring', 'pvariant', 'pwidechar', 'pwidestring', 'pword', 'pwordarray', 'pwordbool', 'real', 'real48', 'shortint', 'shortstring', 'single', 'smallint', 'string', 'tclass', 'tdate', 'tdatetime', 'textfile', 'thandle', 'tobject', 'ttime', 'variant', 'widechar', 'widestring', 'word', 'wordbool' )) BUILTIN_UNITS = { 'System': ( 'abs', 'acquireexceptionobject', 'addr', 'ansitoutf8', 'append', 'arctan', 'assert', 'assigned', 'assignfile', 'beginthread', 'blockread', 'blockwrite', 'break', 'chdir', 'chr', 'close', 'closefile', 'comptocurrency', 'comptodouble', 'concat', 'continue', 'copy', 'cos', 'dec', 'delete', 'dispose', 'doubletocomp', 'endthread', 'enummodules', 'enumresourcemodules', 'eof', 'eoln', 'erase', 'exceptaddr', 'exceptobject', 'exclude', 'exit', 'exp', 'filepos', 'filesize', 'fillchar', 'finalize', 'findclasshinstance', 'findhinstance', 'findresourcehinstance', 'flush', 'frac', 'freemem', 'get8087cw', 'getdir', 'getlasterror', 'getmem', 'getmemorymanager', 'getmodulefilename', 'getvariantmanager', 'halt', 'hi', 'high', 'inc', 'include', 'initialize', 'insert', 'int', 'ioresult', 'ismemorymanagerset', 'isvariantmanagerset', 'length', 'ln', 'lo', 'low', 'mkdir', 'move', 'new', 'odd', 'olestrtostring', 'olestrtostrvar', 'ord', 'paramcount', 'paramstr', 'pi', 'pos', 'pred', 'ptr', 'pucs4chars', 'random', 'randomize', 'read', 'readln', 'reallocmem', 'releaseexceptionobject', 'rename', 'reset', 'rewrite', 'rmdir', 'round', 'runerror', 'seek', 'seekeof', 'seekeoln', 'set8087cw', 'setlength', 'setlinebreakstyle', 'setmemorymanager', 'setstring', 'settextbuf', 'setvariantmanager', 'sin', 'sizeof', 'slice', 'sqr', 'sqrt', 'str', 'stringofchar', 'stringtoolestr', 'stringtowidechar', 'succ', 'swap', 'trunc', 'truncate', 'typeinfo', 'ucs4stringtowidestring', 'unicodetoutf8', 'uniquestring', 'upcase', 'utf8decode', 'utf8encode', 'utf8toansi', 'utf8tounicode', 'val', 'vararrayredim', 'varclear', 'widecharlentostring', 'widecharlentostrvar', 'widechartostring', 'widechartostrvar', 'widestringtoucs4string', 'write', 'writeln' ), 'SysUtils': ( 'abort', 'addexitproc', 'addterminateproc', 'adjustlinebreaks', 'allocmem', 'ansicomparefilename', 'ansicomparestr', 'ansicomparetext', 'ansidequotedstr', 'ansiextractquotedstr', 'ansilastchar', 'ansilowercase', 'ansilowercasefilename', 'ansipos', 'ansiquotedstr', 'ansisamestr', 'ansisametext', 'ansistrcomp', 'ansistricomp', 'ansistrlastchar', 'ansistrlcomp', 'ansistrlicomp', 'ansistrlower', 'ansistrpos', 'ansistrrscan', 'ansistrscan', 'ansistrupper', 'ansiuppercase', 'ansiuppercasefilename', 'appendstr', 'assignstr', 'beep', 'booltostr', 'bytetocharindex', 'bytetocharlen', 'bytetype', 'callterminateprocs', 'changefileext', 'charlength', 'chartobyteindex', 'chartobytelen', 'comparemem', 'comparestr', 'comparetext', 'createdir', 'createguid', 'currentyear', 'currtostr', 'currtostrf', 'date', 'datetimetofiledate', 'datetimetostr', 'datetimetostring', 'datetimetosystemtime', 'datetimetotimestamp', 'datetostr', 'dayofweek', 'decodedate', 'decodedatefully', 'decodetime', 'deletefile', 'directoryexists', 'diskfree', 'disksize', 'disposestr', 'encodedate', 'encodetime', 'exceptionerrormessage', 'excludetrailingbackslash', 'excludetrailingpathdelimiter', 'expandfilename', 'expandfilenamecase', 'expanduncfilename', 'extractfiledir', 'extractfiledrive', 'extractfileext', 'extractfilename', 'extractfilepath', 'extractrelativepath', 'extractshortpathname', 'fileage', 'fileclose', 'filecreate', 'filedatetodatetime', 'fileexists', 'filegetattr', 'filegetdate', 'fileisreadonly', 'fileopen', 'fileread', 'filesearch', 'fileseek', 'filesetattr', 'filesetdate', 'filesetreadonly', 'filewrite', 'finalizepackage', 'findclose', 'findcmdlineswitch', 'findfirst', 'findnext', 'floattocurr', 'floattodatetime', 'floattodecimal', 'floattostr', 'floattostrf', 'floattotext', 'floattotextfmt', 'fmtloadstr', 'fmtstr', 'forcedirectories', 'format', 'formatbuf', 'formatcurr', 'formatdatetime', 'formatfloat', 'freeandnil', 'getcurrentdir', 'getenvironmentvariable', 'getfileversion', 'getformatsettings', 'getlocaleformatsettings', 'getmodulename', 'getpackagedescription', 'getpackageinfo', 'gettime', 'guidtostring', 'incamonth', 'includetrailingbackslash', 'includetrailingpathdelimiter', 'incmonth', 'initializepackage', 'interlockeddecrement', 'interlockedexchange', 'interlockedexchangeadd', 'interlockedincrement', 'inttohex', 'inttostr', 'isdelimiter', 'isequalguid', 'isleapyear', 'ispathdelimiter', 'isvalidident', 'languages', 'lastdelimiter', 'loadpackage', 'loadstr', 'lowercase', 'msecstotimestamp', 'newstr', 'nextcharindex', 'now', 'outofmemoryerror', 'quotedstr', 'raiselastoserror', 'raiselastwin32error', 'removedir', 'renamefile', 'replacedate', 'replacetime', 'safeloadlibrary', 'samefilename', 'sametext', 'setcurrentdir', 'showexception', 'sleep', 'stralloc', 'strbufsize', 'strbytetype', 'strcat', 'strcharlength', 'strcomp', 'strcopy', 'strdispose', 'strecopy', 'strend', 'strfmt', 'stricomp', 'stringreplace', 'stringtoguid', 'strlcat', 'strlcomp', 'strlcopy', 'strlen', 'strlfmt', 'strlicomp', 'strlower', 'strmove', 'strnew', 'strnextchar', 'strpas', 'strpcopy', 'strplcopy', 'strpos', 'strrscan', 'strscan', 'strtobool', 'strtobooldef', 'strtocurr', 'strtocurrdef', 'strtodate', 'strtodatedef', 'strtodatetime', 'strtodatetimedef', 'strtofloat', 'strtofloatdef', 'strtoint', 'strtoint64', 'strtoint64def', 'strtointdef', 'strtotime', 'strtotimedef', 'strupper', 'supports', 'syserrormessage', 'systemtimetodatetime', 'texttofloat', 'time', 'timestamptodatetime', 'timestamptomsecs', 'timetostr', 'trim', 'trimleft', 'trimright', 'tryencodedate', 'tryencodetime', 'tryfloattocurr', 'tryfloattodatetime', 'trystrtobool', 'trystrtocurr', 'trystrtodate', 'trystrtodatetime', 'trystrtofloat', 'trystrtoint', 'trystrtoint64', 'trystrtotime', 'unloadpackage', 'uppercase', 'widecomparestr', 'widecomparetext', 'widefmtstr', 'wideformat', 'wideformatbuf', 'widelowercase', 'widesamestr', 'widesametext', 'wideuppercase', 'win32check', 'wraptext' ), 'Classes': ( 'activateclassgroup', 'allocatehwnd', 'bintohex', 'checksynchronize', 'collectionsequal', 'countgenerations', 'deallocatehwnd', 'equalrect', 'extractstrings', 'findclass', 'findglobalcomponent', 'getclass', 'groupdescendantswith', 'hextobin', 'identtoint', 'initinheritedcomponent', 'inttoident', 'invalidpoint', 'isuniqueglobalcomponentname', 'linestart', 'objectbinarytotext', 'objectresourcetotext', 'objecttexttobinary', 'objecttexttoresource', 'pointsequal', 'readcomponentres', 'readcomponentresex', 'readcomponentresfile', 'rect', 'registerclass', 'registerclassalias', 'registerclasses', 'registercomponents', 'registerintegerconsts', 'registernoicon', 'registernonactivex', 'smallpoint', 'startclassgroup', 'teststreamformat', 'unregisterclass', 'unregisterclasses', 'unregisterintegerconsts', 'unregistermoduleclasses', 'writecomponentresfile' ), 'Math': ( 'arccos', 'arccosh', 'arccot', 'arccoth', 'arccsc', 'arccsch', 'arcsec', 'arcsech', 'arcsin', 'arcsinh', 'arctan2', 'arctanh', 'ceil', 'comparevalue', 'cosecant', 'cosh', 'cot', 'cotan', 'coth', 'csc', 'csch', 'cycletodeg', 'cycletograd', 'cycletorad', 'degtocycle', 'degtograd', 'degtorad', 'divmod', 'doubledecliningbalance', 'ensurerange', 'floor', 'frexp', 'futurevalue', 'getexceptionmask', 'getprecisionmode', 'getroundmode', 'gradtocycle', 'gradtodeg', 'gradtorad', 'hypot', 'inrange', 'interestpayment', 'interestrate', 'internalrateofreturn', 'intpower', 'isinfinite', 'isnan', 'iszero', 'ldexp', 'lnxp1', 'log10', 'log2', 'logn', 'max', 'maxintvalue', 'maxvalue', 'mean', 'meanandstddev', 'min', 'minintvalue', 'minvalue', 'momentskewkurtosis', 'netpresentvalue', 'norm', 'numberofperiods', 'payment', 'periodpayment', 'poly', 'popnstddev', 'popnvariance', 'power', 'presentvalue', 'radtocycle', 'radtodeg', 'radtograd', 'randg', 'randomrange', 'roundto', 'samevalue', 'sec', 'secant', 'sech', 'setexceptionmask', 'setprecisionmode', 'setroundmode', 'sign', 'simpleroundto', 'sincos', 'sinh', 'slndepreciation', 'stddev', 'sum', 'sumint', 'sumofsquares', 'sumsandsquares', 'syddepreciation', 'tan', 'tanh', 'totalvariance', 'variance' ) } ASM_REGISTERS = set(( 'ah', 'al', 'ax', 'bh', 'bl', 'bp', 'bx', 'ch', 'cl', 'cr0', 'cr1', 'cr2', 'cr3', 'cr4', 'cs', 'cx', 'dh', 'di', 'dl', 'dr0', 'dr1', 'dr2', 'dr3', 'dr4', 'dr5', 'dr6', 'dr7', 'ds', 'dx', 'eax', 'ebp', 'ebx', 'ecx', 'edi', 'edx', 'es', 'esi', 'esp', 'fs', 'gs', 'mm0', 'mm1', 'mm2', 'mm3', 'mm4', 'mm5', 'mm6', 'mm7', 'si', 'sp', 'ss', 'st0', 'st1', 'st2', 'st3', 'st4', 'st5', 'st6', 'st7', 'xmm0', 'xmm1', 'xmm2', 'xmm3', 'xmm4', 'xmm5', 'xmm6', 'xmm7' )) ASM_INSTRUCTIONS = set(( 'aaa', 'aad', 'aam', 'aas', 'adc', 'add', 'and', 'arpl', 'bound', 'bsf', 'bsr', 'bswap', 'bt', 'btc', 'btr', 'bts', 'call', 'cbw', 'cdq', 'clc', 'cld', 'cli', 'clts', 'cmc', 'cmova', 'cmovae', 'cmovb', 'cmovbe', 'cmovc', 'cmovcxz', 'cmove', 'cmovg', 'cmovge', 'cmovl', 'cmovle', 'cmovna', 'cmovnae', 'cmovnb', 'cmovnbe', 'cmovnc', 'cmovne', 'cmovng', 'cmovnge', 'cmovnl', 'cmovnle', 'cmovno', 'cmovnp', 'cmovns', 'cmovnz', 'cmovo', 'cmovp', 'cmovpe', 'cmovpo', 'cmovs', 'cmovz', 'cmp', 'cmpsb', 'cmpsd', 'cmpsw', 'cmpxchg', 'cmpxchg486', 'cmpxchg8b', 'cpuid', 'cwd', 'cwde', 'daa', 'das', 'dec', 'div', 'emms', 'enter', 'hlt', 'ibts', 'icebp', 'idiv', 'imul', 'in', 'inc', 'insb', 'insd', 'insw', 'int', 'int01', 'int03', 'int1', 'int3', 'into', 'invd', 'invlpg', 'iret', 'iretd', 'iretw', 'ja', 'jae', 'jb', 'jbe', 'jc', 'jcxz', 'jcxz', 'je', 'jecxz', 'jg', 'jge', 'jl', 'jle', 'jmp', 'jna', 'jnae', 'jnb', 'jnbe', 'jnc', 'jne', 'jng', 'jnge', 'jnl', 'jnle', 'jno', 'jnp', 'jns', 'jnz', 'jo', 'jp', 'jpe', 'jpo', 'js', 'jz', 'lahf', 'lar', 'lcall', 'lds', 'lea', 'leave', 'les', 'lfs', 'lgdt', 'lgs', 'lidt', 'ljmp', 'lldt', 'lmsw', 'loadall', 'loadall286', 'lock', 'lodsb', 'lodsd', 'lodsw', 'loop', 'loope', 'loopne', 'loopnz', 'loopz', 'lsl', 'lss', 'ltr', 'mov', 'movd', 'movq', 'movsb', 'movsd', 'movsw', 'movsx', 'movzx', 'mul', 'neg', 'nop', 'not', 'or', 'out', 'outsb', 'outsd', 'outsw', 'pop', 'popa', 'popad', 'popaw', 'popf', 'popfd', 'popfw', 'push', 'pusha', 'pushad', 'pushaw', 'pushf', 'pushfd', 'pushfw', 'rcl', 'rcr', 'rdmsr', 'rdpmc', 'rdshr', 'rdtsc', 'rep', 'repe', 'repne', 'repnz', 'repz', 'ret', 'retf', 'retn', 'rol', 'ror', 'rsdc', 'rsldt', 'rsm', 'sahf', 'sal', 'salc', 'sar', 'sbb', 'scasb', 'scasd', 'scasw', 'seta', 'setae', 'setb', 'setbe', 'setc', 'setcxz', 'sete', 'setg', 'setge', 'setl', 'setle', 'setna', 'setnae', 'setnb', 'setnbe', 'setnc', 'setne', 'setng', 'setnge', 'setnl', 'setnle', 'setno', 'setnp', 'setns', 'setnz', 'seto', 'setp', 'setpe', 'setpo', 'sets', 'setz', 'sgdt', 'shl', 'shld', 'shr', 'shrd', 'sidt', 'sldt', 'smi', 'smint', 'smintold', 'smsw', 'stc', 'std', 'sti', 'stosb', 'stosd', 'stosw', 'str', 'sub', 'svdc', 'svldt', 'svts', 'syscall', 'sysenter', 'sysexit', 'sysret', 'test', 'ud1', 'ud2', 'umov', 'verr', 'verw', 'wait', 'wbinvd', 'wrmsr', 'wrshr', 'xadd', 'xbts', 'xchg', 'xlat', 'xlatb', 'xor' )) def __init__(self, **options): Lexer.__init__(self, **options) self.keywords = set() if get_bool_opt(options, 'turbopascal', True): self.keywords.update(self.TURBO_PASCAL_KEYWORDS) if get_bool_opt(options, 'delphi', True): self.keywords.update(self.DELPHI_KEYWORDS) if get_bool_opt(options, 'freepascal', True): self.keywords.update(self.FREE_PASCAL_KEYWORDS) self.builtins = set() for unit in get_list_opt(options, 'units', list(self.BUILTIN_UNITS)): self.builtins.update(self.BUILTIN_UNITS[unit]) def get_tokens_unprocessed(self, text): scanner = Scanner(text, re.DOTALL | re.MULTILINE | re.IGNORECASE) stack = ['initial'] in_function_block = False in_property_block = False was_dot = False next_token_is_function = False next_token_is_property = False collect_labels = False block_labels = set() brace_balance = [0, 0] while not scanner.eos: token = Error if stack[-1] == 'initial': if scanner.scan(r'\s+'): token = Text elif scanner.scan(r'\{.*?\}|\(\*.*?\*\)'): if scanner.match.startswith('$'): token = Comment.Preproc else: token = Comment.Multiline elif scanner.scan(r'//.*?$'): token = Comment.Single elif scanner.scan(r'[-+*\/=<>:;,.@\^]'): token = Operator # stop label highlighting on next ";" if collect_labels and scanner.match == ';': collect_labels = False elif scanner.scan(r'[\(\)\[\]]+'): token = Punctuation # abort function naming ``foo = Function(...)`` next_token_is_function = False # if we are in a function block we count the open # braces because ootherwise it's impossible to # determine the end of the modifier context if in_function_block or in_property_block: if scanner.match == '(': brace_balance[0] += 1 elif scanner.match == ')': brace_balance[0] -= 1 elif scanner.match == '[': brace_balance[1] += 1 elif scanner.match == ']': brace_balance[1] -= 1 elif scanner.scan(r'[A-Za-z_][A-Za-z_0-9]*'): lowercase_name = scanner.match.lower() if lowercase_name == 'result': token = Name.Builtin.Pseudo elif lowercase_name in self.keywords: token = Keyword # if we are in a special block and a # block ending keyword occours (and the parenthesis # is balanced) we end the current block context if (in_function_block or in_property_block) and \ lowercase_name in self.BLOCK_KEYWORDS and \ brace_balance[0] <= 0 and \ brace_balance[1] <= 0: in_function_block = False in_property_block = False brace_balance = [0, 0] block_labels = set() if lowercase_name in ('label', 'goto'): collect_labels = True elif lowercase_name == 'asm': stack.append('asm') elif lowercase_name == 'property': in_property_block = True next_token_is_property = True elif lowercase_name in ('procedure', 'operator', 'function', 'constructor', 'destructor'): in_function_block = True next_token_is_function = True # we are in a function block and the current name # is in the set of registered modifiers. highlight # it as pseudo keyword elif in_function_block and \ lowercase_name in self.FUNCTION_MODIFIERS: token = Keyword.Pseudo # if we are in a property highlight some more # modifiers elif in_property_block and \ lowercase_name in ('read', 'write'): token = Keyword.Pseudo next_token_is_function = True # if the last iteration set next_token_is_function # to true we now want this name highlighted as # function. so do that and reset the state elif next_token_is_function: # Look if the next token is a dot. If yes it's # not a function, but a class name and the # part after the dot a function name if scanner.test(r'\s*\.\s*'): token = Name.Class # it's not a dot, our job is done else: token = Name.Function next_token_is_function = False # same for properties elif next_token_is_property: token = Name.Property next_token_is_property = False # Highlight this token as label and add it # to the list of known labels elif collect_labels: token = Name.Label block_labels.add(scanner.match.lower()) # name is in list of known labels elif lowercase_name in block_labels: token = Name.Label elif lowercase_name in self.BUILTIN_TYPES: token = Keyword.Type elif lowercase_name in self.DIRECTIVES: token = Keyword.Pseudo # builtins are just builtins if the token # before isn't a dot elif not was_dot and lowercase_name in self.builtins: token = Name.Builtin else: token = Name elif scanner.scan(r"'"): token = String stack.append('string') elif scanner.scan(r'\#(\d+|\$[0-9A-Fa-f]+)'): token = String.Char elif scanner.scan(r'\$[0-9A-Fa-f]+'): token = Number.Hex elif scanner.scan(r'\d+(?![eE]|\.[^.])'): token = Number.Integer elif scanner.scan(r'\d+(\.\d+([eE][+-]?\d+)?|[eE][+-]?\d+)'): token = Number.Float else: # if the stack depth is deeper than once, pop if len(stack) > 1: stack.pop() scanner.get_char() elif stack[-1] == 'string': if scanner.scan(r"''"): token = String.Escape elif scanner.scan(r"'"): token = String stack.pop() elif scanner.scan(r"[^']*"): token = String else: scanner.get_char() stack.pop() elif stack[-1] == 'asm': if scanner.scan(r'\s+'): token = Text elif scanner.scan(r'end'): token = Keyword stack.pop() elif scanner.scan(r'\{.*?\}|\(\*.*?\*\)'): if scanner.match.startswith('$'): token = Comment.Preproc else: token = Comment.Multiline elif scanner.scan(r'//.*?$'): token = Comment.Single elif scanner.scan(r"'"): token = String stack.append('string') elif scanner.scan(r'@@[A-Za-z_][A-Za-z_0-9]*'): token = Name.Label elif scanner.scan(r'[A-Za-z_][A-Za-z_0-9]*'): lowercase_name = scanner.match.lower() if lowercase_name in self.ASM_INSTRUCTIONS: token = Keyword elif lowercase_name in self.ASM_REGISTERS: token = Name.Builtin else: token = Name elif scanner.scan(r'[-+*\/=<>:;,.@\^]+'): token = Operator elif scanner.scan(r'[\(\)\[\]]+'): token = Punctuation elif scanner.scan(r'\$[0-9A-Fa-f]+'): token = Number.Hex elif scanner.scan(r'\d+(?![eE]|\.[^.])'): token = Number.Integer elif scanner.scan(r'\d+(\.\d+([eE][+-]?\d+)?|[eE][+-]?\d+)'): token = Number.Float else: scanner.get_char() stack.pop() # save the dot!!!11 if scanner.match.strip(): was_dot = scanner.match == '.' yield scanner.start_pos, token, scanner.match or '' class Modula2Lexer(RegexLexer): """ For `Modula-2 <http://www.modula2.org/>`_ source code. Additional options that determine which keywords are highlighted: `pim` Select PIM Modula-2 dialect (default: True). `iso` Select ISO Modula-2 dialect (default: False). `objm2` Select Objective Modula-2 dialect (default: False). `gm2ext` Also highlight GNU extensions (default: False). .. versionadded:: 1.3 """ name = 'Modula-2' aliases = ['modula2', 'm2'] filenames = ['*.def', '*.mod'] mimetypes = ['text/x-modula2'] flags = re.MULTILINE | re.DOTALL tokens = { 'whitespace': [ (r'\n+', Text), # blank lines (r'\s+', Text), # whitespace ], 'identifiers': [ (r'([a-zA-Z_$][\w$]*)', Name), ], 'numliterals': [ (r'[01]+B', Number.Bin), # binary number (ObjM2) (r'[0-7]+B', Number.Oct), # octal number (PIM + ISO) (r'[0-7]+C', Number.Oct), # char code (PIM + ISO) (r'[0-9A-F]+C', Number.Hex), # char code (ObjM2) (r'[0-9A-F]+H', Number.Hex), # hexadecimal number (r'[0-9]+\.[0-9]+E[+-][0-9]+', Number.Float), # real number (r'[0-9]+\.[0-9]+', Number.Float), # real number (r'[0-9]+', Number.Integer), # decimal whole number ], 'strings': [ (r"'(\\\\|\\'|[^'])*'", String), # single quoted string (r'"(\\\\|\\"|[^"])*"', String), # double quoted string ], 'operators': [ (r'[*/+=#~&<>\^-]', Operator), (r':=', Operator), # assignment (r'@', Operator), # pointer deref (ISO) (r'\.\.', Operator), # ellipsis or range (r'`', Operator), # Smalltalk message (ObjM2) (r'::', Operator), # type conversion (ObjM2) ], 'punctuation': [ (r'[()\[\]{},.:;|]', Punctuation), ], 'comments': [ (r'//.*?\n', Comment.Single), # ObjM2 (r'/\*(.*?)\*/', Comment.Multiline), # ObjM2 (r'\(\*([^$].*?)\*\)', Comment.Multiline), # TO DO: nesting of (* ... *) comments ], 'pragmas': [ (r'\(\*\$(.*?)\*\)', Comment.Preproc), # PIM (r'<\*(.*?)\*>', Comment.Preproc), # ISO + ObjM2 ], 'root': [ include('whitespace'), include('comments'), include('pragmas'), include('identifiers'), include('numliterals'), include('strings'), include('operators'), include('punctuation'), ] } pim_reserved_words = [ # 40 reserved words 'AND', 'ARRAY', 'BEGIN', 'BY', 'CASE', 'CONST', 'DEFINITION', 'DIV', 'DO', 'ELSE', 'ELSIF', 'END', 'EXIT', 'EXPORT', 'FOR', 'FROM', 'IF', 'IMPLEMENTATION', 'IMPORT', 'IN', 'LOOP', 'MOD', 'MODULE', 'NOT', 'OF', 'OR', 'POINTER', 'PROCEDURE', 'QUALIFIED', 'RECORD', 'REPEAT', 'RETURN', 'SET', 'THEN', 'TO', 'TYPE', 'UNTIL', 'VAR', 'WHILE', 'WITH', ] pim_pervasives = [ # 31 pervasives 'ABS', 'BITSET', 'BOOLEAN', 'CAP', 'CARDINAL', 'CHAR', 'CHR', 'DEC', 'DISPOSE', 'EXCL', 'FALSE', 'FLOAT', 'HALT', 'HIGH', 'INC', 'INCL', 'INTEGER', 'LONGINT', 'LONGREAL', 'MAX', 'MIN', 'NEW', 'NIL', 'ODD', 'ORD', 'PROC', 'REAL', 'SIZE', 'TRUE', 'TRUNC', 'VAL', ] iso_reserved_words = [ # 46 reserved words 'AND', 'ARRAY', 'BEGIN', 'BY', 'CASE', 'CONST', 'DEFINITION', 'DIV', 'DO', 'ELSE', 'ELSIF', 'END', 'EXCEPT', 'EXIT', 'EXPORT', 'FINALLY', 'FOR', 'FORWARD', 'FROM', 'IF', 'IMPLEMENTATION', 'IMPORT', 'IN', 'LOOP', 'MOD', 'MODULE', 'NOT', 'OF', 'OR', 'PACKEDSET', 'POINTER', 'PROCEDURE', 'QUALIFIED', 'RECORD', 'REPEAT', 'REM', 'RETRY', 'RETURN', 'SET', 'THEN', 'TO', 'TYPE', 'UNTIL', 'VAR', 'WHILE', 'WITH', ] iso_pervasives = [ # 42 pervasives 'ABS', 'BITSET', 'BOOLEAN', 'CAP', 'CARDINAL', 'CHAR', 'CHR', 'CMPLX', 'COMPLEX', 'DEC', 'DISPOSE', 'EXCL', 'FALSE', 'FLOAT', 'HALT', 'HIGH', 'IM', 'INC', 'INCL', 'INT', 'INTEGER', 'INTERRUPTIBLE', 'LENGTH', 'LFLOAT', 'LONGCOMPLEX', 'LONGINT', 'LONGREAL', 'MAX', 'MIN', 'NEW', 'NIL', 'ODD', 'ORD', 'PROC', 'PROTECTION', 'RE', 'REAL', 'SIZE', 'TRUE', 'TRUNC', 'UNINTERRUBTIBLE', 'VAL', ] objm2_reserved_words = [ # base language, 42 reserved words 'AND', 'ARRAY', 'BEGIN', 'BY', 'CASE', 'CONST', 'DEFINITION', 'DIV', 'DO', 'ELSE', 'ELSIF', 'END', 'ENUM', 'EXIT', 'FOR', 'FROM', 'IF', 'IMMUTABLE', 'IMPLEMENTATION', 'IMPORT', 'IN', 'IS', 'LOOP', 'MOD', 'MODULE', 'NOT', 'OF', 'OPAQUE', 'OR', 'POINTER', 'PROCEDURE', 'RECORD', 'REPEAT', 'RETURN', 'SET', 'THEN', 'TO', 'TYPE', 'UNTIL', 'VAR', 'VARIADIC', 'WHILE', # OO extensions, 16 reserved words 'BYCOPY', 'BYREF', 'CLASS', 'CONTINUE', 'CRITICAL', 'INOUT', 'METHOD', 'ON', 'OPTIONAL', 'OUT', 'PRIVATE', 'PROTECTED', 'PROTOCOL', 'PUBLIC', 'SUPER', 'TRY', ] objm2_pervasives = [ # base language, 38 pervasives 'ABS', 'BITSET', 'BOOLEAN', 'CARDINAL', 'CHAR', 'CHR', 'DISPOSE', 'FALSE', 'HALT', 'HIGH', 'INTEGER', 'INRANGE', 'LENGTH', 'LONGCARD', 'LONGINT', 'LONGREAL', 'MAX', 'MIN', 'NEG', 'NEW', 'NEXTV', 'NIL', 'OCTET', 'ODD', 'ORD', 'PRED', 'PROC', 'READ', 'REAL', 'SUCC', 'TMAX', 'TMIN', 'TRUE', 'TSIZE', 'UNICHAR', 'VAL', 'WRITE', 'WRITEF', # OO extensions, 3 pervasives 'OBJECT', 'NO', 'YES', ] gnu_reserved_words = [ # 10 additional reserved words 'ASM', '__ATTRIBUTE__', '__BUILTIN__', '__COLUMN__', '__DATE__', '__FILE__', '__FUNCTION__', '__LINE__', '__MODULE__', 'VOLATILE', ] gnu_pervasives = [ # 21 identifiers, actually from pseudo-module SYSTEM # but we will highlight them as if they were pervasives 'BITSET8', 'BITSET16', 'BITSET32', 'CARDINAL8', 'CARDINAL16', 'CARDINAL32', 'CARDINAL64', 'COMPLEX32', 'COMPLEX64', 'COMPLEX96', 'COMPLEX128', 'INTEGER8', 'INTEGER16', 'INTEGER32', 'INTEGER64', 'REAL8', 'REAL16', 'REAL32', 'REAL96', 'REAL128', 'THROW', ] def __init__(self, **options): self.reserved_words = set() self.pervasives = set() # ISO Modula-2 if get_bool_opt(options, 'iso', False): self.reserved_words.update(self.iso_reserved_words) self.pervasives.update(self.iso_pervasives) # Objective Modula-2 elif get_bool_opt(options, 'objm2', False): self.reserved_words.update(self.objm2_reserved_words) self.pervasives.update(self.objm2_pervasives) # PIM Modula-2 (DEFAULT) else: self.reserved_words.update(self.pim_reserved_words) self.pervasives.update(self.pim_pervasives) # GNU extensions if get_bool_opt(options, 'gm2ext', False): self.reserved_words.update(self.gnu_reserved_words) self.pervasives.update(self.gnu_pervasives) # initialise RegexLexer.__init__(self, **options) def get_tokens_unprocessed(self, text): for index, token, value in RegexLexer.get_tokens_unprocessed(self, text): # check for reserved words and pervasives if token is Name: if value in self.reserved_words: token = Keyword.Reserved elif value in self.pervasives: token = Keyword.Pervasive # return result yield index, token, value class AdaLexer(RegexLexer): """ For Ada source code. .. versionadded:: 1.3 """ name = 'Ada' aliases = ['ada', 'ada95', 'ada2005'] filenames = ['*.adb', '*.ads', '*.ada'] mimetypes = ['text/x-ada'] flags = re.MULTILINE | re.IGNORECASE tokens = { 'root': [ (r'[^\S\n]+', Text), (r'--.*?\n', Comment.Single), (r'[^\S\n]+', Text), (r'function|procedure|entry', Keyword.Declaration, 'subprogram'), (r'(subtype|type)(\s+)(\w+)', bygroups(Keyword.Declaration, Text, Keyword.Type), 'type_def'), (r'task|protected', Keyword.Declaration), (r'(subtype)(\s+)', bygroups(Keyword.Declaration, Text)), (r'(end)(\s+)', bygroups(Keyword.Reserved, Text), 'end'), (r'(pragma)(\s+)(\w+)', bygroups(Keyword.Reserved, Text, Comment.Preproc)), (r'(true|false|null)\b', Keyword.Constant), (words(( 'Address', 'Byte', 'Boolean', 'Character', 'Controlled', 'Count', 'Cursor', 'Duration', 'File_Mode', 'File_Type', 'Float', 'Generator', 'Integer', 'Long_Float', 'Long_Integer', 'Long_Long_Float', 'Long_Long_Integer', 'Natural', 'Positive', 'Reference_Type', 'Short_Float', 'Short_Integer', 'Short_Short_Float', 'Short_Short_Integer', 'String', 'Wide_Character', 'Wide_String'), suffix=r'\b'), Keyword.Type), (r'(and(\s+then)?|in|mod|not|or(\s+else)|rem)\b', Operator.Word), (r'generic|private', Keyword.Declaration), (r'package', Keyword.Declaration, 'package'), (r'array\b', Keyword.Reserved, 'array_def'), (r'(with|use)(\s+)', bygroups(Keyword.Namespace, Text), 'import'), (r'(\w+)(\s*)(:)(\s*)(constant)', bygroups(Name.Constant, Text, Punctuation, Text, Keyword.Reserved)), (r'<<\w+>>', Name.Label), (r'(\w+)(\s*)(:)(\s*)(declare|begin|loop|for|while)', bygroups(Name.Label, Text, Punctuation, Text, Keyword.Reserved)), (words(( 'abort', 'abs', 'abstract', 'accept', 'access', 'aliased', 'all', 'array', 'at', 'begin', 'body', 'case', 'constant', 'declare', 'delay', 'delta', 'digits', 'do', 'else', 'elsif', 'end', 'entry', 'exception', 'exit', 'interface', 'for', 'goto', 'if', 'is', 'limited', 'loop', 'new', 'null', 'of', 'or', 'others', 'out', 'overriding', 'pragma', 'protected', 'raise', 'range', 'record', 'renames', 'requeue', 'return', 'reverse', 'select', 'separate', 'subtype', 'synchronized', 'task', 'tagged', 'terminate', 'then', 'type', 'until', 'when', 'while', 'xor'), prefix=r'\b', suffix=r'\b'), Keyword.Reserved), (r'"[^"]*"', String), include('attribute'), include('numbers'), (r"'[^']'", String.Character), (r'(\w+)(\s*|[(,])', bygroups(Name, using(this))), (r"(<>|=>|:=|[()|:;,.'])", Punctuation), (r'[*<>+=/&-]', Operator), (r'\n+', Text), ], 'numbers': [ (r'[0-9_]+#[0-9a-f]+#', Number.Hex), (r'[0-9_]+\.[0-9_]*', Number.Float), (r'[0-9_]+', Number.Integer), ], 'attribute': [ (r"(')(\w+)", bygroups(Punctuation, Name.Attribute)), ], 'subprogram': [ (r'\(', Punctuation, ('#pop', 'formal_part')), (r';', Punctuation, '#pop'), (r'is\b', Keyword.Reserved, '#pop'), (r'"[^"]+"|\w+', Name.Function), include('root'), ], 'end': [ ('(if|case|record|loop|select)', Keyword.Reserved), ('"[^"]+"|[\w.]+', Name.Function), ('\s+', Text), (';', Punctuation, '#pop'), ], 'type_def': [ (r';', Punctuation, '#pop'), (r'\(', Punctuation, 'formal_part'), (r'with|and|use', Keyword.Reserved), (r'array\b', Keyword.Reserved, ('#pop', 'array_def')), (r'record\b', Keyword.Reserved, ('record_def')), (r'(null record)(;)', bygroups(Keyword.Reserved, Punctuation), '#pop'), include('root'), ], 'array_def': [ (r';', Punctuation, '#pop'), (r'(\w+)(\s+)(range)', bygroups(Keyword.Type, Text, Keyword.Reserved)), include('root'), ], 'record_def': [ (r'end record', Keyword.Reserved, '#pop'), include('root'), ], 'import': [ (r'[\w.]+', Name.Namespace, '#pop'), default('#pop'), ], 'formal_part': [ (r'\)', Punctuation, '#pop'), (r'\w+', Name.Variable), (r',|:[^=]', Punctuation), (r'(in|not|null|out|access)\b', Keyword.Reserved), include('root'), ], 'package': [ ('body', Keyword.Declaration), ('is\s+new|renames', Keyword.Reserved), ('is', Keyword.Reserved, '#pop'), (';', Punctuation, '#pop'), ('\(', Punctuation, 'package_instantiation'), ('([\w.]+)', Name.Class), include('root'), ], 'package_instantiation': [ (r'("[^"]+"|\w+)(\s+)(=>)', bygroups(Name.Variable, Text, Punctuation)), (r'[\w.\'"]', Text), (r'\)', Punctuation, '#pop'), include('root'), ], }