HEX
Server: LiteSpeed
System: Linux us-phx-web1284.main-hosting.eu 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: u300739242 (300739242)
PHP: 8.2.30
Disabled: system, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
Upload Files
File: //opt/alt/python311/lib/python3.11/site-packages/pygments/lexers/__pycache__/basic.cpython-311.pyc
�

�;fUm��6�dZddlZddlmZmZmZmZmZddlm	Z	m
Z
mZmZm
Z
mZmZmZmZmZddlmZgd�ZGd�de��ZGd	�d
e��ZGd�de��ZGd
�de��ZGd�de��ZGd�de��ZGd�de��ZdS)z�
    pygments.lexers.basic
    ~~~~~~~~~~~~~~~~~~~~~

    Lexers for BASIC like languages (other than VB.net).

    :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�N)�
RegexLexer�bygroups�default�words�include)
�Comment�Error�Keyword�Name�Number�Punctuation�Operator�String�Text�
Whitespace)�_vbscript_builtins)�BlitzBasicLexer�
BlitzMaxLexer�MonkeyLexer�CbmBasicV2Lexer�QBasicLexer�
VBScriptLexer�
BBCBasicLexerc ��eZdZdZdZdZddgZdgZdgZdZ	d	Z
d
ZdZdZ
d
e
�de�de�de
�d�	ZedzZejejzZdefdeee��fdejfdejfdejdfdejfdejfdejfdejfdej fde
�d�e!fd e"fd!e#j$fd"ej%fd#e
�d$�ee&j'ee"e#j(��fd%e
�d&e
�d$�ee&j'ee&j)��feee#j*ee&j+e!ee"ee&j+e#j(ee&j+ee"�
�
feee#j,ee&j+e!ee"ee&j+e#j(ee&j+��fd'e
�d$�ee&j'ee#j(��fd(e&j+fd)e&j-fd*e&j.fe/d+d,d,�-��e#j0fe/d.d,d,�-��e&j'fd
e
�d$�e#j,fgd/ejfd0ejd1fd2ejfgd3�Z1d4S)5rz#
    For BlitzMax source code.
    �BlitzMax�http://blitzbasic.com�blitzmax�bmaxz*.bmxz
