
xi\c           @   s   d  Z  d d l Z d d l m Z 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 g Z d e f d     YZ d e f d	     YZ d e f d
     YZ d S(   s   
    pygments.lexers.unicon
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexers for the Icon and Unicon languages, including ucode VM.

    :copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
iN(   t
   RegexLexert   includet   bygroupst   wordst   usingt   this(   t   Textt   Commentt   Operatort   Keywordt   Namet   Stringt   Numbert   Punctuationt	   IconLexert
   UcodeLexert   UniconLexerc        9  B   sJ  e  Z d  Z d Z d g Z d g Z d g Z e j Z	 i d e
 f d e j f d e
 f d e j d f d	 e e j e
 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 e dqd) d* d+ d* e j f e drd) d* d+ d* e j f e dW dXe f dYe f dZe f d[e f d\e f d]e j f d^e f d_e f d`e e e e   f dae f dbe f dce
 f g dd6dee j f dfe j  f dge j! f g dW6dhe dsf dke dif dle j f e dd g d 6dhe djf g d
 6dme dif dne j" f doe f dpe j f e dd g dj6Z# RS(t  s<   
    For Unicon source code.

    .. versionadded:: 2.4
    t   Unicont   unicons   *.icns   text/unicons   [^\S\n]+s   #.*?\ns   class|method|proceduret
   subprograms   (record)(\s+)(\w+)t   type_defs^   (#line|\$C|\$Cend|\$define|\$else|\$endif|\$error|\$ifdef|\$ifndef|\$include|\$line|\$undef)\bs   (&null|&fail)\bs  &allocated|&ascii|&clock|&collections|&column|&col|&control|&cset|&current|&dateline|&date|&digits|&dump|&errno|&errornumber|&errortext|&errorvalue|&error|&errout|&eventcode|&eventvalue|&eventsource|&e|&features|&file|&host|&input|&interval|&lcase|&letters|&level|&line|&ldrag|&lpress|&lrelease|&main|&mdrag|&meta|&mpress|&mrelease|&now|&output|&phi|&pick|&pi|&pos|&progname|&random|&rdrag|&regions|&resize|&row|&rpress|&rrelease|&shift|&source|&storage|&subject|&time|&trace|&ucase|&version|&window|&x|&ys   (by|of|not|to)\bs    (global|local|static|abstract)\bs   package|link|importt   breakt   caset   createt   criticalt   defaultt   endt   allt   dot   elset   everyt   failt   ift   importt   initialt	   initiallyt	   invocablet   nextt   repeatt   returnt   suspendt   thent   threadt   untilt   whilet   prefixs   \bt   suffixt   Abortt   abst   acost   Activet   Alertt   anyt   Anyt   Arbt   Arbnot   argst   arrayt   asint   atant   atanht   Attribt   Balt   balt   Bgt   Breakt   Breakxt   calloutt   centert   chart   chdirt   chmodt   chownt   chroott	   classnamet   Clipt   Clonet   closet   cofailt   collectt   Colort
   ColorValuet   condvart   constructort   copyt   CopyAreat   cost   Couplet   cryptt   csett   ctimet	   dbcolumnst   dbdrivert   dbkeyst   dblimitst	   dbproductt   dbtablest   delayt   deletet   detabt   displayt   DrawArct
   DrawCirclet   DrawCubet	   DrawCurvet   DrawCylindert   DrawDiskt	   DrawImaget   DrawLinet	   DrawPointt   DrawPolygont   DrawRectanglet   DrawSegmentt
   DrawSpheret
   DrawStringt	   DrawTorust   dtort   entabt	   EraseAreat
   errorcleart   Eventt	   eventmaskt   EvGett   EvSendt   exect   exitt   expt   Eyet   Failt   fcntlt   fdupt   Fencet   fetcht   Fgt
   fieldnamest   filepairt   FillArct
   FillCirclet   FillPolygont   FillRectanglet   findt   flockt   flusht   Fontt   forkt	   FreeColort	   FreeSpacet   functiont   gett   getcht   getchet   getegidt   getenvt   geteuidt   getgidt   getgrt   gethostt   getpgrpt   getpidt   getppidt   getpwt	   getrusaget   getservt   GetSpacet   gettimeofdayt   getuidt   globalnamest   GotoRCt   GotoXYt   gtimet   hardlinkt   iandt   icomt   IdentityMatrixt   imaget   InPortt   insertt   Int86t   integert   ioctlt   iort   ishiftt   istatet   ixort   kbhitt   keyt   keywordt   killt   leftt   Lent   listt   loadt   loadfunct
   localnamest   lockt   logt   Lowert   lstatt   manyt   mapt   matcht
   MatrixModet   maxt   membert   membernamest   methodnamest   methodst   mint   mkdirt   movet
   MultMatrixt   mutext   namet   NewColort   Normalst   NotAnyt   numerict   opent   openclt   oprect   ordt   OutPortt   PaletteCharst   PaletteColort
   PaletteKeyt
   paramnamest   parentt   Patternt   Peekt   Pendingt   pipet   Pixelt	   PlayAudiot   Poket   popt	   PopMatrixt   Post   post   proct   pullt   pusht
   PushMatrixt
   PushRotatet	   PushScalet   PushTranslatet   putt   QueryPointert   Raiset   readt	   ReadImaget   readlinkt   readst   readyt   realt   receivet   Refresht   Remt   removet   renamet   replt   reverset   rightt   rmdirt   Rotatet   Rpost   Rtabt   rtodt   runerrt   savet   Scalet   seekt   selectt   sendt   seqt   serialt   sett   setenvt   setgidt   setgrentt
   sethostentt   setpgrpt   setpwentt
   setserventt   setuidt   signalt   sint   sortt   sortft   Spant   spawnt   sqlt   sqrtt   statt   staticnamest   stopt	   StopAudiot   stringt	   structuret   Succeedt   Swit   symlinkt
   sys_errstrt   systemt   syswritet   Tabt   tabt   tablet   tant   Texcoordt   Texturet	   TextWidtht	   Translatet   trapt   trimt   truncatet   trylockt   typet   umaskt   Uncouplet   unlockt   uptot   utimet   variablet   VAttribt   waitt   WAttribt   WDefaultt   WFlusht   wheret   WinAssociatet	   WinButtont   WinColorDialogt   WindowContentst   WinEditRegiont   WinFontDialogt
   WinMenuBart   WinOpenDialogt   WinPlayMediat   WinSaveDialogt   WinScrollBart   WinSelectDialogt   writet
   WriteImaget   writest   WSectiont   WSynct   numberss   <@|<<@|>@|>>@|\.>|\->s=   \*\*|\+\+|\-\-|\.|\=|\~\=|<\=|>\=|\=\=|\~\=\=|<<|<<\=|>>|>>\=s   :\=|:\=:|\->|<\->|\+:\=|\|s   \=\=\=|\~\=\=\=s   "(?:[^\\"]|\\.)*"s   '(?:[^\\']|\\.)*'s   [*<>+=/&!?@~\\-]s   \^s   (\w+)(\s*|[(,])s   ([\[\]])s!   (<>|=>|[()|:;,.'`]|[{}]|[%]|[&?])s   \n+t   roots3   \b([+-]?([2-9]|[12][0-9]|3[0-6])[rR][0-9a-zA-Z]+)\bs'   [+-]?[0-9]*\.([0-9]*)([Ee][+-]?[0-9]*)?s   \b([+-]?[0-9]+[KMGTPkmgtp]?)\bs   \(s   #popt   formal_partt   ;s   "[^"]+"|\w+s   \)s   \w+t   ,s   (:string|:integer|:real)\b(   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/   R0   R1   R2   R3   R4   R5   R6   R7   R8   R9   R:   R;   R<   R=   R>   R?   R@   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   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   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   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   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   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  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/  R0  R1  R2  R3  R4  R5  R6  R7  R8  R9  R:  R;  R<  R=  R>  R?  R@  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  (   s   #popR\  ($   t   __name__t
   __module__t   __doc__R   t   aliasest	   filenamest	   mimetypest   ret	   MULTILINEt   flagsR   R   t   SingleR	   t   DeclarationR   t   Typet   PreProct   Constantt   ReservedR   R
   t   FunctionR   R   R   t	   CharacterR   R   R   R   t   Hext   Floatt   Integert   Variablet   tokens(    (    (    s5   lib/python2.7/site-packages/pygments/lexers/unicon.pyR      s   								    	                                                            												c          B   s8  e  Z d  Z d Z d g Z d d g Z g  Z e j Z	 i d e
 f d e j f d e
 f d e j d f d	 e e j e
 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 e d?d% d& d' d& e j f e d@d% d& d' d& e j f e d' d(e f d)e f d*e f d+e f d,e j f d-e f d.e e e e   f d/e f d0e f d1e
 f g d26d3e j f d4e j  f d5e j! f g d'6d6e dAf d9e d7f d:e j f e d2 g d 6d6e d8f g d
 6d;e d7f d<e j" f d=e f d>e j f e d2 g d86Z# RS(B  s4   
    Lexer for Icon.

    .. versionadded:: 1.6
    t   Icont   icons   *.icons   *.ICONs   [^\S\n]+s   #.*?\ns   class|method|procedureR   s   (record)(\s+)(\w+)R   s^   (#line|\$C|\$Cend|\$define|\$else|\$endif|\$error|\$ifdef|\$ifndef|\$include|\$line|\$undef)\bs   (&null|&fail)\bs  &allocated|&ascii|&clock|&collections|&column|&col|&control|&cset|&current|&dateline|&date|&digits|&dump|&errno|&errornumber|&errortext|&errorvalue|&error|&errout|&eventcode|&eventvalue|&eventsource|&e|&features|&file|&host|&input|&interval|&lcase|&letters|&level|&line|&ldrag|&lpress|&lrelease|&main|&mdrag|&meta|&mpress|&mrelease|&now|&output|&phi|&pick|&pi|&pos|&progname|&random|&rdrag|&regions|&resize|&row|&rpress|&rrelease|&shift|&source|&storage|&subject|&time|&trace|&ucase|&version|&window|&x|&ys   (by|of|not|to)\bs   (global|local|static)\bt   linkR   R   R   R   R   R   R   R   R   R   R    R"   R$   R%   R&   R'   R(   R)   R+   R,   R-   s   \bR.   R0   R1   R2   R3   R4   R8   R9   R:   R;   R<   R=   R?   R@   RC   RD   RE   RF   RG   RH   RI   RK   RL   RM   RN   RO   RP   RQ   RR   RT   RU   RV   RW   RX   RY   RZ   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   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   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   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   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%  R&  R(  R)  R+  R,  R-  R.  R/  R1  R2  R3  R4  R5  R6  R7  R8  R9  R:  R;  R<  R=  R>  R?  R@  RA  RB  RD  RE  RF  RG  RH  RI  RJ  RK  RL  RM  RN  RO  RP  RQ  RR  RS  RT  RU  RV  RW  RX  RY  RZ  s=   \*\*|\+\+|\-\-|\.|\=|\~\=|<\=|>\=|\=\=|\~\=\=|<<|<<\=|>>|>>\=s   :\=|:\=:|<\-|<\->|\+:\=|\||\|\|s   \=\=\=|\~\=\=\=s   "(?:[^\\"]|\\.)*"s   '(?:[^\\']|\\.)*'s   [*<>+=/&!?@~\\-]s   (\w+)(\s*|[(,])s   ([\[\]])s"   (<>|=>|[()|:;,.'`]|[{}]|[%^]|[&?])s   \n+R[  s3   \b([+-]?([2-9]|[12][0-9]|3[0-6])[rR][0-9a-zA-Z]+)\bs'   [+-]?[0-9]*\.([0-9]*)([Ee][+-]?[0-9]*)?s   \b([+-]?[0-9]+[KMGTPkmgtp]?)\bs   \(s   #popR\  R]  s   "[^"]+"|\w+s   \)s   \w+R^  s   (:string|:integer|:real)\b(   R   R   R   R   R   R   R   R   R   R   R    R"   R$   R%   R&   R'   R(   R)   R+   R,   (   R0   R1   R2   R3   R4   R8   R9   R:   R;   R<   R=   R?   R@   RC   RD   RE   RF   RG   RH   RI   RK   RL   RM   RN   RO   RP   RQ   RR   RT   RU   RV   RW   RX   RY   RZ   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   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   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   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   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%  R&  R(  R)  R+  R,  R-  R.  R/  R1  R2  R3  R4  R5  R6  R7  R8  R9  R:  R;  R<  R=  R>  R?  R@  RA  RB  RD  RE  RF  RG  RH  RI  RJ  RK  RL  RM  RN  RO  RP  RQ  RR  RS  RT  RU  RV  RW  RX  RY  (   s   #popR\  ($   R_  R`  Ra  R   Rb  Rc  Rd  Re  Rf  Rg  R   R   Rh  R	   Ri  R   Rj  Rk  Rl  Rm  R   R
   Rn  R   R   R   Ro  R   R   R   R   Rp  Rq  Rr  Rs  Rt  (    (    (    s5   lib/python2.7/site-packages/pygments/lexers/unicon.pyR      s   						    	                                                         										c        ^   B   s  e  Z d  Z d Z d g Z d d d g Z g  Z e j Z	 i d e
 f e d d d d d e j f e d d d d d e
 f e d d d d d e j f e d d d d d e j f d e j f d e j f d e j f d e f d e f d e f g d 6Z RS(   s@   
    Lexer for Icon ucode files.

    .. versionadded:: 2.4
    t   ucodes   *.us   *.u1s   *.u2s   (#.*\n)t   cont   declendR   t   globalt   implR$   t   labRw  t   localt   recordt   uidt   unionst   versionR-   s   \bR.   t   colmt   filent   linet   syntt   asgnt   bangt   bscant   catt   ccaset   chfailt   coactRN   t   complt   coretR   RY   t   difft   divt   dupt   efailt   einitt   eqvt   erett   errort   escant   esuspt   fieldt   gotot   initt   intt   intert   invoket   keywdt   lconcatt   lexeqt   lexget   lexgtt   lexlet   lexltt   lexnet   limitt   llistt   lsuspt   markt   mark0t   minust   modt   multt   negt   neqvt   nonnullt   noopt   nullt   numbert   numeqt   numget   numgtt   numlet   numltt   numnet   pfailt   plust   pnullR   t   powert   pretR   t   psuspt   push1t   pushn1t   randomt   rasgnt   rcvt   rcvbkR   t   refresht   rswapt   sdupt   sectt   sizet   sndt   sndbkt   strt   subsct   swapt   tabmatt   tallyt   tobyt   tracet   unmarkt   valuet   varR4   R   t   endcaset   endeveryt   endift	   endifelset	   endrepeatt
   endsuspendt   enduntilt   endwhileR   R    t   ifelseR&   R(   R+   R,   s   \d+(\s*|\.$|$)s   [+-]?\d*\.\d+(E[-+]?\d+)?s   [+-]?\d+\.\d*(E[-+]?\d+)?s"   (<>|=>|[()|:;,.'`]|[{}]|[%^]|[&?])s   \s+\bs   [\w-]+R[  (   Ry  Rz  R   R{  R|  R$   R}  Rw  R~  R  R  R  R  (   R  R  R  R  (Y   R  R  R  R  R  R  R  RN   R  R  R   RY   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  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  R  R  R  R  R  R  R  (   R4   R   R  R  R  R  R  R  R  R  R   R    R  R&   R(   R+   R,   (   R_  R`  Ra  R   Rb  Rc  Rd  Re  Rf  Rg  R   R   R
   Rn  R	   Ri  Rl  R   Rr  Rq  R   R   Rt  (    (    (    s5   lib/python2.7/site-packages/pygments/lexers/unicon.pyR   6  s   			      	                            	         			(   Ra  Re  t   pygments.lexerR    R   R   R   R   R   t   pygments.tokenR   R   R   R	   R
   R   R   R   t   __all__R   R   R   (    (    (    s5   lib/python2.7/site-packages/pygments/lexers/unicon.pyt   <module>
   s   .: