+
    TBiUm                        R t ^ RIt^ RIHtHtHtHtHt ^ RIH	t	H
t
HtHtHtHtHtHtHtHt ^ RIHt . ROt ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R	]4      t ! R R
]4      t ! R R]4      tR# )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            !          ] tR t^tRtRtRtRR.tR.tR.t	Rt
R	tR
tRtRtR] R] R] R] R2	t]R,           t]P$                  ]P&                  ,          tRR]3R]! ]]4      3R]P2                  3R]P4                  3R]P8                  R3R]P<                  3R]P<                  3R]P>                  3R]P@                  3R]PB                  3R] R 2]"3R!]#3R"]$PJ                  3R#]PL                  3R$] R%2]! ]'PP                  ]]#]$PR                  4      3R&] R'] R%2]! ]'PP                  ]]'PT                  4      3]]! ]$PV                  ]]'PX                  ]"]]#]]'PX                  ]$PR                  ]]'PX                  ]]#4      3]]! ]$PZ                  ]]'PX                  ]"]]#]]'PX                  ]$PR                  ]]'PX                  4      3R(] R%2]! ]'PP                  ]]$PR                  4      3R)]'PX                  3R*]'P\                  3R+]'P^                  3]0! R4R,R,R-7      ]$Pb                  3]0! R5R,R,R-7      ]'PP                  3R] R%2]$PZ                  3.RR.]P8                  3R/]P8                  R03R1]P8                  3./t2R2t3R3# )6r   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)*)([(])root\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\bprefixsuffix"""C?#popz[^"]+ N)TNullMethodExceptionTNullFunctionExceptionTNullObjectExceptionTArrayBoundsExceptionTRuntimeException)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)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	NamespacerV   rX   VariableConstantDeclarationr   	Exceptiontokens__static_attributes__r1       :/usr/lib/python3.14/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
t 	FMM"V]]F+v}}%
w@Fr   c                       ] tR t^otRtRtRt. R-OtRR.tR.t	Rt
RtR	tR
] R] R] R2t]P                  ]P                   ,          tRR]3R]P(                  3R]P,                  R3R]P0                  3R]P0                  3R]P2                  3R]P4                  3R]P6                  3]! R.RRR7      ]3R]3R]3R] R2]P@                  3R] R2]!! ]"PF                  ]]PH                  4      3R] R2]!! ]"PF                  ]]P@                  4      3R ] R!2]!! ]]]]]PH                  4      3R] R"2]!! ]PJ                  ]]"PL                  ]]]]PH                  ]]4	      3R#] 2]!! ]"PF                  ]]PJ                  ]]"PL                  ]]]]PH                  4	      3R$] R2]!! ]"PF                  ]]PH                  4      3R%]"PN                  3R&]"PP                  3]! R/RRR7      ]"PF                  3]]!! ]PR                  ]]"PL                  ]]]]PH                  4      3.RR']P,                  3R(]P,                  R)3R*]P,                  3./t*R+t+R,# )0r   z
For BlitzBasic source code.