text/x-bmxz1.4z\b(Shl|Shr|Sar|Mod)\bz
@{1,2}|[!#$%]z&\b(Int|Byte|Short|Float|Double|Long)\b�	[a-z_]\w*�(z)(?:(?:([ \t]*)(z?)|([ \t]*:[ \t]*\b(?:Shl|Shr|Sar|Mod)\b)|([ \t]*)(:)([ \t]*)(?:z|(z)))(?:([ \t]*)(Ptr))?)z?((?:[ \t]|\.\.\n)*)([(])�\s+z
(\.\.)(\n)z'.*?\nz*([ \t]*)\bRem\n(\n|.)*?\s*\bEnd([ \t]*)Rem�"�string�[0-9]+\.[0-9]*(?!\.)z\.[0-9]*(?!\.)�[0-9]+�\$[0-9a-f]+�\%[10]+z(?:(?:(:)?([ \t]*)(:?z"|([+\-*/&|~]))|Or|And|Not|[=<>^]))z[(),.:\[\]]z
(?:#[\w \t]*)z(?:\?[\w \t]*)z\b(New)\b([ \t]?)([(]?)(�)z$\b(Import|Framework|Module)([ \t]+)(�\.z\b(Type|Extends)([ \t]+)(z	\b(Ptr)\bz#\b(Pi|True|False|Null|Self|Super)\bz\b(Local|Global|Const|Field)\b)�TNullMethodException�TNullFunctionException�TNullObjectException�TArrayBoundsException�TRuntimeException�\b��prefix�suffix)E�Strict�SuperStrict�Module�
ModuleInfo�End�Return�Continue�Exit�Public�Private�Var�VarPtr�Chr�Len�Asc�SizeOf�Sgn�Abs�Min�Max�New�Release�Delete�Incbin�	IncbinPtr�	IncbinLen�	Framework�Include�Import�Extern�	EndExtern�Function�EndFunction�Type�EndType�Extends�Method�	EndMethod�Abstract�Final�If�Then�Else�ElseIf�EndIf�For�To�Next�Step�EachIn�While�Wend�EndWhile�Repeat�Until�Forever�Select�Case�Default�	EndSelect�Try�Catch�EndTry�Throw�Assert�Goto�DefData�ReadData�RestoreData�""�"C?�#popz[^"]+��rootr#N)2�__name__�
__module__�__qualname__�__doc__�name�url�aliases�	filenames�	mimetypes�
version_added�
bmax_vopwords�bmax_sktypes�bmax_lktypes�	bmax_name�bmax_var�	bmax_func�re�	MULTILINE�
IGNORECASE�flagsrrrr�Single�	Multiliner�Doubler�Float�Integer�Hex�Binrr
r�Label�Preprocr
�Reserved�Class�	NamespacerRrT�Variable�Constant�Declarationr�	Exception�tokens���H/opt/alt/python311/lib/python3.11/site-packages/pygments/lexers/basic.pyrrs6���������D�
!�C��6�"�G��	�I���I��M�,�M�#�L�<�L��I�]�Y�]�]��]�]�+7�]�]�;D�]�]�]�H��7�7�I��L�2�=�(�E��Z� �
�H�H�T�:�6�6�7�
���'�
:�G�<M�N�
�&�-��*�
$�f�l�3�
���-�
���'�
�V�Z�(�
���$�
W�m�
W�
W�
W�Ya�b�
�[�)�
�t�z�*�
���0�
5��
5�
5�
5�
�X�g�&�
�K���
L�
L�
N�
N�Y�
N�
N�)�
N�
N�
N�
�X�g�&�
�G�4E�
F�
F�
H�
�����
�G�L�!)�:�{�J�!(��t�z�:�!(��z�;�H�H�
I��x�x��
�z�7�<�� *�K��W�\� $�
�J���F�F�
G�7�)�
6�
6�
6�
�X�g�&�
�D�J�
?�
?�
A��7�<�(�
3�W�5E�F�
.��0C�D�
�U�%�.3�5�B�B�B�DH�>�
S��U��(-�U�<�<�<��
�
��)�
�
�
��
�.�q9
�v�F�M�"�
�V�]�F�+�
�v�}�%�
�w@�@�F�F�Fr�rc�p�eZdZdZdZdZgd�ZddgZdgZdZ	d	Z
d
Zde�de
�d
e�d�Ze
je
jzZdefdejfdejdfdejfdejfdejfdejfdejfeddd���efdefdefde�d�ejfde�d�e e!j"eej#��fd e�d�e e!j"eej��fd!e�d"�e eeeeej#��fde�d#�e ej$ee!j%eeeej#ee�	�	fd$e��e e!j"eej$ee!j%eeeej#�	�	fd%e�d�e e!j"eej#��fd&e!j&fd'e!j'fed(dd���e!j"fee ej(ee!j%eeeej#��fgd)ejfd*ejd+fd,ejfgd-�Z)d.S)/rz%
    For BlitzBasic source code.
    �
BlitzBasicr)�
blitzbasic�b3d�bplusz*.bbz*.declsz	text/x-bb�2.0z@{1,2}|[#$%]z[a-z]\w*r z
)(?:([ \t]*)(z)|([ \t]*)([.])([ \t]*)(?:(z)))?r!z;.*?\nr"r#r$�\.[0-9]+(?!\.)r%r&r')�Shl�Shr�Sar�Mod�Or�And�NotrDrC�Handle�Intr��Str�First�Last�Before�Afterr/r0z([+\-*/~=<>^])z[(),:\[\]\\]z\.([ \t]*)(r(z\b(New)\b([ \t]+)(z\b(Gosub|Goto)\b([ \t]+)(z"\b(Object)\b([ \t]*)([.])([ \t]*)(z)\bz\b([ \t]*)(\()z\b(Function)\b([ \t]+)z\b(Type)([ \t]+)(z\b(Pi|True|False|Null)\bz"\b(Local|Global|Const|Field|Dim)\b)#r7r8r:r?r@rArGrI�InsertrNrRrTr[r\r]r^r_r`rarbrc�Eachrerfrhrirjrkrlrmrt�Gosub�Data�Read�Restorerxryrz�[^"\n]+r{N)*r}r~rr�r�r�r�r�r�r��
bb_sktypes�bb_name�bb_varr�r�r�r�rrr�rr�rr�r�r�r�rrr
rr�rr
r�r�rRrTr�r�r�r�r�r�r�rros���������D�
!�C�,�,�,�G���#�I��
�I��M� �J��G�]�7�]�]��]�]�PW�]�]�]�F��L�2�=�(�E��Z� �
���'�
�&�-��*�
$�f�l�3�
���-�
���'�
�V�Z�(�
���$�
�U�8� ��/�/�/��	
�
��)�
�k�*�
&�G�
&�
&�
&��
�3�
-�7�
-�
-�
-�
�X�g�&�
�D�J�
?�
?�
A�
4�'�
4�
4�
4�
�X�g�&�
�D�J�
?�
?�
A�
?�7�
?�
?�
?�
�X�h�
�K��T�Z�
P�
P�
R�
)�6�
)�
)�
)�
�X�d�m�Z���z�;� �$�*�j�+�G�G�
H�0�v�
/�
/�
�X�g�&�
�D�M�:�w�|� �+�z�4�:�G�G�
H�-�'�
,�
,�
,�
�X�g�&�
�D�J�
?�
?�
A�)�'�*:�;�
2�G�4G�H�
�U�<�
EJ�RW�Y�Y�Y��
�

