Your IP : 216.73.216.213


Current Path : /opt/alt/python37/lib/python3.7/site-packages/pygments/lexers/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib/python3.7/site-packages/pygments/lexers/__pycache__/basic.cpython-37.pyc

B

ɽ�\�k�@s�dZddlZddlmZmZmZmZmZddlm	Z	m
Z
mZmZm
Z
mZmZmZmZmZddlmZdddd	d
ddgZGd
d�de�ZGdd�de�ZGdd�de�ZGdd	�d	e�ZGdd
�d
e�ZGdd�de�ZGdd�de�ZdS)z�
    pygments.lexers.basic
    ~~~~~~~~~~~~~~~~~~~~~

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

    :copyright: Copyright 2006-2019 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@s�eZdZdZdZddgZdgZdgZdZdZ	d	Z
d
Zdee	e
efZedZ
ejejBZd
efdefdejfdejfdejdfdejfdejfdejfdejfdejfdeefdefdej fdej!fdee"e#j$eeej%�fdeefe"e#j$ee#j&�fe
e"ej'ee#j(eeeee#j(ej%ee#j(ee�
fee"ej)ee#j(eeeee#j(ej%ee#j(�fdee"e#j$eej%�fde#j(fd e#j*fd!e#j+fe,d"d#d#d$�ej-fe,d%d#d#d$�e#j$fd&eej)fgd'ejfd(ejd)fd*ejfgd+�Z.d,S)-rzY
    For `BlitzMax <http://blitzbasic.com>`_ source code.

    .. versionadded:: 1.4
    ZBlitzMaxZblitzmaxZbmaxz*.bmxz
text/x-bmxz\b(Shl|Shr|Sar|Mod)\bz
@{1,2}|[!#$%]z&\b(Int|Byte|Short|Float|Double|Long)\bz	[a-z_]\w*zp(%s)(?:(?:([ \t]*)(%s)|([ \t]*:[ \t]*\b(?:Shl|Shr|Sar|Mod)\b)|([ \t]*)(:)([ \t]*)(?:%s|(%s)))(?:([ \t]*)(Ptr))?)z?((?:[ \t]|\.\.\n)*)([(])z[ \t]+z\.\.\nz'.*?\nz*([ \t]*)\bRem\n(\n|.)*?\s*\bEnd([ \t]*)Rem�"�stringz[0-9]+\.[0-9]*(?!\.)z\.[0-9]*(?!\.)z[0-9]+z\$[0-9a-f]+z\%[10]+z9(?:(?:(:)?([ \t]*)(:?%s|([+\-*/&|~]))|Or|And|Not|[=<>^]))z[(),.:\[\]]z
(?:#[\w \t]*)z(?:\?[\w \t]*)z\b(New)\b([ \t]?)([(]?)(%s)z+\b(Import|Framework|Module)([ \t]+)(%s\.%s)z\b(Type|Extends)([ \t]+)(%s)z	\b(Ptr)\bz#\b(Pi|True|False|Null|Self|Super)\bz\b(Local|Global|Const|Field)\b)ZTNullMethodExceptionZTNullFunctionExceptionZTNullObjectExceptionZTArrayBoundsExceptionZTRuntimeExceptionz\b)�prefix�suffix)EZStrictZSuperStrict�Module�
ModuleInfo�End�ReturnZContinue�ExitZPublicZPrivateZVarZVarPtr�Chr�Len�AscZSizeOf�Sgn�AbsZMinZMax�NewZRelease�DeleteZIncbinZ	IncbinPtrZ	IncbinLenZ	Framework�IncludeZImportZExternZ	EndExtern�FunctionZEndFunction�TypeZEndTypeZExtends�MethodZ	EndMethodZAbstractZFinal�If�Then�Else�ElseIf�EndIf�For�To�Next�StepZEachIn�While�WendZEndWhile�Repeat�Until�Forever�Select�Case�DefaultZ	EndSelectZTryZCatchZEndTryZThrowZAssert�GotoZDefDataZReadDataZRestoreDataz(%s)z""z"C?z#popz[^"]+)�rootrN)/�__name__�
__module__�__qualname__�__doc__�name�aliases�	filenames�	mimetypesZ
bmax_vopwordsZbmax_sktypesZbmax_lktypesZ	bmax_nameZbmax_varZ	bmax_func�re�	MULTILINE�
IGNORECASE�flagsrr�Single�	Multiliner�Doubler�Float�Integer�Hex�Binr
rr
�Label�Preprocrr	�Reserved�Class�	Namespacer*r+�Variable�Constant�Declarationr�	Exception�tokens�r]r]�F/opt/alt/python37/lib/python3.7/site-packages/pygments/lexers/basic.pyrsp




