
    5hUm                     
   S r SSKrSSKJrJrJrJrJr  SSKJ	r	J
r
JrJrJrJrJrJrJrJr  SSKJr  / SQr " S S\5      r " S	 S
\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      rg)z
pygments.lexers.basic
~~~~~~~~~~~~~~~~~~~~~

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

:copyright: Copyright 2006-2025 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                       \ rS rSrSrSrSrSS/rS/rS/r	S	r
S
rSrSrSrS\ S\ S\ S\ S3	r\S-   r\R$                  \R&                  -  rS\4S\" \\5      4S\R2                  4S\R4                  4S\R8                  S4S\R<                  4S\R<                  4S\R>                  4S\R@                  4S\RB                  4S\ S 3\"4S!\#4S"\$RJ                  4S#\RL                  4S$\ S%3\" \'RP                  \\#\$RR                  5      4S&\ S'\ S%3\" \'RP                  \\'RT                  5      4\\" \$RV                  \\'RX                  \"\\#\\'RX                  \$RR                  \\'RX                  \\#5      4\\" \$RZ                  \\'RX                  \"\\#\\'RX                  \$RR                  \\'RX                  5      4S(\ S%3\" \'RP                  \\$RR                  5      4S)\'RX                  4S*\'R\                  4S+\'R^                  4\0" S,S-S-S.9\$Rb                  4\0" S/S-S-S.9\'RP                  4S\ S%3\$RZ                  4/S0\R8                  4S1\R8                  S24S3\R8                  4/S4.r2S5r3g6)7r      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)4__name__
__module____qualname____firstlineno____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	NamespacerS   rU   VariableConstantDeclarationr   	Exceptiontokens__static_attributes__r~       `/var/www/html/cementerio_25MayoBackend/env/lib/python3.13/site-packages/pygments/lexers/basic.pyr   r      s	    D
!C6"G	IIM,M#L<LIYK/~ >++7.9+E[]H77ILL2==(E Z HT:67':G<M<MN&--*$fll3-'VZZ($%m_4VWYab[)tzz*0(15g&&
KLN4YKr)ANg&&
G4E4EFH
GLL!):{J!(tzz:!(z;H I xz7<< *KW\\ $

JF G *)A6g&&
DJJ?A 7<<(3W5E5EF.0C0CD % .35B DH>>S   (-U<  )A.q9
v FMM"V]]F+v}}%
w@Fr   r   c                   ~   \ rS rSrSrSrSr/ SQrSS/rS/r	S	r
S
rSrS\ S\ S\ S3r\R                  \R                   -  rS\4S\R(                  4S\R,                  S4S\R0                  4S\R0                  4S\R2                  4S\R4                  4S\R6                  4\" SSSS9\4S\4S\4S\ S3\R@                  4S \ S3\!" \"RF                  \\RH                  5      4S!\ S3\!" \"RF                  \\R@                  5      4S"\ S#3\!" \\\\\RH                  5      4S\ S$3\!" \RJ                  \\"RL                  \\\\RH                  \\5	      4S%\ 3\!" \"RF                  \\RJ                  \\"RL                  \\\\RH                  5	      4S&\ S3\!" \"RF                  \\RH                  5      4S'\"RN                  4S(\"RP                  4\" S)SSS9\"RF                  4\\!" \RR                  \\"RL                  \\\\RH                  5      4/S*\R,                  4S+\R,                  S,4S-\R,                  4/S..r*S/r+g0)1r   o   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NotrE   rD   HandleIntr   StrFirstLastBeforeAfterr0   r1   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)#r8   r9   r;   r@   rA   rB   rH   rJ   InsertrO   rS   rU   r\   r]   r^   r_   r`   ra   rb   rc   rd   Eachrf   rg   ri   rj   rk   rl   rm   rn   ru   GosubDataReadRestorery   rz   r{   [^"\n]+r|   r~   N),r   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   rS   rU   r   r   r   r   r   r~   r   r   r   r   o   s    D
!C,G#IIM JG7)=4OPWyX\]FLL2==(E Z '&--*$fll3-'VZZ($ 8  / 	
 )k*G9A&

3"7)1-g&&
DJJ?A)'!4g&&
DJJ?A27)3?h
KTZZPR6(.)dmmZz; $**j+GH 'vh/g&&
DMM:w|| +z4::GH "'!,g&&
DJJ?A )'*:*:;2G4G4GH <
 EJRWY  XdmmZ(+z4::O Pc3
j FMM"V]]F+'
k:Fr   r   c                   Z   \ rS rSrSrSrS/rS/rS/rSr	Sr
S	rS
rSrS
rSrSrSr\R&                  r/ S\4PS\4PS\R.                  S4PS\R0                  4PS\R0                  S4PS\R4                  S4PS\R8                  4PS\R8                  4PS\R:                  4PS\R<                  4PS\R>                  4PS\ S3\ RB                  4PS\ RD                  4PS\#RH                  4PS \#RJ                  4PS!\#RJ                  RL                  4PS"\#RN                  4PS#\(" \ RR                  \\#RR                  \5      4PS$\ RD                  4PS%\(" \ RT                  \5      S4PS&\(" \ RD                  \5      S'4PS(\(" \ RD                  \5      S)4PS*\ RD                  4PS+\ RD                  4PS,\ RD                  4PS-\+4PS.\,4PS/\,RZ                  4PS0\+4P\ S3\#RN                  4P\ S3\#R\                  4P\ S3\#R^                  4PS1\ S3\#R\                  4S2\+S'4S\4S3\+S4S4\+S54/\ S63\#RR                  4\ S3\ RB                  4\ S3\#R`                  4S7\(" \+\\R:                  \\+5      4S8\S54S9\+S:4S;\+S54S<\S54\1" S55      /	\ S3\#RN                  4\ S3\#R^                  4\ \ RB                  4S\4S2\+S'4S=\+S:4\1" S55      /S>\R4                  4S?\Rd                  4S\R4                  S54/S@\R.                  S:4SA\R.                  S54S<\R.                  4SB\R.                  4/SC.r3SDr4gE)Fr      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(   r0   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\)r{   r*   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   r~   N)5r   r   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
   rU   r   r   r   BuiltinPseudor   r   r   r   r   r   WordrS   r   r   r   Escaper   r   r~   r   r   r   r      s    DjGI !I
1CM MM'MJKAL$LLE:
Z :
 W	:

 W..	::
 GX:
 GOO[1:
 &--*:
 %fll3:
 -:
 ':
  

+!:
" $#:
& <.#W\\2':
* ,W-=-=>+:
, 4>>*-:
0 ,T\\:1:
2 '(;(;<3:
4 0?5:
8 +g''T^^ZPR9:
< "7#3#34=:
> 4g)):6E?:
B Bg&&
3[BC:
F +g&&
3ZAG:
J"#*#3#35K:
P%
 '.&6&68Q:
^ *7+;+;<_:
b $c:
f ?Ig:
h />i:
j [)k:
n r"DMM2o:
p r"DMM2q:
r r"DMM2s:
x ]O2&6;,Z K-K(
 R $..1b!7<<0B,'k:v~~z;WY *f-;(;'J'FO
 r"DMM2r"DMM2%&6Z ;,;(FO
 &!6==16==&)
 g//9g//8G%%&G%%&	
eFr   r   c                      \ rS rSrSrSrS/rS/rSrSr	\
R                  rSS	\R                  4S
\4S\R"                  4S\R$                  4S\R(                  4S\4S\R,                  4S\4S\R2                  4S\4S\4/0rS rSrg)r   i=  z
For CBM BASIC V2 sources.
zCBM BASIC V2cbmbas*.basz-https://en.wikipedia.org/wiki/Commodore_BASICr   r}   zrem.*\nr"   znew|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                 >    [         R                  " SU 5      (       a  gg )Nz^\d+g?)r   matchtexts    r   analyse_textCbmBasicV2Lexer.analyse_text\  s     88GT"" #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   r   r   r   r   r~   r   r   r   r   =  s     DjG	I
9CMMME 	(Z /070@0@B ,W-@-@A=>BllLH%HMM*6"-v||<%$
F&r   r   c                   T   \ rS rSrSrSrSS/rSS/rS/rS	r	S
r
SrSrSrSrSrSrS\4S\R$                  4S\" \R$                  \R*                  \R$                  \R.                  5      4S\" \R$                  \R*                  \R$                  5      4S\R0                  R2                  4S\R.                  4S\R6                  4S\" \R:                  \R$                  \R:                  5      4S\" \R<                  \R$                  \R0                  \R$                  \5      4S\" \R<                  \R$                  \R0                  \R$                  \R0                  R2                  5      4S\" \R<                  \R$                  \R0                  R2                  5      4S\" \R$                  \R0                  R2                  \R$                  \5      4S\" \R:                  \R$                  \R*                  5      4S\" \R:                  \R$                  \R*                  5      4\ " S5      \ " S 5      \ " S!5      \ " S"5      \ " S#5      \ " S$5      S%\R0                  R2                  4S&\R*                  4S'\!RD                  4S(\!RD                  4S)\!RF                  RH                  4S)\!RF                  4S*\4S+\%4S,\R0                  R2                  4/S-RM                  S.RO                  \(" \)RT                  \5      5      5      \R<                  4/S-RM                  S.RO                  \(" \)RT                  \5      5      5      \R:                  4/S-RM                  S.RO                  \(" \)RT                  \5      5      5      \RV                  4/S-RM                  S.RO                  \(" \)RT                  \5      5      5      \RX                  4/S/RM                  S.RO                  \(" \)RT                  \5      5      5      \R:                  4/S/RM                  S.RO                  \5      5      \4/S0.r-S1 r.S2r/g3)4r   ic  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KEYrf  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PUTrz  	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UEVENTrk  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LONGrS  MODr]  OFFrp  OUTPUTRANDOMSIGNALSINGLESTEPSTRINGrc  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                     SU ;   d  SU ;   a  gg )Nr3  r4  ?r~   r   s    r   r   QBasicLexer.analyse_text  s    d!2 "3r   r~   N)0r   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   r   c  s    D!G'"II
0CM"LI  7L9IJ.H TNT__%)dootzz4??nn&' !dootzz4??CE($--*>*>?/6==)2g&&9I9IJL0g))4??DMMoot-. 1g))4??DMMoot}}';';=> $g))4??DMM<P<PQS+doot}}';';T__ ! *g&&DF"g&&DFN#K N#K L!J#T]]%9%9:

+!6<<0V\\*&..--.&..)7Bk*t}}++,U+
^  &&sxxBII|0L'MN  "

  &&sxxBIIy0I'JK

  &&sxxBII|0L'MN

  &&sxxBIIy0I'JKX]][
 RYY
)C DE

  23W=