��X�X�d�m�Z���(�+�z�4�:�O�O�
P�c3
�j�F�M�"�
�V�]�F�+�
���'�
�k:�:�F�F�Fr�rc
��eZdZdZdZdgZdgZdgZdZdZ	dZ
d	Zd
Zd	Z
dZdZd
ZejZgdef�def�dejdf�dejf�dejdf�dejdf�dejf�dejf�dejf�dejf�dejf�de�d�ej f�dej!f�de"j#f�de"j$f�d e"j$j%f�d!e"j&f�d"e'ej(ee"j(e��f�d#ej!f�d$e'ej)e��df�d%e'ej!e��d&f�d'e'ej!e��d(f�d)ej!f�d*ej!f�d+ej!f�d,e*f�d-e+f�d.e+j,f�d/e*f�e�d�e"j&f�e�d�e"j-f�e
�d�e"j.f�d0e�d�e"j-fd1e*d&fdefd2e*dfd3e*d4fge�d5�e"j(fe�d�ej fe
�d�e"j/fd6e'e*eejee*��fd7ed4fd8e*d9fd:e*d4fd;ed4fe0d4��g	e�d�e"j&fe
�d�e"j.fe�ej fdefd1e*d&fd<e*d9fe0d4��gd=ejfd>ej1fdejd4fgd?ejd9fd@ejd4fd;ejfdAejfgdB�Z2dCS)Drz!
    For Monkey source code.
    �Monkey�monkeyz*.monkeyz
text/x-monkeyz%https://blitzresearch.itch.io/monkeyx�1.6rz[A-Z]\w*z[A-Z_][A-Z0-9_]*z
[a-z0-9_]*z+(?:Int|Float|String|Bool|Object|Array|Void)z[?%#$]r!z'.*z(?i)^#rem\b�commentz6(?i)^(?:#If|#ElseIf|#Else|#EndIf|#End|#Print|#Error)\bz^#�	variablesr"r#r$r�r%z\$[0-9a-fA-Z]+r'r/z(?i)\b(?:Try|Catch|Throw)\b�	Throwablez(?i)\b(?:Null|True|False)\bz(?i)\b(?:Self|Super)\bz\b(?:HOST|LANG|TARGET|CONFIG)\bz(?i)^(Import)(\s+)(.*)(\n)z(?i)^Strict\b.*\nz#(?i)(Const|Local|Global|Field)(\s+)z1(?i)(New|Class|Interface|Extends|Implements)(\s+)�	classnamez(?i)(Function|Method)(\s+)�funcnamezB(?i)(?:End|Return|Public|Private|Extern|Property|Final|Abstract)\bz�(?i)(?:If|Then|Else|ElseIf|EndIf|Select|Case|Default|While|Wend|Repeat|Until|Forever|For|To|Until|Step|EachIn|Next|Exit|Continue)(?=\s)z(?i)\b(?:Module|Inline)\bz[\[\]]z.<=|>=|<>|\*=|/=|\+=|-=|&=|~=|\|=|[-&*/^+=<>|~]z(?i)(?:Not|Mod|Shl|Shr|And|Or)z[(){}!#,.:]z(?i)�:z\(z\)rzr)z(\[)(\s*)(\d*)(\s*)(\])z\s+(?!<)�<z#push�>�\n�,z[^"~]+z~q|~n|~r|~t|~z|~~z(?i)^#rem.*?z(?i)^#end.*?z.+)r|r�r�r�r#r�N)3r}r~rr�r�r�r�r�r�r��
name_variable�
name_function�
name_constant�
name_class�name_module�keyword_type�keyword_type_specialr�r�r�rrr�r�rr�rr�r�r�r�r
rTr�rr��Builtin�Pseudor�rr�r�r
r�WordrRr�r�r�Escaper�r�r�r�rr�s����������D��j�G���I� �!�I�
1�C��M� �M��M�'�M��J��K�A�L�$���L�E�:
�
�Z� �:
��W��	:
�
�W�.�	�:�:
�G���X�:
��G�O�[�1�:
��&�-��*�:
�%�f�l�3�:
����-�:
����'�:
� ��
�+�!:
�"���$�#:
�&$�<�
#�
#�
#�W�\�2�':
�*,�W�-=�>�+:
�,�4�>�*�-:
�0,�T�\�:�1:
�2'���(;�<�3:
�40���?�5:
�8+�
�X�g�'��T�^�Z�
P�
P�
R�9:
�<"�7�#3�4�=:
�>4�
�X�g�)�:�
6�
6��
E�?:
�BB�
�X�g�&�
�
3�
3�[�
B�C:
�F+�
�X�g�&�
�
3�
3�Z�
A�G:
�J"�#*�#3�
5�K:
�P%�
'.�&6�
8�Q:
�^*�7�+;�<�_:
�b��$�c:
�f?��I�g:
�h/��
�>�i:
�j�[�)�k:
�n�
"�
"�
"�D�M�2�o:
�p�
"�
"�
"�D�M�2�q:
�r�
"�
"�
"�D�M�2�s:
�x'�]�
&�
&�
&��
�6�
�;��,�
�Z� �
�K��-�
�K��(�
��
 �
 �
 �$�.�1��
!�
!�
!�7�<�0��
�
�
���,�
'�
�X�k�:�v�~�z�;�
W�
W�
Y��*�f�-�
�;��(�
�;��'�
�J��'��G�F�O�O�

��
"�
"�
"�D�M�2��
"�
"�
"�D�M�2�%�
'���6�
�Z� �
�;��,�
�;��(��G�F�O�O�
���
�&�
!�6�=�1�
�6�=�&�)�
��g�/��9�
�g�/��8�
�G�%�&�
�G�%�&�	
�e�e�F�F�Fr�rc
���eZdZdZdZdgZdgZdZdZe	j
Zddej
fd	efd
ejfdejfdejfd
efdejfdefdejfdefdefgiZd�ZdS)rz#
    For CBM BASIC V2 sources.
    zCBM BASIC V2�cbmbas�*.basz-https://en.wikipedia.org/wiki/Commodore_BASICr�r|zrem.*\nr!z�new|run|end|for|to|next|step|go(to|sub)?|on|return|stop|cont|if|then|input#?|read|wait|load|save|verify|poke|sys|print#?|list|clr|cmd|open|close|get#?zdata|restore|dim|let|def|fnzktab|spc|sgn|int|abs|usr|fre|pos|sqr|rnd|log|exp|cos|sin|tan|atn|peek|len|val|asc|(str|chr|left|right|mid)\$z
[-+*/^<>=]z
not|and|orz	"[^"\n]*.z\d+|[-+]?\d*\.\d*(e[-+]?\d+)?z[(),:;]z\w+[$%]?c�4�tjd|��rdSdS)Nz^\d+g�������?)r��match��texts r��analyse_textzCbmBasicV2Lexer.analyse_text\s'���8�G�T�"�"�	��3�	�	r�N)r}r~rr�r�r�r�r�r�r�r�r�rr�rr
r�r�rr�rr�rrr�r
r�r�r�r�r�rr=s����������D��j�G��	�I�
9�C��M��M�E�	�
���(�
�Z� �/�07�0@�
B�,�W�-@�A�=�>B�l�
L�
�H�%�
�H�M�*�
�6�"�
-�v�|�<�
��%�
�$��
��F�&����r�rc���eZdZdZdZddgZddgZdgZdZd	Z	d
Z
dZdZd
Z
dZdZdefdejfdeejejejej��fdeejejej��fdejjfdejfdejfdeejejej��fdeejejejeje��fdeejejejejejj��fdeejejejj��fdeejejjeje��fdeejejej��fdeejejej��fed��ed��ed ��ed!��ed"��ed#��d$ejjfd%ejfd&e j!fd'e j!fd(e j"j#fd(e j"fd)efd*e$fd+ejjfgd,�%d-�&e'e(j)e
������ejfgd,�%d-�&e'e(j)e������ejfgd,�%d-�&e'e(j)e������ej*fgd,�%d-�&e'e(j)e
������ej+fgd.�%d-�&e'e(j)e������ejfgd.�%d-�&e����efgd/�Z,d0�Z-d1S)2rz!
    For QBasic source code.
    �QBasic�qbasic�basicz*.BASr�z
text/basicz$https://en.wikipedia.org/wiki/QBasicr�)�DATA�LET)U�ABS�ASC�ATN�CDBL�CHR$�CINT�CLNGzCOMMAND$�COS�CSNG�CSRLIN�CVD�CVDMBF�CVI�CVL�CVS�CVSMBF�DATE$zENVIRON$�EOF�ERDEVzERDEV$�ERL�ERR�EXP�FILEATTR�FIX�FRE�FREEFILEzHEX$�INKEY$�INPzINPUT$�INSTR�INTzIOCTL$�LBOUNDzLCASE$�LEFT$�LEN�LOC�LOF�LOG�LPOSzLTRIM$�MID$zMKD$zMKDMBF$zMKI$zMKL$zMKS$zMKSMBF$zOCT$�PEEK�PEN�PLAY�PMAP�POINT�POS�RIGHT$�RNDzRTRIM$�SADD�SCREEN�SEEK�SETMEM�SGN�SINzSPACE$�SPC�SQR�STICK�STR$�STRIG�STRING$�TAB�TAN�TIME$�TIMER�UBOUNDzUCASE$�VAL�VARPTRzVARPTR$�VARSEG)�$DYNAMICz$INCLUDE�$STATIC)�AND�EQV�IMP�NOT�OR�XOR)��BEEP�BLOAD�BSAVE�CALLz
CALL ABSOLUTEzCALL INTERRUPT�CALLS�CHAIN�CHDIR�CIRCLE�CLEAR�CLOSE�CLS�COLOR�COM�COMMON�CONSTr�r��DECLAREzDEF FNzDEF SEG�DEFDBL�DEFINT�DEFLNG�DEFSNG�DEFSTR�DEF�DIM�DO�LOOP�DRAW�END�ENVIRON�ERASE�ERROR�EXIT�FIELD�FILES�FOR�NEXT�FUNCTION�GET�GOSUB�GOTO�IF�THEN�INPUTzINPUT #�IOCTL�KEYr`�KILLr��LINEz
LINE INPUTzLINE INPUT #�LOCATE�LOCK�UNLOCK�LPRINT�LSETr�MKDIR�NAMEzON COMzON ERRORzON KEYzON PENzON PLAYzON STRIGzON TIMERz	ON UEVENT�ON�OPENzOPEN COMzOPTION BASE�OUT�PAINT�PALETTE�PCOPYrr�POKE�PRESET�PRINTzPRINT #zPRINT USING�PSET�PUTrt�	RANDOMIZE�READ�REDIM�REM�RESET�RESTORE�RESUME�RETURN�RMDIR�RSET�RUNrrzSELECT CASE�SHARED�SHELL�SLEEP�SOUND�STATIC�STOPr#�SUB�SWAP�SYSTEMr'r(�TROFF�TRON�TYPE�UEVENTre�VIEW�WAIT�WHILE�WEND�WIDTH�WINDOW�WRITE)#�ACCESS�ALIAS�ANY�APPEND�AS�BASE�BINARY�BYVAL�CASE�CDECL�DOUBLE�ELSE�ELSEIF�ENDIF�INTEGER�IS�LIST�LOCAL�LONGrM�MODrW�OFFrj�OUTPUT�RANDOM�SIGNAL�SINGLE�STEP�STRINGr]�TO�UNTIL�USINGr�z\n+r!z^(\s*)(\d*)(\s*)(REM .*)$z^(\s*)(\d+)(\s*)z(?=[\s]*)(\w+)(?=[\s]*=)z(?=[^"]*)\'.*$z	"[^\n"]*"z"(END)(\s+)(FUNCTION|IF|SELECT|SUB)z (DECLARE)(\s+)([A-Z]+)(\s+)(\S+)z (DIM)(\s+)(SHARED)(\s+)([^\s(]+)z(DIM)(\s+)([^\s(]+)z^(\s*)([a-zA-Z_]+)(\s*)(\=)z(GOTO|GOSUB)(\s+)(\w+\:?)z(SUB)(\s+)(\w+\:?)�declarations�	functions�metacommands�	operators�
statements�keywordsz[a-zA-Z_]\w*[$@#&!]z[a-zA-Z_]\w*\:z\-?\d*\.\d+[@|#]?z\-?\d+[@|#]z\-?\d+#?z'!=|==|:=|\.=|<<|>>|[-~+/\\*%=<>&^|?:!.]z[\[\]{}(),;]z[\w]+z\b({})(?=\(|\b)�|z\b({})\b)r|r�r�r�r�r�r�c��d|vsd|vrdSdS)Nr-r.��������?r�r�s r�r�zQBasicLexer.analyse_text�s$�������d�!2�!2��3�"3�!2r�N).r}r~rr�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr�rr�r��Globalrr�r
r�r�rrrr�r��Longr
�format�join�mapr��escaper�r�r�r�r�r�r�rrcs)���������D���!�G��'�"�I���I�
0�C��M�"�L��I� 7�L�9�I��J�.�H��T�N�
�T�_�%�
)�
�X�d�o�t�z�4�?��n�&�&�
'�!�
�X�d�o�t�z�4�?�
C�
C�
E�
(�$�-�*>�?�
���/�
�6�=�)�
2�
�X�g�&����9I�
J�
J�
L�
0�
�X�g�)�4�?�D�M��o�t�-�-�
.�1�
�X�g�)�4�?�D�M��o�t�}�';�=�=�
>�$�
�X�g�)�4�?�D�M�<P�
Q�
Q�
S�
+�
�X�d�o�t�}�';�T�_�� � �
!�*�
�X�g�&�����
D�
D�
F�
"�
�X�g�&�����
D�
D�
F��G�N�#�#��G�K� � ��G�N�#�#��G�K� � ��G�L�!�!��G�J���
#�T�]�%9�:�
��
�+�
!�6�<�0�
�V�\�*�
�&�.�-�.�
�&�.�)�
7��B�
�k�*�
�t�}�+�,�U+
�^ �
&�
&�s�x�x���B�I�|�0L�0L�'M�'M�
N�
N�
�
 �
"�
�
 �
&�
&�s�x�x���B�I�y�0I�0I�'J�'J�
K�
K�
�
�
�
�
 �
&�
&�s�x�x���B�I�|�0L�0L�'M�'M�
N�
N�
�
�
�
�
 �
&�
&�s�x�x���B�I�y�0I�0I�'J�'J�
K�
K�X�]�[�
��
�
������R�Y�
�)C�)C� D� D�
E�
E�
�
�
�
�
�
�
����� 2� 2�
3�
3�W�=�
�EE�E�F�N����r�rc��eZdZdZdZdgZddgZdZdZe	j
Zdej
fd	efd
ejdfdejfd
ejfdejfdejfdejfdefdeejeej��dfdeejeej��fdeejeej��fdeejeej��fdeeee��fdeeeeeeeej��fdeeeeeeee��fdeeee��fdeejeejeej��fdej
feej d���efeej!��e"feej#d���e"j$feej%d���ejfeej&d���ej'feej(d���ej'fdefd e"fed!��e)fd"e*fgd#eee)eej��fe+d$��gd%ejfd&ejfd
ejd$fd'e*d$fgd(�Z,d)S)*rzI
    VBScript is scripting language that is modeled on Visual Basic.
    �VBScript�vbscriptz*.vbsz*.VBSzEhttps://learn.microsoft.com/en-us/previous-versions/t0aew7h6(v=vs.85)�2.4z'[^\n]*r!r"r#z&h[0-9a-f]+z[0-9]+\.[0-9]*(e[+-]?[0-9]+)?z\.[0-9]+(e[+-]?[0-9]+)?z[0-9]+e[+-]?[0-9]+r%z#.+#z(dim)(\s+)([a-z_][a-z0-9_]*)�dim_morez%(function|sub)(\s+)([a-z_][a-z0-9_]*)z(class)(\s+)([a-z_][a-z0-9_]*)z(const)(\s+)([a-z_][a-z0-9_]*)z/(end)(\s+)(class|function|if|property|sub|with)z#(on)(\s+)(error)(\s+)(goto)(\s+)(0)z((on)(\s+)(error)(\s+)(resume)(\s+)(next)z(option)(\s+)(explicit)z3(property)(\s+)(get|let|set)(\s+)([a-z_][a-z0-9_]*)z