BlitzBasicr   z*.bbz*.declsz	text/x-bb2.0z@{1,2}|[#$%]z[a-z]\w*r   z)(?:([ \t]*)(z)|([ \t]*)([.])([ \t]*)(?:(z)))?r    r!   z;.*?\nr"   r#   r$   \.[0-9]+(?!\.)r%   r&   r'   r*   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)\br.   r/   r0   [^"\n]+r1   N)
blitzbasicb3dbplus)ShlShrSarModOrAndNotrH   rG   HandleIntr   StrFirstLastBeforeAfter)#r;   r<   r>   rC   rD   rE   rK   rM   InsertrR   rV   rX   r_   r`   ra   rb   rc   rd   re   rf   rg   Eachri   rj   rl   rm   rn   ro   rp   rq   rx   GosubDataReadRestore),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   rV   rX   r   r   r   r   r   r1   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
h 	FMM"V]]F+'
k:Fr   c                   f   ] tR t^tRtRtR.tR.tR.tRt	Rt
RtR	tR
tR	tRtRtRt]P&                  tR. R]3NR]3NR]P.                  R3NR]P0                  3NR]P0                  R3NR]P4                  R3NR]P8                  3NR]P8                  3NR]P:                  3NR]P<                  3NR]P>                  3NR] R2] PB                  3NR] PD                  3NR]#PH                  3NR ]#PJ                  3NR!]#PJ                  PL                  3NR"]#PN                  3NR#](! ] PR                  ]]#PR                  ]4      3NR$] PD                  3NR%](! ] PT                  ]4      R3NR&](! ] PD                  ]4      R'3NR(](! ] PD                  ]4      R)3NR*] PD                  3NR+] PD                  3NR,] PD                  3NR-]+3NR.],3NR/],PZ                  3NR0]+3N] R2]#PN                  3N] R2]#P\                  3N] R2]#P^                  3NR)R1] R2]#P\                  3R2]+R'3R]3R3]+R3R4]+R53.R'] R62]#PR                  3] R2] PB                  3] R2]#P`                  3R7](! ]+]]P:                  ]]+4      3R8]R53R9]+R:3R;]+R53R<]R53]1! R54      .	R] R2]#PN                  3] R2]#P^                  3] ] PB                  3R]3R2]+R'3R=]+R:3]1! R54      .RR>]P4                  3R?]Pd                  3R]P4                  R53.RR@]P.                  R:3RA]P.                  R53R<]P.                  3RB]P.                  3./t3RCt4RD# )Er   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    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\)r0   r)   z(\[)(\s*)(\d*)(\s*)(\])z\s+(?!<)<z#push>\n,z[^"~]+z~q|~n|~r|~t|~z|~~z(?i)^#rem.*?z(?i)^#end.*?z.+r1   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	   rX   r   r
   r   BuiltinPseudor   r   r   r   r   r   WordrV   r   r   r   Escaper   r   r1   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:
v 	]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   c                     a  ] tR tRt o RtRtR.tR.tRtRt	]
P                  tRR	]P                  3R
]3R]P"                  3R]P$                  3R]P(                  3R]3R]P,                  3R]3R]P2                  3R]3R]3./tR tRtV tR# )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                D    \         P                  ! R V 4      '       d   R# R# )z^\d+g?N)r   matchtexts   &r   analyse_textCbmBasicV2Lexer.analyse_text\  s     88GT"" #r   r1   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   __classdictcell____classdict__s   @r   r   r   =  s      DjG	I
9CMMME 	(Z /070@0@B ,W-@-@A=>BllLH%HMM*6"-v||<%$
F& r   c                   l  a  ] tR tRt o RtRtRR.tRR.tR.tR	t	R
t
R.tR/tR0tR1tR2tR3tRR]3R]P$                  3R]! ]P$                  ]P*                  ]P$                  ]P.                  4      3R]! ]P$                  ]P*                  ]P$                  4      3R]P0                  P2                  3R]P.                  3R]P6                  3R]! ]P:                  ]P$                  ]P:                  4      3R]! ]P<                  ]P$                  ]P0                  ]P$                  ]4      3R]! ]P<                  ]P$                  ]P0                  ]P$                  ]P0                  P2                  4      3R]! ]P<                  ]P$                  ]P0                  P2                  4      3R]! ]P$                  ]P0                  P2                  ]P$                  ]4      3R]! ]P:                  ]P$                  ]P*                  4      3R]! ]P:                  ]P$                  ]P*                  4      3] ! R4      ] ! R4      ] ! R4      ] ! R4      ] ! R4      ] ! R4      R ]P0                  P2                  3R!]P*                  3R"]!PD                  3R#]!PD                  3R$]!PF                  PH                  3R$]!PF                  3R%]3R&]%3R']P0                  P2                  3.RR(PM                  R)PO                  ](! ])PT                  ]4      4      4      ]P<                  3.RR(PM                  R)PO                  ](! ])PT                  ]4      4      4      ]P:                  3.RR(PM                  R)PO                  ](! ])PT                  ]4      4      4      ]PV                  3.RR(PM                  R)PO                  ](! ])PT                  ]4      4      4      ]PX                  3.RR*PM                  R)PO                  ](! ])PT                  ]4      4      4      ]P:                  3.RR*PM                  R)PO                  ]4      4      ]3./t-R+ t.R,t/V t0R-# )4r   ic  z
For QBasic source code.
QBasicqbasicbasicz*.BASr   z
text/basicz$https://en.wikipedia.org/wiki/QBasicr   r    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({})\bc                &    R V 9   g   RV 9   d   R# R# )$DYNAMIC$STATIC?Nr1   r   s   &r   r   QBasicLexer.analyse_text  s    d!2 "3r   r1   N)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)r   z$INCLUDEr   )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KEYrn  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PUTr  	RANDOMIZEREADREDIMREMRESETRESTORERESUMERETURNRMDIRRSETRUNr*  r+  zSELECT CASESHAREDSHELLSLEEPSOUNDSTATICSTOPr3  SUBSWAPSYSTEMr7  r8  TROFFTRONTYPEUEVENTrs  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LONGr[  MODre  OFFrx  OUTPUTRANDOMSIGNALSINGLESTEPSTRINGrk  TOUNTILUSINGr  )1r|   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   s   @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   c                      ] tR tRtRtRtR.tRR.tRtRt	]
P                  tR	R
]P                  3R]3R]P"                  R3R]P&                  3R]P(                  3R]P(                  3R]P(                  3R]P*                  3R]3R]! ]P0                  ]]P4                  4      R3R]! ]P0                  ]]P6                  4      3R]! ]P0                  ]]P8                  4      3R]! ]P0                  ]]P:                  4      3R]! ]]]4      3R]! ]]]]]]]P*                  4      3R]! ]]]]]]]4      3R]! ]]]4      3R]! ]P0                  ]]P0                  ]]P<                  4      3R]P                  3]! ] PB                  RR 7      ]3]! ] PD                  4      ]#3]! ] PH                  RR 7      ]#PJ                  3]! ] PL                  RR 7      ]P:                  3]! ] PN                  RR 7      ]PP                  3]! ] PR                  RR 7      ]PP                  3R!]3R"]#3]! R#4      ]*3R$]+3.RR%]! ]]*]]P4                  4      3],! R&4      .RR']P"                  3R(]P"                  3R]P"                  R&3R)]+R&3./t-R*t.R+# ),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.4r    z'[^\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*   )r-   z[a-z_][a-z0-9_]*z\b_\nz(),.:z.+(\n)?z(\s*)(,)(\s*)([a-z_][a-z0-9]*)r0   r   z\"\"r   r1   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   rV   r   r   Propertyr   r   KEYWORDS	OPERATORSr   OPERATOR_WORDSr   BUILTIN_CONSTANTSBUILTIN_FUNCTIONSr   BUILTIN_VARIABLESr   r   r   r   r   r1   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'
P 	.j+z4==IKFO

 	'fmm$6==&)E6"	
]4Fr   c                     a  ] tR tRt o Rt. RNRNRNRNRNRNR	NR
NRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNR NR!NR"NR#NR$NR%NR&NR'NR(NR)NR*NR+NR,NR-NR.NR/NR0NR1NR2NR3NR4NR5NR6NR7NR8NR9NR:NR;NR<NR=NR>NR?NR@NRANRBNRCNRDNRENRFNRGNRHNRNRNRNRNRNRINRJNRKNRLNRMNRNNRONRPNRQNRRNRSNRTNRUNRVNRWNRXNRYNRZNR[NR\NR]NR^NR_NR`NRaNRbNRcNRdNReNRfNRgNRhNRiNRjNRkNRlNRmNRnNRoNRpNRqNRrNRsNRtNt. RuNRvNRwNRxNRyNRzNR{NR|NR}NR3NR~NRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNtRtR.tR.t	Rt
RtRR]P                  3R]! ]P                   ]P$                  4      3]! R4      .RR]! ]P(                  ]P*                  4      3R]R3R]3R]P.                  3R]! ]P(                  ]]P(                  ]P0                  4      3R]! ]]P0                  4      3R]! ]]]P                  4      3R]P2                  3R]P                   3]! ]4      ]3]! ]4      ]3R]P8                  R3R]P<                  3R]P>                  3R]P@                  3R]P@                  3R]P@                  3R]PB                  3R]PD                  3R]#3.RR]P8                  3R]P8                  R3R]$R3./t%R t&Rt'V t(R# )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.
	OTHERWISEr=  DIVEORr  rA  r`  rp  r  r  r/  r5  r  rk  OPENINPTRPAGETIMELOMEMHIMEMr   ACSADVALr   ASNr   BGETr  COUNTDEGr  r  EVALr  EXTFALSEFNrg  INKEYr  r  r  LNr  r@  OPENUPOPENOUTPIr%  r&  RADr(  r-  r.  r0  r6  r  TRUEUSRr:  VPOSr   zGET$r  r  r   r'  r2  r4  r  r  BPUTrF  rH  rK  rL  CLGrM  r   rX  rY  r\  r]  ENDPROCENVELOPErd  rh  ri  GCOLrj  rl  r   r  MODEMOVEre  rx  VDUPLOTr  PROCr  r  REPEATREPORTr  r  r  r  COLOURTRACEr  r  OSCLIWHENOFENDCASEr  ENDWHILEr  rJ  FILLORIGIN	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TWINOSUMBEATz	BBC Basicbbcbasicz*.bbcz(https://www.bbcbasic.co.uk/bbcbasic.htmlr  r    r%   z(\*)([^\n]*)codez(REM)([^\n]*)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   r0   c                f    V P                  R 4      '       g   V P                  R4      '       d   R# R# )z10REM >zREM >r   N)
startswithr   s   &r   r   BBCBasicLexer.analyse_text  s(    ??9%%)A)A *Br   r1   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   rV   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s   @r   r   r   3  s    9[ 9% 9 9 9u 9d 9G 99"9$*9,19389:@9BH99$9&,9.496=9?F9HM9 9 $9 &+9 -29 499 ;A9 CH9 JQ9 	9 "	9 $)	9 +1	9 38	9 :?	9 AH	9 JN	9
 9
 $9
 &-9
 /49
 6;9
 =A9
 CH9
 JO9 9  )9 +/9 189 :?9 AF9 HM9 9 "9 $)9 +09 269 8>9 @E9 GL9 9 $9 &,9 .69 8?9 AG9 9  &9 (19 389 :?9 AG9 IO9 9 &9 (/9 179 9?9 AH9 JQ9 9 $9 &+9 -39 5:9 <A9 CI9 KP9 9 !+9 -29 4;9 =C9 EK9 MQ9 9 $9 &-9 /59 7=9 ?E9 GK9 9 #9 %,9 .49 6<9 >C9 EM9 9  )9 +39 5:9 <B9 DL9  !9  &!9  (/!9  18!9M$Bv Bt BY B B BV BB!'B)1B3:B<GBIOBB &B(/B17B9>B@IB !B #)B +4B 6=B ?FB HPB 	B !)	B +4	B 6>	B @F	B HP	B
  B
 "(B
 *0B
 28B
 :@B
 BHB
 JOB B )B +1B 3=B ?IB B  'B )2B 49B ;A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$
J 	'6==&)E6"
[2Fh r   )r   r   r   r   r   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   r1   r   r   <module>r/     s    
 H H4 4 4 .<UJ UpKj K\}* }@#j #LJ* JZ@J @F]J ]r   