c@s�eZdZdZdZdddgZddgZdgZd	Zd
Z	de	ee	fZ
ejej
BZdefd
ejfdejdfdejfdejfdejfdejfdejfedddd�efdefdefde	ejfde	eej eej!�fde	eej eej�fde	eeeeeej!�fde
eej"eej#eeeej!ee�	fde
eej eej"eej#eeeej!�	fd e	eej eej!�fd!ej$fd"ej%fed#ddd�ej fe
eej&eej#eeeej!�fgd$ejfd%ejd&fd'ejfgd(�Z'd)S)*rz[
    For `BlitzBasic <http://blitzbasic.com>`_ source code.

    .. versionadded:: 2.0
    Z
BlitzBasicZ
blitzbasicZb3dZbplusz*.bbz*.declsz	text/x-bbz@{1,2}|[#$%]z[a-z]\w*z3(%s)(?:([ \t]*)(%s)|([ \t]*)([.])([ \t]*)(?:(%s)))?z[ \t]+z;.*?\nrrz[0-9]+\.[0-9]*(?!\.)z\.[0-9]+(?!\.)z[0-9]+z\$[0-9a-f]+z\%[10]+)ZShlZShrZSarZMod�Or�AndZNotr&r%�HandleZIntrO�StrZFirstZLastZBeforeZAfterz\b)rrz([+\-*/~=<>^])z[(),:\[\]\\]z\.([ \t]*)(%s)z\b(New)\b([ \t]+)(%s)z\b(Gosub|Goto)\b([ \t]+)(%s)z'\b(Object)\b([ \t]*)([.])([ \t]*)(%s)\bz\b%s\b([ \t]*)(\()z\b(Function)\b([ \t]+)%sz\b(Type)([ \t]+)(%s)z\b(Pi|True|False|Null)\bz"\b(Local|Global|Const|Field|Dim)\b)#rr r!r"r#r$r'r(ZInsertr)r*r+r-r.r/r0r1r2r3r4r5�Eachr6r7r8r9r:r;r<r=r>ZGosub�DataZReadZRestorez""z"C?z#popz[^"]+)r?rN)(r@rArBrCrDrErFrGZ
bb_sktypesZbb_nameZbb_varrHrIrJrKrrrLrrNrrOrPrQrRrr
rr
rSrr	rUrVr*r+rYrZrXr\r]r]r]r^rtsb