rem\s.*[^\n]*r/)r2z[a-z_][a-z0-9_]*z\b_\nz(),.:z.+(\n)?z(\s*)(,)(\s*)([a-z_][a-z0-9]*)rzr�z\"\"r�)r|r�r#N)-r}r~rr�r�r�r�r�r�r�r�r�rr�rrr�rr�r�r�rr
r�rr�rRr�r��Propertyrr�KEYWORDS�	OPERATORSr�OPERATOR_WORDSr��BUILTIN_CONSTANTS�BUILTIN_FUNCTIONSr��BUILTIN_VARIABLESr
r	rr�r�r�r�rr�s���������D��l�G��'�"�I�
Q�C��M��M�E����(�
�Z� �
�&�-��*�
�F�J�'�
-�v�|�<�
'���6�
"�F�L�1�
���'�
�V��
,�
�X�g�)�:�t�}�
E�
E�z�
S�
5�
�X�g�)�:�t�}�
E�
E�
G�
.�
�X�g�)�:�t�z�
B�
B�
D�
.�
�X�g�)�:�t�}�
E�
E�
G�
?�
�X�g�z�7�
3�
3�
5�
3�
�X�g�z�7�J���U[�Uc�
d�
d�
f�
8�
�X�g�z�7�J���U\�
]�
]�
_�
'���'�:�w�)O�)O�P�
C�
�X�g�)�:�w�7J�J�X\�Xe�
f�
f�
h�
�w�~�.�
�U�%�.�u�
=�
=�
=�w�G�
�U�%�/�
0�
0�(�;�
�U�%�4�U�
C�
C�
C�X�]�S�
�U�%�7��
F�
F�
F��
�V�
�U�%�7��
F�
F�
F���U�
�U�%�7��
F�
F�
F���U�
 �$�'�
�x� �
�U�8�_�_�k�*�
���M'
�R/�
�X�j�+�z�4�=�
I�
I�
K��G�F�O�O�
����'�
�f�m�$�
�6�=�&�)�
�E�6�"�	
�]4�4�F�F�Fr�rc�r�eZdZdZgd�Zgd�ZdZdgZdgZdZ	dZ
d	ejfd
e
ejej��fed��gde
ejej��fd
edfdefdejfde
ejeejej��fde
eej��fde
eeej��fdejfdejfee��efee��efdejdfdejfdejfdejfdejfdejfdej fdej!fde"fgd ejfdejd!fd
e#dfgd"�Z$d#�Z%d$S)%rzy
    BBC Basic was supplied on the BBC Micro, and later Acorn RISC OS.
    It is also used by BBC Basic For Windows.
    )w�	OTHERWISEr/�DIV�EORr�r3rRrbr�r�rr%r�r]�OPENIN�PTR�PAGE�TIME�LOMEM�HIMEMr��ACS�ADVALr��ASNr��BGETr��COUNT�DEGr�r��EVALr�EXT�FALSE�FNrY�INKEYrrr�LNrr2�OPENUP�OPENOUT�PIrr�RADrrrr r&r��TRUE�USRr*�VPOSr�zGET$rr
