
n[Tc           @   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 d d d d d	 g Z d e f d
     YZ d e f d     YZ d e f d     YZ d e f d     YZ d	 e f d     YZ d S(   s   
    pygments.lexers.basic
    ~~~~~~~~~~~~~~~~~~~~~

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

    :copyright: Copyright 2006-2014 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
iN(   t
   RegexLexert   bygroupst   defaultt   wordst   include(   t   Textt   Commentt   Operatort   Keywordt   Namet   Stringt   Numbert   Punctuationt   BlitzBasicLexert   BlitzMaxLexert   MonkeyLexert   CbmBasicV2Lexert   QBasicLexerc        ^   B   s  e  Z d  Z d Z d d g Z d g Z d g Z d Z d Z d Z	 d	 Z
 d
 e
 e e	 e
 f Z e d Z e j e j BZ i d e f d 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 e f d e f d e j f d e j  f d e
 e! e" j# e e e j$  f d e
 e
 f 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
 e! e" j# e e j$  f d e" j' f d e" j) f d  e" j* f e+ dt d& d' d( d' e j, f e+ du d& d' d( d' e" j# f dn e
 e j( f g do 6dp e j f dq e j dr f ds e j f g d 6Z- RS(v   sY   
    For `BlitzMax <http://blitzbasic.com>`_ source code.

    .. versionadded:: 1.4
    t   BlitzMaxt   blitzmaxt   bmaxs   *.bmxs
   text/x-bmxs   \b(Shl|Shr|Sar|Mod)\bs   @{1,2}|[!#$%]s&   \b(Int|Byte|Short|Float|Double|Long)\bs	   [a-z_]\w*sp   (%s)(?:(?:([ \t]*)(%s)|([ \t]*:[ \t]*\b(?:Shl|Shr|Sar|Mod)\b)|([ \t]*)(:)([ \t]*)(?:%s|(%s)))(?:([ \t]*)(Ptr))?)s   ?((?:[ \t]|\.\.\n)*)([(])s   [ \t]+s   \.\.\ns   '.*?\ns*   ([ \t]*)\bRem\n(\n|.)*?\s*\bEnd([ \t]*)Remt   "t   strings   [0-9]+\.[0-9]*(?!\.)s   \.[0-9]*(?!\.)s   [0-9]+s   \$[0-9a-f]+s   \%[10]+s9   (?:(?:(:)?([ \t]*)(:?%s|([+\-*/&|~]))|Or|And|Not|[=<>^]))s   [(),.:\[\]]s   (?:#[\w \t]*)s   (?:\?[\w \t]*)s   \b(New)\b([ \t]?)([(]?)(%s)s+   \b(Import|Framework|Module)([ \t]+)(%s\.%s)s   \b(Type|Extends)([ \t]+)(%s)s	   \b(Ptr)\bs#   \b(Pi|True|False|Null|Self|Super)\bs   \b(Local|Global|Const|Field)\bt   TNullMethodExceptiont   TNullFunctionExceptiont   TNullObjectExceptiont   TArrayBoundsExceptiont   TRuntimeExceptiont   prefixs   \bt   suffixt   Strictt   SuperStrictt   Modulet
   ModuleInfot   Endt   Returnt   Continuet   Exitt   Publict   Privatet   Vart   VarPtrt   Chrt   Lent   Asct   SizeOft   Sgnt   Abst   Mint   Maxt   Newt   Releaset   Deletet   Incbint	   IncbinPtrt	   IncbinLent	   Frameworkt   Includet   Importt   Externt	   EndExternt   Functiont   EndFunctiont   Typet   EndTypet   Extendst   Methodt	   EndMethodt   Abstractt   Finalt   Ift   Thent   Elset   ElseIft   EndIft   Fort   Tot   Nextt   Stept   EachInt   Whilet   Wendt   EndWhilet   Repeatt   Untilt   Forevert   Selectt   Caset   Defaultt	   EndSelectt   Tryt   Catcht   EndTryt   Throwt   Assertt   Gotot   DefDatat   ReadDatat   RestoreDatas   (%s)t   roots   ""s   "C?s   #pops   [^"]+(   R   R   R   R   R   (E   R   R   R    R!   R"   R#   R$   R%   R&   R'   R(   R)   R*   R+   R,   R-   R.   R/   R0   R1   R2   R3   R4   R5   R6   R7   R8   s   IncludeR:   R;   R<   s   FunctionR>   s   TypeR@   RA   RB   RC   RD   RE   RF   RG   RH   RI   RJ   RK   RL   RM   RN   RO   RP   RQ   RR   RS   RT   RU   RV   RW   RX   RY   RZ   R[   R\   R]   R^   R_   R`   Ra   Rb   (.   t   __name__t
   __module__t   __doc__t   namet   aliasest	   filenamest	   mimetypest   bmax_vopwordst   bmax_sktypest   bmax_lktypest	   bmax_namet   bmax_vart	   bmax_funct   ret	   MULTILINEt
   IGNORECASEt   flagsR   R   t   Singlet	   MultilineR
   t   DoubleR   t   Floatt   Integert   Hext   BinR   R   R	   t   Labelt   PreprocR   R   t   Reservedt   Classt	   NamespaceR=   R?   t   Variablet   Constantt   DeclarationR   t	   Exceptiont   tokens(    (    (    s9   /usr/lib/python2.7/dist-packages/pygments/lexers/basic.pyR      s   		
		
	
            	c        9   B   s  e  Z d  Z d Z d d d g Z d d g Z d g Z d Z d	 Z d
 e e e f Z	 e
 j e
 j BZ i 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' d& e f d( e f d) e f d* e e j f d+ e e e j e e j   f d, e e e j e e j  f d- e e e e e e e j   f d. e	 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 d0 e e e j e e j   f d1 e j# f d2 e j$ f e d\ d% d& d' d& e j f e	 e e j% e e j" e e e e j   f g dV 6dW e j f dX e j dY f dZ e j f g d 6Z& RS(]   s[   
    For `BlitzBasic <http://blitzbasic.com>`_ source code.

    .. versionadded:: 2.0
    t
   BlitzBasict
   blitzbasict   b3dt   bpluss   *.bbs   *.declss	   text/x-bbs   @{1,2}|[#$%]s   [a-z]\w*s3   (%s)(?:([ \t]*)(%s)|([ \t]*)([.])([ \t]*)(?:(%s)))?s   [ \t]+s   ;.*?\nR   R   s   [0-9]+\.[0-9]*(?!\.)s   \.[0-9]+(?!\.)s   [0-9]+s   \$[0-9a-f]+s   \%[10]+t   Shlt   Shrt   Sart   Modt   Ort   Andt   NotR/   R.   t   Handlet   IntRx   t   Strt   Firstt   Lastt   Beforet   AfterR   s   \bR   s   ([+\-*/~=<>^])s   [(),:\[\]\\]s   \.([ \t]*)(%s)s   \b(New)\b([ \t]+)(%s)s   \b(Gosub|Goto)\b([ \t]+)(%s)s'   \b(Object)\b([ \t]*)([.])([ \t]*)(%s)\bs   \b%s\b([ \t]*)(\()s   \b(Function)\b([ \t]+)%ss   \b(Type)([ \t]+)(%s)s   \b(Pi|True|False|Null)\bs"   \b(Local|Global|Const|Field|Dim)\bR"   R#   R%   R*   R+   R,   R2   R4   t   InsertR9   R=   R?   RF   RG   RH   RI   RJ   RK   RL   RM   RN   t   EachRP   RQ   RS   RT   RU   RV   RW   RX   R_   t   Gosubt   Datat   Readt   RestoreRc   s   ""s   "C?s   #pops   [^"]+(   R   R   R   R   R   R   R   s   Abss   SgnR   R   s   FloatR   R   R   R   R   (#   s   Ends   Returns   Exits   Chrs   Lens   Ascs   News   DeleteR   s   Includes   Functions   Types   Ifs   Thens   Elses   ElseIfs   EndIfs   Fors   Tos   Nexts   StepR   s   Whiles   Wends   Repeats   Untils   Forevers   Selects   Cases   Defaults   GotoR   R   R   R   ('   Rd   Re   Rf   Rg   Rh   Ri   Rj   t
   bb_sktypest   bb_namet   bb_varRq   Rr   Rs   Rt   R   R   Ru   R
   Rw   R   Rx   Ry   Rz   R{   R   R   R   R	   R|   R   R   R~   R   R=   R?   R   R   R   R   (    (    (    s9   /usr/lib/python2.7/dist-packages/pygments/lexers/basic.pyR   q   sn   		 		    	c        "   B   s  e  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 e j Z i 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 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 d- e	 e j# f d- e e j* f d- e e j+ f g  d. 6d/ e e j* f d0 e' d# f d e f d1 e' d f d2 e' d3 f g d% 6d4 e e j% f d- e e j f d- e
 e j, f d5 e$ e' e e j e e'  f d6 e d3 f d7 e' d8 f d9 e' d3 f d: e d3 f e- d3  g	 d# 6d- e	 e j# f d- e e j+ f d; e e j f d e f d0 e' d# f d< e' d8 f e- d3  g d 6d= e j f d> e j. f d e j d3 f g d 6d? e j d8 f d@ e j d3 f d: e j f dA e j f g d 6Z/ RS(B   s   
    For
    `Monkey <https://en.wikipedia.org/wiki/Monkey_(programming_language)>`_
    source code.

    .. versionadded:: 1.6
    t   Monkeyt   monkeys   *.monkeys   text/x-monkeys	   [a-z_]\w*s   [A-Z]\w*s   [A-Z_][A-Z0-9_]*s
   [a-z0-9_]*s+   (?:Int|Float|String|Bool|Object|Array|Void)s   [?%#$]s   \s+s   '.*s   (?i)^#rem\bt   comments6   (?i)^(?:#If|#ElseIf|#Else|#EndIf|#End|#Print|#Error)\bs   ^#t	   variablesR   R   s   [0-9]+\.[0-9]*(?!\.)s   \.[0-9]+(?!\.)s   [0-9]+s   \$[0-9a-fA-Z]+s   \%[10]+s   \b%s\bs   (?i)\b(?:Try|Catch|Throw)\bt	   Throwables   (?i)\b(?:Null|True|False)\bs   (?i)\b(?:Self|Super)\bs   \b(?:HOST|LANG|TARGET|CONFIG)\bs   (?i)^(Import)(\s+)(.*)(\n)s   (?i)^Strict\b.*\ns#   (?i)(Const|Local|Global|Field)(\s+)s1   (?i)(New|Class|Interface|Extends|Implements)(\s+)t	   classnames   (?i)(Function|Method)(\s+)t   funcnamesB   (?i)(?:End|Return|Public|Private|Extern|Property|Final|Abstract)\bs   (?i)(?:If|Then|Else|ElseIf|EndIf|Select|Case|Default|While|Wend|Repeat|Until|Forever|For|To|Until|Step|EachIn|Next|Exit|Continue)\s+s   (?i)\b(?:Module|Inline)\bs   [\[\]]s.   <=|>=|<>|\*=|/=|\+=|-=|&=|~=|\|=|[-&*/^+=<>|~]s   (?i)(?:Not|Mod|Shl|Shr|And|Or)s   [(){}!#,.:]s   %s\bRc   s   (?i)%s\bt   :s   \(s   \)s   #pops   %s\.s   (\[)(\s*)(\d*)(\s*)(\])s   \s+(?!<)t   <s   #pusht   >s   \ns   %st   ,s   [^"~]+s   ~q|~n|~r|~t|~z|~~s   (?i)^#rem.*?s   (?i)^#end.*?s   .+(0   Rd   Re   Rf   Rg   Rh   Ri   Rj   t   name_variablet   name_functiont   name_constantt
   name_classt   name_modulet   keyword_typet   keyword_type_specialRq   Rr   Rt   R   R   Rv   R}   R
   Rw   R   Rx   Ry   Rz   R{   R   R?   R~   R	   R   t   Builtint   PseudoR   R   R   R   R   R   t   WordR=   R   R   R   t   EscapeR   (    (    (    s9   /usr/lib/python2.7/dist-packages/pygments/lexers/basic.pyR      s   													c           B   s   e  Z d  Z d Z d g Z d g Z e j Z i 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 d 6Z d   Z RS(   s>   
    For CBM BASIC V2 sources.

    .. versionadded:: 1.6
    s   CBM BASIC V2t   cbmbass   *.bass   rem.*\ns   \s+s   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#?s   data|restore|dim|let|def|fnsk   tab|spc|sgn|int|abs|usr|fre|pos|sqr|rnd|log|exp|cos|sin|tan|atn|peek|len|val|asc|(str|chr|left|right|mid)\$s
   [-+*/^<>=]s
   not|and|ors	   "[^"\n]*.s   \d+|[-+]?\d*\.\d*(e[-+]?\d+)?s   [(),:;]s   \w+[$%]?Rc   c         C   s   t  j d |  r d Sd  S(   Ns   \d+g?(   Rq   t   match(   t   selft   text(    (    s9   /usr/lib/python2.7/dist-packages/pygments/lexers/basic.pyt   analyse_texta  s    (   Rd   Re   Rf   Rg   Rh   Ri   Rq   Rs   Rt   R   Ru   R   R   R~   R   R	   R   R   R   R
   R   Rx   R   R   R   (    (    (    s9   /usr/lib/python2.7/dist-packages/pygments/lexers/basic.pyR   B  s(   									c           B   s~  e  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 i 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6ddj" e# e$ j% e   e j f g d6ddj" e# e$ j% e   e j f g d6ddj" e# e$ j% e	   e j& f g d6ddj" e# e$ j% e
   e j' f g d	6ddj" e# e$ j% e   e j f g d
6ddj" e  e f g d6Z( d  Z) RS(  sm   
    For
    `QBasic <http://en.wikipedia.org/wiki/QBasic>`_
    source code.

    .. versionadded:: 2.0
    t   QBasict   qbasict   basics   *.BASs   *.bass
   text/basict   DATAt   LETt   ABSt   ASCt   ATNt   CDBLs   CHR$t   CINTt   CLNGs   COMMAND$t   COSt   CSNGt   CSRLINt   CVDt   CVDMBFt   CVIt   CVLt   CVSt   CVSMBFs   DATE$s   ENVIRON$t   EOFt   ERDEVs   ERDEV$t   ERLt   ERRt   EXPt   FILEATTRt   FIXt   FREt   FREEFILEs   HEX$s   INKEY$t   INPs   INPUT$t   INSTRt   INTs   IOCTL$t   LBOUNDs   LCASE$s   LEFT$t   LENt   LOCt   LOFt   LOGt   LPOSs   LTRIM$s   MID$s   MKD$s   MKDMBF$s   MKI$s   MKL$s   MKS$s   MKSMBF$s   OCT$t   PEEKt   PENt   PLAYt   PMAPt   POINTt   POSs   RIGHT$t   RNDs   RTRIM$t   SADDt   SCREENt   SEEKt   SETMEMt   SGNt   SINs   SPACE$t   SPCt   SQRt   STICKs   STR$t   STRIGs   STRING$t   TABt   TANs   TIME$t   TIMERt   UBOUNDs   UCASE$t   VALt   VARPTRs   VARPTR$t   VARSEGs   $DYNAMICs   $INCLUDEs   $STATICt   ANDt   EQVt   IMPt   NOTt   ORt   XORt   BEEPt   BLOADt   BSAVEt   CALLs   CALL ABSOLUTEs   CALL INTERRUPTt   CALLSt   CHAINt   CHDIRt   CIRCLEt   CLEARt   CLOSEt   CLSt   COLORt   COMt   COMMONt   CONSTt   DECLAREs   DEF FNs   DEF SEGt   DEFDBLt   DEFINTt   DEFLNGt   DEFSNGt   DEFSTRt   DEFt   DIMt   DOt   LOOPt   DRAWt   ENDt   ENVIRONt   ERASEt   ERRORt   EXITt   FIELDt   FILESt   FORt   NEXTt   FUNCTIONt   GETt   GOSUBt   GOTOt   IFt   THENt   INPUTs   INPUT #t   IOCTLt   KEYt   KILLt   LINEs
   LINE INPUTs   LINE INPUT #t   LOCATEt   LOCKt   UNLOCKt   LPRINTt   LSETt   MKDIRt   NAMEs   ON COMs   ON ERRORs   ON KEYs   ON PENs   ON PLAYs   ON STRIGs   ON TIMERs	   ON UEVENTt   ONt   OPENs   OPEN COMs   OPTION BASEt   OUTt   PAINTt   PALETTEt   PCOPYt   POKEt   PRESETt   PRINTs   PRINT #s   PRINT USINGt   PSETt   PUTt	   RANDOMIZEt   READt   REDIMt   REMt   RESETt   RESTOREt   RESUMEt   RETURNt   RMDIRt   RSETt   RUNs   SELECT CASEt   SHAREDt   SHELLt   SLEEPt   SOUNDt   STATICt   STOPt   SUBt   SWAPt   SYSTEMt   TROFFt   TRONt   TYPEt   UEVENTt   VIEWt   WAITt   WHILEt   WENDt   WIDTHt   WINDOWt   WRITEt   ACCESSt   ALIASt   ANYt   APPENDt   ASt   BASEt   BINARYt   BYVALt   CASEt   CDECLt   DOUBLEt   ELSEt   ELSEIFt   ENDIFt   INTEGERt   ISt   LISTt   LOCALt   LONGt   MODt   OFFt   OUTPUTt   RANDOMt   SIGNALt   SINGLEt   STEPt   STRINGt   TOt   UNTILt   USINGs   \n+s   \s+s   ^(\s*)(\d*)(\s*)(REM .*)$s   ^(\s*)(\d+)(\s*)s   (?=[\s]*)(\w+)(?=[\s]*=)s   (?=[^"]*)\'.*$s	   "[^\n"]*"s"   (END)(\s+)(FUNCTION|IF|SELECT|SUB)s    (DECLARE)(\s+)([A-Z]+)(\s+)(\S+)s    (DIM)(\s+)(SHARED)(\s+)([^\s(]+)s   (DIM)(\s+)([^\s(]+)s   ^(\s*)([a-zA-Z_]+)(\s*)(\=)s   (GOTO|GOSUB)(\s+)(\w+\:?)s   (SUB)(\s+)(\w+\:?)t   declarationst	   functionst   metacommandst	   operatorst
   statementst   keywordss   [a-zA-Z_]\w*[$@#&!]s   [a-zA-Z_]\w*\:s   \-?\d*\.\d+[@|#]?s   \-?\d+[@|#]s   \-?\d+#?s'   !=|==|:=|\.=|<<|>>|[-~+/\\*%=<>&^|?:!.]s   [\[\]{}(),;]s   [\w]+Rc   s   \b(%s)(?=\(|\b)t   |s   \b(%s)\bc         C   s    d |  k s d |  k r d Sd  S(   Ns   $DYNAMICs   $STATICg?(    (   R   (    (    s9   /usr/lib/python2.7/dist-packages/pygments/lexers/basic.pyR     s    (   R   R   (U   R   R   R   R   s   CHR$R   R   s   COMMAND$R   R   R   R   R   R   R   R   R   s   DATE$s   ENVIRON$R   R   s   ERDEV$R   R   R   R   R   R   R   s   HEX$s   INKEY$R   s   INPUT$R   R   s   IOCTL$R   s   LCASE$s   LEFT$R   R   R   R   R   s   LTRIM$s   MID$s   MKD$s   MKDMBF$s   MKI$s   MKL$s   MKS$s   MKSMBF$s   OCT$R   R   R   R   R   R   s   RIGHT$R   s   RTRIM$R   R   R   R   R   R   s   SPACE$R   R   R   s   STR$R   s   STRING$R   R   s   TIME$R   R   s   UCASE$R   R   s   VARPTR$R   (   s   $DYNAMICs   $INCLUDEs   $STATIC(   R   R   R   R   R   R   (   R   R  R  s   CALLs   CALL ABSOLUTEs   CALL INTERRUPTR  R  R  R  R  R	  R
  R  R  R  R  R   s   DATE$R  s   DEF FNs   DEF SEGR  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   INPUT #R*  R+  R+  R,  R   R-  s
   LINE INPUTs   LINE INPUT #R.  R/  R0  R1  R2  s   MID$R3  R4  s   ON COMs   ON ERRORs   ON KEYs   ON PENs   ON PLAYs   ON STRIGs   ON TIMERs	   ON UEVENTR5  R6  s   OPEN COMs   OPTION BASER7  R8  R9  R:  R   R   R;  R<  R=  s   PRINT #s   PRINT USINGR>  R?  R?  R@  RA  RB  RC  RD  RE  RF  RG  RH  RI  RJ  R   R   s   SELECT CASERK  s   SHELLRM  RN  RO  RP  R   RQ  RR  RS  s   TIME$R   RT  RU  RV  RW  R0  RX  RY  RZ  R[  R\  R]  R^  (#   R_  R`  s   ANYRb  Rc  Rd  Re  Rf  Rg  Rh  Ri  Rj  Rk  Rl  Rm  Rn  Ro  Rp  Rq  R  Rr  R"  Rs  R5  Rt  Ru  Rv  Rw  Rx  Ry  R(  Rz  R{  R|  R[  (*   Rd   Re   Rf   Rg   Rh   Ri   Rj   R}  R~  R  R  R  R  R   t
   WhitespaceR   R	   R|   R   Ru   R   t   GlobalR
   Rw   R   R~   R   R   R   R   Rx   Ry   t   LongR   t   joint   mapRq   t   escapeR   R   R   R   (    (    (    s9   /usr/lib/python2.7/dist-packages/pygments/lexers/basic.pyR   h  s   	                                   										, (   Rf   Rq   t   pygments.lexerR    R   R   R   R   t   pygments.tokenR   R   R   R   R	   R
   R   R   t   __all__R   R   R   R   R   (    (    (    s9   /usr/lib/python2.7/dist-packages/pygments/lexers/basic.pyt   <module>
   s   (:	[O&