3

V'ícmã@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-2022 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ÜeZdZdZdZdZddgZdgZdgZdZ	d	Z
d
ZdZdee
eefZ
e
d
ZejejBZdefdeeeƒfdejfdejfdejdfdejfdejfdejfdejfdejfde	e fde!fde"j#fdej$fdeee%j&ee!e"j'ƒfdeefee%j&ee%j(ƒfeee"j)ee%j*e ee!ee%j*e"j'ee%j*ee!ƒ
fe
ee"j+ee%j*e ee!ee%j*e"j'ee%j*ƒfdeee%j&ee"j'ƒfd e%j*fd!e%j,fd"e%j-fe.dvd(d(d)e"j/fe.dwd(d(d)e%j&fdoee"j+fgdpejfdqejdrfdsejfgdtœZ0duS)xrz>
    For BlitzMax source code.

    .. versionadded:: 1.4
    ZBlitzMaxzhttp://blitzbasic.comZblitzmaxZbmaxz*.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\s+z
(\.\.)(\n)z'.*?\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ÚTNullMethodExceptionÚTNullFunctionExceptionÚTNullObjectExceptionÚTArrayBoundsExceptionÚTRuntimeExceptionz\b)ÚprefixÚsuffixÚ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ÚRestoreDataz(%s)z""z"C?z#popz[^"]+)ÚrootrN)rrrrr)Er"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerf)1Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚ	mimetypesZ
bmax_vopwordsZbmax_sktypesZbmax_lktypesZ	bmax_nameZbmax_varZ	bmax_funcÚreÚ	MULTILINEÚ
IGNORECASEÚflagsrrrrÚSingleÚ	MultilinerÚDoublerÚFloatÚIntegerÚHexÚBinr
rr
ÚLabelÚPreprocr	ÚReservedÚClassÚ	NamespacerArCÚVariableÚConstantÚDeclarationrÚ	ExceptionÚtokens©r†r†ú9/tmp/pip-build-gk9425m9/Pygments/pygments/lexers/basic.pyrs†




c8@sÀeZdZdZdZdZdddgZddgZd	gZd
Z	dZ
de
e	e
fZej
ejBZd
efdejfdejdfdejfdejfdejfdejfdejfed]d'd'd(efd)efd*efd+e
ejfd,e
ee j!eej"ƒfd-e
ee j!eejƒfd.e
eeeeeej"ƒfd/eeej#ee j$eeeej"eeƒ	fd0eee j!eej#ee j$eeeej"ƒ	fd1e
ee j!eej"ƒfd2e j%fd3e j&fed^d'd'd(e j!feeej'ee j$eeeej"ƒfgdWejfdXejdYfdZejfgd[œZ(d\S)_rz@
    For BlitzBasic source code.

    .. versionadded:: 2.0
    Z
BlitzBasiczhttp://blitzbasic.comZ
blitzbasicZb3dZbplusz*.bbz*.declsz	text/x-bbz@{1,2}|[#$%]z[a-z]\w*z3(%s)(?:([ \t]*)(%s)|([ \t]*)([.])([ \t]*)(?:(%s)))?z\s+z;.*?\nrrz[0-9]+\.[0-9]*(?!\.)z\.[0-9]+(?!\.)z[0-9]+z\$[0-9a-f]+z\%[10]+ÚShlÚShrÚSarÚModÚOrÚAndÚNotr3r2ÚHandleÚIntrxÚStrÚFirstÚLastÚBeforeÚAfterz\b)r r!z([+\-*/~=<>^])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)\br&r'r)r.r/r0r6r8ÚInsertr=rArCrJrKrLrMrNrOrPrQrRÚEachrTrUrWrXrYrZr[r\rcÚGosubÚDataÚReadÚRestorez""z"C?z#popz[^"\n]+)rgrN)rˆr‰rŠr‹rŒrrŽr3r2rrrxr‘r’r“r”r•)#r&r'r)r.r/r0r6r8r–r=rArCrJrKrLrMrNrOrPrQrRr—rTrUrWrXrYrZr[r\rcr˜r™ršr›))rhrirjrkrlrmrnrorpZ
bb_sktypesZbb_nameZbb_varrqrrrsrtrrrurrwrrxryrzr{rr
rr
r|rr	r~rrArCr‚rƒrr…r†r†r†r‡rssn



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
    ZMonkeyZmonkeyz*.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.+)rgrŸržrrrœN)1rhrirjrkrlrnrorpZ
name_variableZ
name_functionZ
name_constantZ
name_classZname_moduleZkeyword_typeZkeyword_type_specialrqrrrtrrrvr}rrwrrxryrzr{r	rCr~r
r„ÚBuiltinÚPseudor‚rr€rƒrr
ÚWordrArrrZEscaper…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*.basrgzrem.*\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+[$%]?cCstjd|ƒrdSdS)Nz^\d+gš™™™™™É?)rqÚmatch)Útextr†r†r‡Úanalyse_textdszCbmBasicV2Lexer.analyse_textN)rhrirjrkrlrnrorqrsrtrrurr	r~rƒr
r¤r
r¦rrrxrr…r©r†r†r†r‡rEs(c@s¬eZdZdZdZddgZddgZdgZdZdZ	dZ
dZd Zd!Z
dùefdúejfdûeejejejejƒfdüeejejejƒfdýejjfdþejfdÿejfdeejejejƒfdeejejejejeƒfdeejejejejejjƒfdeejejejjƒfdeejejjejeƒfdeejejejƒfdeejejejƒfedƒedƒed	ƒed
ƒedƒedƒd
ejjfdejfdejfdejfdej j!fdej fdefde"fdejjfgddj#e$e%j&eƒƒejfgddj#e$e%j&e	ƒƒejfgddj#e$e%j&e
ƒƒej'fgddj#e$e%j&eƒƒej(fgddj#e$e%j&eƒƒejfgddj#e
ƒefgdœZ)dd„Z*dS("rzm
    For
    `QBasic <http://en.wikipedia.org/wiki/QBasic>`_
    source code.

    .. versionadded:: 2.0
    ZQBasicZqbasicÚbasicz*.BASz*.basz
text/basicÚDATAÚLETÚABSÚASCÚATNÚCDBLúCHR$ÚCINTÚCLNGúCOMMAND$ÚCOSÚCSNGÚCSRLINÚCVDÚCVDMBFÚCVIÚCVLÚCVSÚCVSMBFúDATE$úENVIRON$ÚEOFÚERDEVúERDEV$ÚERLÚERRÚEXPÚFILEATTRÚFIXÚFREÚFREEFILEúHEX$úINKEY$ÚINPúINPUT$ÚINSTRÚINTúIOCTL$ÚLBOUNDúLCASE$úLEFT$ÚLENÚLOCÚLOFÚLOGÚLPOSúLTRIM$úMID$úMKD$úMKDMBF$úMKI$úMKL$úMKS$úMKSMBF$úOCT$ÚPEEKÚPENÚPLAYÚPMAPÚPOINTÚPOSúRIGHT$ÚRNDúRTRIM$ÚSADDÚSCREENÚSEEKÚSETMEMÚSGNÚSINúSPACE$ÚSPCÚSQRÚSTICKúSTR$ÚSTRIGúSTRING$ÚTABÚTANúTIME$ÚTIMERÚUBOUNDúUCASE$ÚVALÚVARPTRúVARPTR$ÚVARSEGú$DYNAMICú$INCLUDEú$STATICÚANDÚEQVÚIMPÚNOTÚORÚXORÚBEEPÚBLOADÚBSAVEÚCALLú
CALL ABSOLUTEúCALL INTERRUPTÚCALLSÚCHAINÚCHDIRÚCIRCLEÚCLEARÚCLOSEÚCLSÚCOLORÚCOMÚCOMMONÚCONSTÚDECLAREúDEF FNúDEF 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ÚINPUTúINPUT #ÚIOCTLÚKEYÚKILLÚLINEú
LINE INPUTúLINE INPUT #ÚLOCATEÚLOCKÚUNLOCKÚLPRINTÚLSETÚMKDIRÚNAMEúON COMúON ERRORúON KEYúON PENúON PLAYúON STRIGúON TIMERú	ON UEVENTÚONÚOPENúOPEN COMúOPTION BASEÚOUTÚPAINTÚPALETTEÚPCOPYÚPOKEÚPRESETÚPRINTúPRINT #úPRINT USINGÚPSETÚPUTÚ	RANDOMIZEÚREADÚREDIMÚREMÚRESETÚRESTOREÚRESUMEÚRETURNÚRMDIRÚRSETÚRUNúSELECT CASEÚSHAREDÚSHELLÚSLEEPÚSOUNDÚSTATICÚSTOPÚSUBÚSWAPÚSYSTEMÚTROFFÚTRONÚTYPEÚUEVENTÚ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ÚLONGÚMODÚOFFÚOUTPUTÚRANDOMÚSIGNALÚSINGLEÚSTEPÚSTRINGÚTOÚUNTILÚUSINGz\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)rgrœrržrŸr r¡cCsd|ksd|krdSdS)Nz$DYNAMICz$STATICgÍÌÌÌÌÌì?r†)r¨r†r†r‡r©õszQBasicLexer.analyse_textN)r«r¬)Ur­r®r¯r°r±r²r³r´rµr¶r·r¸r¹rºr»r¼r½r¾r¿rÀrÁrÂrÃrÄrÅrÆrÇrÈrÉrÊrËrÌrÍrÎrÏrÐrÑrÒrÓrÔrÕrÖr×rØrÙrÚrÛrÜrÝrÞrßràrárârãrärårærçrèrérêrërìrírîrïrðrñròrórôrõrör÷rørùrúrûrürýrþrÿrr)rrr)rrrrr	r
)rrr
rrrrrrrrrrrrrrr«r¾rrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r;r<r¬r=r>r?r@rArBrCrDrÚrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrãrärWrXrYrZr[r\r]r]r^r_r`rarbrcrdrerfrgrhrìrírirjrkrlrmrnrorörprqrrrúrûrsrtrurvrBrwrxryrzr{r|r})#r~rr€rr‚rƒr„r…r†r‡rˆr‰rŠr‹rŒrrŽrrr'r‘r1r’rOr“r”r•r–r—r˜r7r™ršr›rz)+rhrirjrkrlrnrorprœrržrŸr r¡rrrr
r|rrurÚGlobalrrwr	r~rƒr
rrrxryZLongrÚjoinÚmaprqÚescaper‚r¦r…r©r†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[0-9]+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)r!z[a-z_][a-z0-9_]*z\b_\nz(),.:z.+(\n)?z(\s*)(,)(\s*)([a-z_][a-z0-9]*)z#popz[^"\n]+z\"\"z\n)rgr§rN)+rhrirjrkrlrnrorqrsrtrrurrrwrrzrxryrr	rƒr
rrArr‚ZPropertyrrZKEYWORDSZ	OPERATORSr
ZOPERATOR_WORDSr¦ZBUILTIN_CONSTANTSZBUILTIN_FUNCTIONSr¤ZBUILTIN_VARIABLESrrrr…r†r†r†r‡rúsb


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ƒfed¦ƒgd§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ºe fgd»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	OTHERWISErZDIVZEORr‘r	r,r=r’r—ròrør‰r7ZOPENINZPTRZPAGEZTIMEZLOMEMZHIMEMr­ZACSZADVALr®ZASNr¯ZBGETrµZCOUNTZDEGrÃrÄZEVALrÅZEXTÚFALSEZFNr3ZINKEYrÎrÏrÔÚLNr×rZOPENUPZOPENOUTÚPIrærçZRADrérïrðrórùr™ÚTRUEZUSRrþZVPOSzCHR$zGET$zINKEY$zLEFT$zMID$zRIGHT$zSTR$zSTRING$rÀrmZBPUTrrrrZCLGrr«r$r%r(r)ZENDPROCZENVELOPEr0r4r5ZGCOLr6r8r¬rZMODEZMOVEr1rOZVDUZPLOTrYZPROCr_raÚREPEATZREPORTrcrerhroZCOLOURÚTRACEršr{ZOSCLIZWHENZOFZENDCASEr‹ZENDWHILEr†rZFILLZORIGINZ	RECTANGLErqryrxZMOUSEZQUITZSYSÚINSTALLÚLIBRARYZTINTZELLIPSEZBEATSZTEMPOZVOICESZVOICEZSTEREOZOVERLAYrZAUTOZCRUNCHÚDELETEZEDITZHELPrŽZLOADZLVARZNEWZOLDZRENUMBERZSAVEZTEXTLOADZTEXTSAVEZTWINZTWINOZSUMZBEATz	BBC BasicZbbcbasicz*.bbcz[0-9]+z(\*)([^\n]*)Úcodez
(REM)([^\n]*)z\nrgz\s+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)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)rgr±rcCs|jdƒs|jdƒrdSdS)Nz10REM >zREM >gÍÌÌÌÌÌì?)Ú
startswith)r¨r†r†r‡r©—szBBCBasicLexer.analyse_textN)$rhrirjrkZ
base_keywordsZbasic5_keywordsrlrnror
r|rr	r¥rÚSpecialrrƒrurr}rAr‚rrrwrr{rzrxryrr
rr…r©r†r†r†r‡r<s~




)rkrqZpygments.lexerrrrrrZpygments.tokenrrr	r
rrr
rrrZpygments.lexersrÚ__all__rrrrrrrr†r†r†r‡Ú<module>	s0
\P&B