o
    Ñ­jXm  ã                   @   sà   d Z ddlZddlmZmZmZmZmZ ddlm	Z	m
Z
mZmZmZmZmZmZmZmZ ddlmZ g d¢ZG dd„ deƒZG d	d
„ d
eƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZdS )zæ
    pygments.lexers.basic
    ~~~~~~~~~~~~~~~~~~~~~

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

    :copyright: Copyright 2006-present 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  e Zd ZdZdZdZddgZdgZdgZdZ	d	Z
d
ZdZdZde› de› de› de› d�	Zed ZejejB Zdefdeeeƒfdejfdejfdejdfdejfdejfdejfdejfdej fde
› d�e!fd e"fd!e#j$fd"ej%fd#e› d$�ee&j'ee"e#j(ƒfd%e› d&e› d$�ee&j'ee&j)ƒfeee#j*ee&j+e!ee"ee&j+e#j(ee&j+ee"ƒfeee#j,ee&j+e!ee"ee&j+e#j(ee&j+ƒfd'e› d$�ee&j'ee#j(ƒfd(e&j+fd)e&j-fd*e&j.fe/d+d,d,d-�e#j0fe/d.d,d,d-�e&j'fde› d$�e#j,fgd/ejfd0ejd1fd2ejfgd3œZ1d4S )5r   z#
    For BlitzMax source code.
    ÚBlitzMaxúhttp://blitzbasic.comÚblitzmaxÚbmaxz*.bmxz
text/x-bmxz1.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Úflagsr   r   r   r   ÚSingleÚ	Multiliner   ÚDoubler   ÚFloatÚIntegerÚHexÚBinr   r   r
   ÚLabelÚPreprocr	   ÚReservedÚClassÚ	NamespacerP   rR   ÚVariableÚConstantÚDeclarationr   Ú	ExceptionÚtokens© r    r    úR/var/www/html/CropPilot/venv/lib/python3.10/site-packages/pygments/lexers/basic.pyr      sŽ    ÿÿ

ÿÿ
ý

þ
ÿýýõôÈ;
ý
År   c                   @   sæ  e Zd ZdZdZdZg d¢ZddgZdgZdZ	d	Z
d
Zde› de
› de› d�ZejejB Zdefdejfdejdfdejfdejfdejfdejfdejfedddd�efdefdefde› d�ejfde› d�e e!j"eej#ƒfd e› d�e e!j"eejƒfd!e› d"�e eeeeej#ƒfde› d#�e ej$ee!j%eeeej#eeƒ	fd$e› �e e!j"eej$ee!j%eeeej#ƒ	fd%e› d�e e!j"eej#ƒfd&e!j&fd'e!j'fed(ddd�e!j"fee ej(ee!j%eeeej#ƒfgd)ejfd*ejd+fd,ejfgd-œZ)d.S )/r   z%
    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ÚNotrB   rA   ÚHandleÚIntr’   ÚStrÚFirstÚLastÚBeforeÚAfterr-   r.   z([+\-*/~=<>^])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)#r5   r6   r8   r=   r>   r?   rE   rG   ÚInsertrL   rP   rR   rY   rZ   r[   r\   r]   r^   r_   r`   ra   ÚEachrc   rd   rf   rg   rh   ri   rj   rk   rr   ÚGosubÚDataÚReadÚRestorerv   rw   rx   ú[^"\n]+ry   N)*r{   r|   r}   r~   r   r€   r�   r‚   rƒ   r„   Ú
bb_sktypesÚbb_nameÚbb_varr‹   rŒ   r�   rŽ   r   r   r�   r   r‘   r   r’   r“   r”   r•   r   r   r   r
   r–   r   r	   r˜   r™   rP   rR   rœ   r�   r›   rŸ   r    r    r    r¡   r   o   s„    
ýü
ÿ
ÿ
ÿ

ÿÿ
ÿÿ
ÿûú	
ÿÏ5
ý
Ër   c                   @   sð  e Zd ZdZdZdgZdgZdgZdZdZ	dZ
d	Zd
Zd	ZdZdZdZejZg def‘def‘dejdf‘dejf‘dejdf‘dejdf‘dejf‘dejf‘dejf‘dejf‘dejf‘de› d�ej f‘dej!f‘de"j#f‘de"j$f‘d e"j$j%f‘d!e"j&f‘d"e'ej(ee"j(eƒf‘d#ej!f‘d$e'ej)eƒdf‘d%e'ej!eƒd&f‘d'e'ej!eƒd(f‘d)ej!f‘d*ej!f‘d+ej!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-fd1e*d&fdefd2e*dfd3e*d4fge› d5�e"j(fe› d�ej fe› d�e"j/fd6e'e*eejee*ƒfd7ed4fd8e*d9fd:e*d4fd;ed4fe0d4ƒg	e› d�e"j&fe
› d�e"j.fe› ej fdefd1e*d&fd<e*d9fe0d4ƒgd=ejfd>ej1fdejd4fgd?ejd9fd@ejd4fd;ejfdAejfgdBœZ2dCS )Dr   z!
    For Monkey source code.
    ÚMonkeyÚmonkeyz*.monkeyztext/x-monkeyz%https://blitzresearch.itch.io/monkeyxú1.6r   z[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\)rx   r'   z(\[)(\s*)(\d*)(\s*)(\])z\s+(?!<)ú<z#pushú>ú\nú,z[^"~]+z~q|~n|~r|~t|~z|~~z(?i)^#rem.*?z(?i)^#end.*?z.+)rz   rÇ   rÆ   rÄ   r!   rÃ   N)3r{   r|   r}   r~   r   r�   r‚   rƒ   r€   r„   Úname_variableÚname_functionÚname_constantÚ
name_classÚname_moduleÚkeyword_typeÚkeyword_type_specialr‹   rŒ   rŽ   r   r   r�   r—   r   r‘   r   r’   r“   r”   r•   r	   rR   r˜   r
   rž   ÚBuiltinÚPseudorœ   r   rš   r�   r   r   ÚWordrP   r›   r™   r   ÚEscaperŸ   r    r    r    r¡   r   ½   s   þü
ûù
	÷
õóòñðïíëêè
çæÿäâÿá!ÿß#ÿÝ%ÿÛ(ûØ/Ñ1Ï3Í4Ì5Ë7É8È9Ç<ûÿô
ù

ý

ü
¡r   c                   @   sŒ   e Zd ZdZdZdgZdgZdZdZe	j
Zddejfd	efd
ejfdejfdejfdefdejfdefdejfdefdefgiZdd„ ZdS )r   z#
    For CBM BASIC V2 sources.
    zCBM BASIC V2Úcbmbasú*.basz-https://en.wikipedia.org/wiki/Commodore_BASICrÂ   rz   zrem.*\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#?zdata|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                 C   s   t  d| ¡rdS d S )Nz^\d+gš™™™™™É?)r‹   Úmatch©Útextr    r    r¡   Úanalyse_text\  s   ÿzCbmBasicV2Lexer.analyse_textN)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   =  s6    þÿòÿr   c                   @   sh  e Zd ZdZdZddgZddgZdgZdZd	Z	d
Z
dZdZdZdZdZdefdejfdeejejejejƒfdeejejejƒfdejjfdejfdejfdeejejejƒfdeejejejejeƒfdeejejejejejjƒfdeejejejjƒfdeejejjejeƒfdeejejejƒfdeejejejƒfedƒedƒed ƒed!ƒed"ƒed#ƒd$ejjfd%ejfd&e j!fd'e j!fd(e j"j#fd(e j"fd)efd*e$fd+ejjfgd, %d- &e'e(j)e
ƒ¡¡ejfgd, %d- &e'e(j)eƒ¡¡ejfgd, %d- &e'e(j)eƒ¡¡ej*fgd, %d- &e'e(j)eƒ¡¡ej+fgd. %d- &e'e(j)eƒ¡¡ejfgd. %d- &e¡¡efgd/œZ,d0d1„ Z-d2S )3r   z!
    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ÚCLNGzCOMMAND$ÚCOSÚCSNGÚCSRLINÚCVDÚCVDMBFÚCVIÚCVLÚCVSÚCVSMBFúDATE$zENVIRON$ÚEOFÚERDEVzERDEV$ÚERLÚERRÚEXPÚFILEATTRÚFIXÚFREÚFREEFILEzHEX$úINKEY$ÚINPzINPUT$ÚINSTRÚINTzIOCTL$ÚLBOUNDzLCASE$úLEFT$ÚLENÚLOCÚLOFÚLOGÚLPOSzLTRIM$úMID$zMKD$zMKDMBF$zMKI$zMKL$zMKS$zMKSMBF$zOCT$ÚPEEKÚPENÚPLAYÚPMAPÚPOINTÚPOSúRIGHT$ÚRNDzRTRIM$ÚSADDÚSCREENÚSEEKÚSETMEMÚSGNÚSINzSPACE$ÚSPCÚSQRÚSTICKúSTR$ÚSTRIGúSTRING$ÚTABÚTANúTIME$ÚTIMERÚUBOUNDzUCASE$ÚVALÚVARPTRzVARPTR$ÚVARSEG)ú$DYNAMICz$INCLUDEú$STATIC)ÚANDÚEQVÚIMPÚNOTÚORÚXOR)�ÚBEEPÚBLOADÚBSAVEÚCALLzCALL ABSOLUTEzCALL INTERRUPTÚCALLSÚCHAINÚCHDIRÚCIRCLEÚCLEARÚCLOSEÚCLSÚCOLORÚCOMÚCOMMONÚCONSTrá   ró   ÚDECLAREzDEF FNz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ÚINPUTzINPUT #ÚIOCTLÚKEYrX  ÚKILLrâ   ÚLINEz
LINE INPUTzLINE INPUT #ÚLOCATEÚLOCKÚUNLOCKÚLPRINTÚLSETr  ÚMKDIRÚNAMEzON COMzON ERRORzON KEYzON PENzON PLAYzON STRIGzON TIMERz	ON UEVENTÚONÚOPENzOPEN COMzOPTION BASEÚOUTÚPAINTÚPALETTEÚPCOPYr
  r  ÚPOKEÚPRESETÚPRINTzPRINT #zPRINT USINGÚPSETÚPUTrl  Ú	RANDOMIZEÚREADÚREDIMÚREMÚRESETÚRESTOREÚRESUMEÚRETURNÚRMDIRÚRSETÚRUNr  r  zSELECT CASEÚSHAREDÚSHELLÚSLEEPÚSOUNDÚSTATICÚSTOPr  ÚSUBÚSWAPÚSYSTEMr  r   ÚTROFFÚTRONÚTYPEÚUEVENTr]  Ú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ÚLONGrE  ÚMODrO  ÚOFFrb  ÚOUTPUTÚRANDOMÚSIGNALÚSINGLEÚSTEPÚSTRINGrU  Ú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)rz   rª  r«  r¬  r­  r®  r¯  c                 C   s   d| v sd| v r
dS d S )Nr%  r&  çÍÌÌÌÌÌì?r    rÛ   r    r    r¡   rÝ   ë  s   ÿzQBasicLexer.analyse_textN).r{   r|   r}   r~   r   r�   r‚   rƒ   r€   r„   rª  r«  r¬  r­  r®  r¯  r   r   r   r
   r–   r   r�   r›   ÚGlobalr   r‘   r	   r˜   r�   r   r   r   r’   r“   ÚLongr   ÚformatÚjoinÚmapr‹   Úescaperœ   rÖ   rŸ   rÝ   r    r    r    r¡   r   c  s¸    
ÿÿÿ
ÿÿÿ
ÿÿÿÿÿÿÿ