EEFNr   r   c                      \ rS rSrSrSrS/rSS/rSrSr	\
R                  rS	\R                  4S
\4S\R"                  S4S\R&                  4S\R(                  4S\R(                  4S\R(                  4S\R*                  4S\4S\" \R0                  \\R4                  5      S4S\" \R0                  \\R6                  5      4S\" \R0                  \\R8                  5      4S\" \R0                  \\R:                  5      4S\" \\\5      4S\" \\\\\\\R*                  5      4S\" \\\\\\\5      4S\" \\\5      4S\" \R0                  \\R0                  \\R<                  5      4S\R                  4\" \ RB                  SS9\4\" \ RD                  5      \#4\" \ RH                  SS9\#RJ                  4\" \ RL                  SS9\R:                  4\" \ RN                  SS9\RP                  4\" \ RR                  SS9\RP                  4S \4S!\#4\" S"5      \*4S#\+4/S$\" \\*\\R4                  5      4\," S%5      /S&\R"                  4S'\R"                  4S\R"                  S%4S(\+S%4/S).r-S*r.g+),r   i  zA
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]*r0   )r3   z[a-z_][a-z0-9_]*z\b_\nz(),.:z.+(\n)?z(\s*)(,)(\s*)([a-z_][a-z0-9]*)r{   r   z\"\"r   )r}   r  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   r   rS   r   r   Propertyr   r   KEYWORDS	OPERATORSr   OPERATOR_WORDSr   BUILTIN_CONSTANTSBUILTIN_FUNCTIONSr   BUILTIN_VARIABLESr   r	   r   r   r   r~   r   r   r   r     s    DlG'"I
QCMMME (Z &--*FJJ'-v||<'6"FLL1'V,g)):t}}EzS5g)):t}}EG.g)):tzzBD.g)):t}}EG?gz7353gz7JU[UcUcdf8gz7JU\]_'':w)OPCg)):w7J7JJX\XeXefhw~~.%..u=wG%//0(;%44UCX]]S%77FV%77FU%77FU $'x 8_k*M'
R /j+z4==IKFO
 'fmm$6==&)E6"	
]4Fr   r   c                   .   \ rS rSrSr/ SQr/ SQrSrS/rS/r	Sr
S	rS
\R                  4S\" \R                   \R$                  5      4\" S5      /S\" \R(                  \R*                  5      4S\S4S\4S\R.                  4S\" \R(                  \\R(                  \R0                  5      4S\" \\R0                  5      4S\" \\\R                  5      4S\R2                  4S\R                   4\" \5      \4\" \5      \4S\R8                  S4S\R<                  4S\R>                  4S\R@                  4S\R@                  4S\R@                  4S\RB                  4S\RD                  4S \#4/S!\R8                  4S\R8                  S"4S\$S4/S#.r%S$ r&S%r'g&)'r   i3  zm
BBC Basic was supplied on the BBC Micro, and later Acorn RISC OS.
It is also used by BBC Basic For Windows.
)w	OTHERWISEr5  DIVEORr  r9  rX  rh  r  r  r%  r+  r  rc  OPENINPTRPAGETIMELOMEMHIMEMr   ACSADVALr   ASNr   BGETr   COUNTDEGr  r  EVALr  EXTFALSEFNr_  INKEYr  r  r  LNr  r8  OPENUPOPENOUTPIr  r  RADr  r#  r$  r&  r,  r  TRUEUSRr0  VPOSr   zGET$r  r  r  r  r(  r*  r  r  r  r  r  r  r  BPUTr>  r@  rC  rD  CLGrE  r   rP  rQ  rT  rU  ENDPROCENVELOPEr\  r`  ra  GCOLrb  rd  r   r  MODEMOVEr]  rp  VDUPLOTrx  PROCr|  r~  REPEATREPORTr  r  r  r  COLOURTRACEr  r  OSCLI)/WHENOFENDCASEr  ENDWHILEr  rB  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   r{   )r}   r&  r$   c                 ^    U R                  S5      (       d  U R                  S5      (       a  gg )Nz10REM >zREM >r  )
startswithr   s    r   r   BBCBasicLexer.analyse_text  s(    ??9%%)A)A *Br   r~   N)(r   r   r   r   r   base_keywordsbasic5_keywordsr   r   r   r   r   r   r   r   r
   r   r   Specialr   r   r   r   r   rS   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r~   r   r   r   r   3  s   9M$BO DlG	I
4CM 

#gnngoo68FO	
 g))7>>:<J'Z 7??# 6g)):))4==:; ,gt}}-/ 4gz4::68 g../N^^ =!7+?#W-&--*FJJ'vzz*2FLLA,fll;'6&..)'7A8LG$
L '6==&)E6"
[2Fhr   r   )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   <module>r1     s    
 H H4 4 4 .<UJ UpKj K\}* }@#j #LJ* JZ@J @F]J ]r   