rrr"r$r�r�r�r�r�r�r��BPUTr8r:r=r>�CLGr?r�rJrKrNrO�ENDPROC�ENVELOPErVrZr[�GCOLr\r^r�r��MODE�MOVErWrj�VDU�PLOTrr�PROCrvrx�REPEAT�REPORTrzr|rr��COLOUR�TRACEr�r��OSCLI)/�WHEN�OF�ENDCASEr��ENDWHILEr�r<�FILL�ORIGINr�	RECTANGLEr�r�r��MOUSE�QUIT�SYS�INSTALL�LIBRARY�TINT�ELLIPSE�BEATS�TEMPO�VOICES�VOICE�STEREO�OVERLAYr��AUTO�CRUNCH�DELETE�EDIT�HELPr��LOAD�LVAR�NEW�OLD�RENUMBER�SAVE�TEXTLOAD�TEXTSAVE�TWIN�TWINOr�SUM�BEATz	BBC Basic�bbcbasicz*.bbcz(https://www.bbcbasic.co.uk/bbcbasic.htmlr�r%z(\*)([^\n]*)�codez
(REM)([^\n]*)r�r|r!r�z%(DEF)(\s*)(FN|PROC)([A-Za-z_@][\w@]*)z(FN|PROC)([A-Za-z_@][\w@]*)z#(GOTO|GOSUB|THEN|RESTORE)(\s*)(\d+)z(TRUE|FALSE)z>(PAGE|LOMEM|HIMEM|TIME|WIDTH|ERL|ERR|REPORT\$|POS|VPOS|VOICES)r"r#z%[01]{1,32}z&[0-9a-f]{1,8}z"[+-]?[0-9]+\.[0-9]*(E[+-]?[0-9]+)?z[+-]?\.[0-9]+(E[+-]?[0-9]+)?z[+-]?[0-9]+E[+-]?[0-9]+z[+-]?\d+z([A-Za-z_@][\w@]*[%$]?)z1([+\-]=|[$!|?+\-*/%^=><();]|>=|<=|<>|<<|>>|>>>|,)r�rz)r|rr#c�^�|�d��s|�d��rdSdS)Nz10REM >zREM >r�)�
startswithr�s r�r�zBBCBasicLexer.analyse_text�s8���?�?�9�%�%�	�����)A�)A�	��3�	�	r�N)&r}r~rr��
base_keywords�basic5_keywordsr�r�r�r�r�rr�rr
r�r�Specialrr�r�rr�rRr�rrr�rr�r�r�r�r�rr	r�r�r�r�r�rr3s��������9�9�9�M�$B�B�B�O��D��l�G��	�I�
4�C��M���
�#�
�
�X�g�n�g�o�
6�
6�
8��G�F�O�O�	
��
�X�g�)�7�>�
:�
:�
<�
�J��'�
�Z� �
�7�?�#�6�
�X�g�)�:��)�4�=�:�:�
;�,�
�X�g�t�}�
-�
-�
/�4�
�X�g�z�4�:�
6�
6�
8��g�.�/�
N�
�^�
��U�=�
!�
!�7�+�
�U�?�
#�
#�W�-�
�&�-��*�
�F�J�'�
�v�z�*�
2�F�L�A�
,�f�l�;�
'���6�
�&�.�)�
'���7�
A�8�L�G$
�L���'�
�6�=�&�)�
�E�6�"�
�[2�2�F�h����r�r)r�r��pygments.lexerrrrrr�pygments.tokenrr	r
rrr
rrrr�pygments.lexersr�__all__rrrrrrrr�r�r��<module>r)sG����
�	�	�	�H�H�H�H�H�H�H�H�H�H�H�H�H�H�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�.�.�.�.�.�.�<�<�<��U�U�U�U�U�J�U�U�U�pK�K�K�K�K�j�K�K�K�\}�}�}�}�}�*�}�}�}�@#�#�#�#�#�j�#�#�#�LJ�J�J�J�J�*�J�J�J�Z@�@�@�@�@�J�@�@�@�F]�]�]�]�]�J�]�]�]�]�]r