c!@s�eZdZdZdZdgZdgZdgZdZdZ	dZ
dZd	Zd
Z
dZejZdefd
efdejdfdejfdejdfdejdfdejfdejfdejfdejfdejfde
ejfdejfde j!fde j"fde j"j#fde j$fd e%ej&ee j&e�fd!ejfd"e%ej'e�dfd#e%eje�d$fd%e%eje�d&fd'ejfd(ejfd)ejfd*e(fd+e)fd,e)j*fd-e(fd.e
e j$fd.e	e j+fd.ee j,fg d/e	e j+fd0e(d$fdefd1e(dfd2e(d3fgd4ee j&fd.e
ejfd.ee j-fd5e%e(eejee(�fd6ed3fd7e(d8fd9e(d3fd:ed3fe.d3�g	d.e
e j$fd.ee j,fd;eejfdefd0e(d$fd<e(d8fe.d3�gd=ejfd>ej/fdejd3fgd?ejd8fd@ejd3fd:ejfdAejfgdB�Z0dCS)Drz�
    For
    `Monkey <https://en.wikipedia.org/wiki/Monkey_(programming_language)>`_
    source code.

    .. versionadded:: 1.6
    ZMonkey�monkeyz*.monkeyz
text/x-monkeyz	[a-z_]\w*z[A-Z]\w*z[A-Z_][A-Z0-9_]*z
[a-z0-9_]*z+(?:Int|Float|String|Bool|Object|Array|Void)z[?%#$]z\s+z'.*z(?i)^#rem\b�commentz6(?i)^(?:#If|#ElseIf|#Else|#EndIf|#End|#Print|#Error)\bz^#�	variablesrrz[0-9]+\.[0-9]*(?!\.)z\.[0-9]+(?!\.)z[0-9]+z\$[0-9a-fA-Z]+z\%[10]+z\b%s\bz(?i)\b(?:Try|Catch|Throw)\bZ	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%s\bz(?i)%s\b�:z\(z\)z#popz%s\.z(\[)(\s*)(\d*)(\s*)(\])z\s+(?!<)�<z#push�>z\nz%s�,z[^"~]+z~q|~n|~r|~t|~z|~~z(?i)^#rem.*?z(?i)^#end.*?z.+)r?rirhrgrrfN)1r@rArBrCrDrErFrGZ
name_variableZ
name_functionZ
name_constantZ
name_classZname_moduleZkeyword_typeZkeyword_type_specialrHrIrKrrrMrTrrNrrOrPrQrRr	r+rUr
r[�Builtin�PseudorYrrWrZrr
�Wordr*rXrVrZEscaper\r]r]r]r^r�s�






c
@s�eZdZdZdZdgZdgZejZ	dde
jfdefde
jfd	e
jfd
ejfdefdejfd
efdejfdefdefgiZdd�ZdS)rz>
    For CBM BASIC V2 sources.

    .. versionadded:: 1.6
    zCBM BASIC V2Zcbmbasz*.basr?zrem.*\nz\s+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+[$%]?cCst�d|�rdSdS)Nz\d+g�������?)rH�match)�self�textr]r]r^�analyse_textdszCbmBasicV2Lexer.analyse_textN)r@rArBrCrDrErFrHrJrKrrLrr	rUrZr
