3 ��XRO � @ s� d Z ddlZddlmZmZmZmZmZ ddlm Z m Z mZmZm Z mZmZmZ ddddd gZG d d� de�ZG dd� de�ZG dd� de�ZG d d� de�ZG dd � d e�ZdS )z� pygments.lexers.basic ~~~~~~~~~~~~~~~~~~~~~ Lexers for BASIC like languages (other than VB.net). :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. � N)� RegexLexer�bygroups�default�words�include)�Text�Comment�Operator�Keyword�Name�String�Number�Punctuation�BlitzBasicLexer� BlitzMaxLexer�MonkeyLexer�CbmBasicV2Lexer�QBasicLexerc ] @ s� e Zd ZdZdZddgZdgZdgZdZdZ d Z d Zdee e ef Zed Z ejejB Zd efdefdejfdejfdejdfdejfdejfdejfdejfdejfde efdefdej fdej!fde e"e#j$eeej%�fdeef e"e#j$ee#j&�fe e"ej'ee#j(eeeee#j(ej%ee#j(ee� fee"ej)ee#j(eeeee#j(ej%ee#j(�fde e"e#j$eej%�fde#j(fd e#j*fd!e#j+fe,dud'd'd(�ej-fe,dvd'd'd(�e#j$fdne ej)fgdoejfdpejdqfdrejfgds�Z.dtS )wr zY 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�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[^"]+)�rootr N)r r r r r )Er r r r r! r"