Ö/ÿÿÿÿÿÿÿÿÿÿ¾Gr   c                   @   sð  e Zd ZdZdZdgZddgZdZdZe	j
Zdejfd	efd
ejdfdejfdejfdejfdejfdejfdefdeejeejƒdfdeejeejƒfdeejeejƒfdeejeejƒfdeeeeƒfdeeeeeeeejƒfdeeeeeeeeƒfdeeeeƒfdeejeejeejƒfdejfeej dd�efeej!ƒe"feej#dd�e"j$feej%dd�ejfeej&dd�ej'feej(dd�ej'fdefd e"fed!ƒe)fd"e*fgd#eee)eejƒfe+d$ƒgd%ejfd&ejfd
ejd$fd'e*d$fgd(œZ,d)S )*r   zI
    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-   )r0   z[a-z_][a-z0-9_]*z\b_\nz(),.:z.+(\n)?z(\s*)(,)(\s*)([a-z_][a-z0-9]*)rx   r¼   z\"\"rË   )rz   r»  r!   N)-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›   rP   r™   rœ   ÚPropertyr   r   ÚKEYWORDSÚ	OPERATORSr   ÚOPERATOR_WORDSrÖ   ÚBUILTIN_CONSTANTSÚBUILTIN_FUNCTIONSrÔ   ÚBUILTIN_VARIABLESr   r   r   rŸ   r    r    r    r¡   r   ð  s‚    
ÿÿÿÿ
ÿÿÿÿ
Ú)ÿý
ü
Òr   c                   @   sJ  e Zd ZdZg d¢Zg d¢ZdZdgZdgZdZ	dZ
d	ejfd
eejejƒfedƒgdeejejƒfdedfdefdejfdeejeejejƒfdeeejƒfdeeeejƒfdejfdejfeeƒefeeƒefdejdfdejfdejfdejfdejfdejfdej fdej!fde"fgd ejfdejd!fde#dfgd"œZ$d#d$„ Z%d%S )&r   zy
    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Ÿ  r+  rJ  rZ  r   r¥  r  r  r—  rU  ÚOPENINÚPTRÚPAGEÚTIMEÚLOMEMÚHIMEMrã   ÚACSÚADVALrä   ÚASNrå   ÚBGETrê   ÚCOUNTÚDEGrö   r÷   ÚEVALrø   ÚEXTÚFALSEÚFNrQ  ÚINKEYrÿ   r   r  ÚLNr  r*  ÚOPENUPÚOPENOUTÚPIr  r  ÚRADr  r  r  r  r  r§  ÚTRUEÚUSRr"  ÚVPOSrç   zGET$rý   r  r  r  r  r  rô   rÇ  rÈ  rÉ  rÊ  rË  r{  ÚBPUTr0  r2  r5  r6  ÚCLGr7  rá   rB  rC  rF  rG  ÚENDPROCÚENVELOPErN  rR  rS  ÚGCOLrT  rV  râ   r�  ÚMODEÚMOVErO  rb  ÚVDUÚPLOTrj  ÚPROCrn  rp  ÚREPEATÚREPORTrr  rt  rw  r}  ÚCOLOURÚTRACEr¨  r‰  ÚOSCLI)/ÚWHENÚOFÚENDCASEr™  ÚENDWHILEr”  r4  Ú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Ë   rz   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¼   rx   )rz   r  r!   c                 C   s   |   d¡s
|   d¡rdS d S )Nz10REM >zREM >r±  )Ú
startswithrÛ   r    r    r¡   rÝ   Ž  s   ÿzBBCBasicLexer.analyse_textN)&r{   r|   r}   r~   Úbase_keywordsÚbasic5_keywordsr   r�   r‚   r€   r„   r
   r–   r   r	   rÕ   r   ÚSpecialr   r�   r�   r   r—   rP   rœ   r   r   r‘   r   r•   r”   r’   r“   r›   r   r   rŸ   rÝ   r    r    r    r¡   r   3  sl    
ÿüÿÿÿ
ÿÿÿ


Ý&
ýÓ4r   )r~   r‹   Úpygments.lexerr   r   r   r   r   Úpygments.tokenr   r   r	   r
   r   r   r   r   r   r   Úpygments.lexersr   Ú__all__r   r   r   r   r   r   r   r    r    r    r¡   Ú<module>   s    
0XN & C