rnr
rprrrOrr\rtr]r]r]r^rEs(c@sTeZdZdZdZddgZddgZdgZdZd	Z	d
Z
dZdZd
Z
defdejfdeejejejej�fdeejejej�fdejjfdejfdejfdeejejej�fdeejejejeje�fdeejejejejejj�fdeejejejj�fdeejejjeje�fdeejejej�fdeejejej�fed�ed�ed�ed�ed �ed!�d"ejjfd#ejfd$ejfd%ejfd&ej j!fd&ej 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)d.d/�Z*d0S)1rzm
    For
    `QBasic <http://en.wikipedia.org/wiki/QBasic>`_
    source code.

    .. versionadded:: 2.0
    ZQBasicZqbasicZbasicz*.BASz*.basz
text/basic)�DATA�LET)U�ABS�ASC�ATNZCDBLzCHR$ZCINTZCLNGzCOMMAND$�COSZCSNGZCSRLINZCVDZCVDMBFZCVIZCVLZCVSZCVSMBFzDATE$zENVIRON$�EOFZERDEVzERDEV$�ERL�ERR�EXPZFILEATTRZFIXZFREZFREEFILEzHEX$zINKEY$ZINPzINPUT$�INSTR�INTzIOCTL$ZLBOUNDzLCASE$zLEFT$�LENZLOCZLOF�LOGZLPOSzLTRIM$zMID$zMKD$zMKDMBF$zMKI$zMKL$zMKS$zMKSMBF$zOCT$ZPEEK�PEN�PLAYZPMAP�POINT�POSzRIGHT$�RNDzRTRIM$ZSADD�SCREEN�SEEKZSETMEM�SGN�SINzSPACE$�SPC�SQRZSTICKzSTR$�STRIGzSTRING$�TAB�TANzTIME$�TIMERZUBOUNDzUCASE$�VALZVARPTRzVARPTR$ZVARSEG)z$DYNAMICz$INCLUDEz$STATIC)�ANDZEQVZIMP�NOT�ORZXOR)�ZBEEPZBLOADZBSAVE�CALLz
CALL ABSOLUTEzCALL INTERRUPTZCALLS�CHAINZCHDIR�CIRCLE�CLEAR�CLOSE�CLSZCOLORZCOMZCOMMONZCONSTruzDATE$ZDECLAREzDEF FNzDEF SEGZDEFDBLZDEFINTZDEFLNGZDEFSNGZDEFSTR�DEF�DIMZDO�LOOP�DRAW�ENDZENVIRONZERASE�ERRORZEXITZFIELDZFILES�FOR�NEXTZFUNCTION�GET�GOSUB�GOTO�IF�THEN�INPUTzINPUT #ZIOCTL�KEYr�ZKILLrv�LINEz
LINE INPUTzLINE INPUT #ZLOCATEZLOCK�UNLOCKZLPRINTZLSETzMID$ZMKDIR�NAMEzON COMzON ERRORzON KEYzON PENzON PLAYzON STRIGzON TIMERz	ON UEVENT�ONZOPENzOPEN COMzOPTION BASEZOUTZPAINTZPALETTEZPCOPYr�r�ZPOKEZPRESET�PRINTzPRINT #zPRINT USINGZPSET�PUTr�Z	RANDOMIZE�READZREDIM�REMZRESET�RESTOREZRESUME�RETURNZRMDIRZRSET�RUNr�r�zSELECT CASEZSHARED�SHELLZSLEEP�SOUNDZSTATIC�STOPr�ZSUB�SWAPZSYSTEMzTIME$r�ZTROFFZTRONZTYPEZUEVENTr�ZVIEW�WAIT�WHILE�WEND�WIDTHZWINDOWZWRITE)#ZACCESSZALIAS�ANY�APPENDZASZBASEZBINARYZBYVAL�CASEZCDECLZDOUBLE�ELSEZELSEIF�ENDIFZINTEGERZIS�LIST�LOCALZLONGr��MODr��OFFr�ZOUTPUTZRANDOMZSIGNALZSINGLE�STEP�STRINGr��TO�UNTILZUSINGr�z\n+z\s+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(%s)(?=\(|\b)�|z\b(%s)\b)r?r�r�r�r�r�r�cCsd|ksd|krdSdS)Nz$DYNAMICz$STATICg�������?r])rsr]r]r^rt�szQBasicLexer.analyse_textN)+r@rArBrCrDrErFrGr�r�r�r�r�r�rrrr
rSrrLrXZGlobalrrNr	rUrZr
rrrOrPZLongr�join�maprH�escaperYrpr\rtr]r]r]r^rks�	



c@s�eZdZdZdZdgZddgZejZ	de
jfdefde
jd	fd
ejfdejfdejfd
ejfdejfde
fdeejeej�dfdeejeej�fdeejeej�fdeejeej�fdeeee�fdeeeeeeeej�fdeeeeeeee�fdeeee�fdeejeejeej�fde
jfeejdd�efeej�e feej!dd�e j"feej#dd�ejfeej$dd�ej%feej&dd�ej%fdefde fed�e'fd e(fgd!eee'eej�fe)d"�gd#e
jfd$e
jfde
jd"fd%e(d"fgd&�Z*d'S)(rzd
    VBScript is scripting language that is modeled on Visual Basic.

    .. versionadded:: 2.4
    ZVBScriptZvbscriptz*.vbsz*.VBSz'[^\n]*z\s+rrz&h[0-9a-f]+z[0-9]+\.[0-9]*(e[+-]?[0-9]+)?z\.[0-9]+(e[+-]?[0-9]+)?z[0-9]+e[+-]?[0-9]+z\d+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]*z\b)rz[a-z_][a-z0-9_]*z\b_\nz(),.:z.+(\n)?z(\s*)(,)(\s*)([a-z_][a-z0-9]*)z#popz[^"\n]+z\"\"z\n)r?r�rN)+r@rArBrCrDrErFrHrJrKrrLrrrNrrQrOrPrr	rZr
rXr*rVrYZPropertyrrZKEYWORDSZ	OPERATORSr
ZOPERATOR_WORDSrpZBUILTIN_CONSTANTSZBUILTIN_FUNCTIONSrnZBUILTIN_VARIABLESrrrr\r]r]r]r^r�sZ


cw@s�eZdZdZdddddddd	d
ddd
ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGddddddHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsgwZdtdudvdwdxdydzd{d|d2d}d~dd�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�g/Zd�Zd�gZd�gZd�e	j
fd�eej
ej�fd�ed�fgd�eejej�fd�ed�fd�efd�ejfd�eejeeje	j�fd�eee	j�fd�eeee	j
�fd�ejfd�ej
fee�efee�efd�ejd�fd�ejfd�ejfd�ejfd�ejfd�ejfd�ejfd�e	jfd�efgd�ejfd�ejd�fd�e d�fgd��Z!d�d��Z"d�S)�rz�
    BBC Basic was supplied on the BBC Micro, and later Acorn RISC OS.
    It is also used by BBC Basic For Windows.

    .. versionadded:: 2.4
    Z	OTHERWISEr�ZDIVZEORr�r�r�r�r�r�r�r�r�r�ZOPENINZPTRZPAGEZTIMEZLOMEMZHIMEMrwZACSZADVALrxZASNryZBGETrzZCOUNTZDEGr|r}ZEVALr~ZEXTZFALSEZFNr�ZINKEYrr�r��LNr�r�ZOPENUPZOPENOUTZPIr�r�ZRADr�r�r�r�r�r�ZTRUEZUSRr�ZVPOSzCHR$zGET$zINKEY$zLEFT$zMID$zRIGHT$zSTR$zSTRING$r{r�ZBPUTr�r�r�r�ZCLGr�rur�r�r�r�ZENDPROCZENVELOPEr�r�r�ZGCOLr�r�rvr�ZMODEZMOVEr�r�ZVDUZPLOTr�ZPROCr�r��REPEATZREPORTr�r�r�r�ZCOLOURZTRACEr�r�ZOSCLIZWHENZOFZENDCASEr�ZENDWHILEr�r�ZFILLZORIGINZ	RECTANGLEr�r�r�ZMOUSEZQUITZSYS�INSTALL�LIBRARYZTINTZELLIPSEZBEATSZTEMPOZVOICESZVOICEZSTEREOZOVERLAYr�ZAUTOZCRUNCHZDELETEZEDITZHELPr�ZLOADZLVARZNEWZOLDZRENUMBERZSAVEZTEXTLOADZTEXTSAVEZTWINZTWINOZSUMZBEATz	BBC BasicZbbcbasicz*.bbcz[0-9]+z(\*)([^\n]*)��codez
(REM)([^\n]*)z\nr?z\s+rjz%(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)rrz%[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([+\-]=|[$!|?+\-*/%^=><();]|>=|<=|<>|<<|>>|>>>|,)z[^"\n]+z#pop)r?r�rcCs|�d�s|�d�rdSdS)Nz10REM >zREM >g�������?)�
startswith)rsr]r]r^rt�szBBCBasicLexer.analyse_textN)#r@rArBrCZ
base_keywordsZbasic5_keywordsrDrErFr
rSrr	ror�SpecialrrZrLrTr*rYrrrNrrRrQrOrPrXr
rr\rtr]r]r]r^r8sz





)rCrHZpygments.lexerrrrrrZpygments.tokenrrr	r
rrr
rrrZpygments.lexersr�__all__rrrrrrrr]r]r]r^�<module>
s0
[O&>