
%^Tc           @   sL  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 m Z d d d 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
 e f d     YZ d e f d     YZ d e f d     YZ d S(   s   
    pygments.lexers.dsls
    ~~~~~~~~~~~~~~~~~~~~

    Lexers for various domain-specific languages.

    :copyright: Copyright 2006-2014 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
iN(   t
   RegexLexert   bygroupst   wordst   includet   default(	   t   Textt   Commentt   Operatort   Keywordt   Namet   Stringt   Numbert   Punctuationt   Literalt   ProtoBufLexert   BroLexert   PuppetLexert   RslLexert   MscgenLexert   VGLLexert
   AlloyLexert   PanLexerc           B   s  e  Z d  Z d Z d d g Z d g Z i d e f d e f d e j	 f d e j
 f e d> d d d d e f e d? d d e j 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 d0 e f d1 e f d2 e j f d3 e j f d4 e j f d5 e j f d6 e j f d7 e j f d8 e f d9 e e j e e  f d: e f g d; 6d< e j d= f e d=  g d+ 6d< e j d= f e d=  g d- 6d< e d= f e d=  g d/ 6Z RS(@   s|   
    Lexer for `Protocol Buffer <http://code.google.com/p/protobuf/>`_
    definition files.

    .. versionadded:: 1.4
    s   Protocol Buffert   protobuft   protos   *.protos   [ \t]+s   [,;{}\[\]()]s   /(\\\n)?/(\n|(.|\n)*?[^\\]\n)s   /(\\\n)?\*(.|\n)*?\*(\\\n)?/t   importt   optiont   optionalt   requiredt   repeatedR   t   packedt   ctypet
   extensionst   tot   maxt   rpct   returnst   oneoft   prefixs   \bt   suffixt   int32t   int64t   uint32t   uint64t   sint32t   sint64t   fixed32t   fixed64t   sfixed32t   sfixed64t   floatt   doublet   boolt   stringt   bytess   (true|false)\bs   (package)(\s+)t   packages   (message|extend)(\s+)t   messages   (enum|group|service)(\s+)t   types   \".*?\"s   \'.*?\'s'   (\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[LlUu]*s   (\d+\.\d*|\.\d+|\d+[fF])[fF]?s   (\-?(inf|nan))\bs   0x[0-9a-fA-F]+[LlUu]*s   0[0-7]+[LlUu]*s
   \d+[LlUu]*s   [+-=]s   ([a-zA-Z_][\w.]*)([ \t]*)(=)s   [a-zA-Z_][\w.]*t   roots   [a-zA-Z_]\w*s   #pop(   R   R   R   R   R   s   defaultR   R   R   R    s   maxR"   R#   R$   (   R'   R(   R)   R*   R+   R,   R-   R.   R/   R0   s   floatR2   s   bools   strings   bytes(   t   __name__t
   __module__t   __doc__t   namet   aliasest	   filenamesR   R   R   t   Singlet	   MultilineR   R   t   Typet   ConstantR   t	   Namespacet   DeclarationR
   R   t   Floatt   Hext   Octt   IntegerR   R	   t	   AttributeR   t   Classt   tokens(    (    (    s8   /usr/lib/python2.7/dist-packages/pygments/lexers/dsls.pyR      sV   			    				c            B   sN  e  Z d  Z d Z d g Z d g Z d Z d Z d Z i d e	 j
 f d e	 j f d	 e f d
 e f d e f d e f d e j f d e j f d e e e  f d e j f d e f d e f d e d e e f d e d e d e d e f d e d e d e f d e f e d e d e f e d e j f d e e j f e e j f d e j f d  e j d! f d" e d# f d$ e f d% e f d& e j f d' e f d( e e e j  f d) e f g d* 6d" e d+ f d, e j f d- e f d e f d. e f g d# 6d  e j d+ f d/ e j f d0 e j f d e j f d. e j f g d! 6Z RS(1   sN   
    For `Bro <http://bro-ids.org/>`_ scripts.

    .. versionadded:: 1.5
    t   Brot   bros   *.bros   [0-9a-fA-F_]s(   ((\d*\.?\d+)|(\d+\.?\d*))([eE][-+]?\d+)?s   [A-Za-z0-9][-A-Za-z0-9]*s   ^@.*?\ns   #.*?\ns   \ns   \s+s   \\\ns   (add|alarm|break|case|const|continue|delete|do|else|enum|event|export|for|function|if|global|hook|local|module|next|of|print|redef|return|schedule|switch|type|when|while)\bsz   (addr|any|bool|count|counter|double|file|int|interval|net|pattern|port|record|set|string|subnet|table|time|timer|vector)\bs   (T|F)\bs   (&)((?:add|delete|expire)_func|attr|(?:create|read|write)_expire|default|disable_print_hook|raw_output|encrypt|group|log|mergeable|optional|persistent|priority|redef|rotate_(?:interval|size)|synchronized)\bs   \s+module\bs   \d+/(tcp|udp|icmp|unknown)\bs   (\d+\.){3}\d+t   (s   ){7}t   0xs   |:)*::(s   |:)*s	   ((\d+|:)(s	   |:)*)?::(s   (\d+\.\d+\.|(\d+\.){2}\d+)s   (\.s   )+s!   \s+(day|hr|min|sec|msec|usec)s?\bs   0[xX]s   \d+t   /t   regext   "R4   s   [!%*/+:<=>?~|-]s   ([-+=&|]{2}|[+=!><-]=)s   (in|match)\bs   [{}()\[\]$.,;]s   ([_a-zA-Z]\w*)(::)s   [a-zA-Z_]\w*R9   s   #pops/   \\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|[0-7]{1,3})s	   [^\\"\n]+s   \\s	   \\[\\nt/]s	   [^\\/\n]+(    R:   R;   R<   R=   R>   R?   t   _hext   _floatt   _hR   t   PreprocR@   R   R   RB   RC   R   R   RD   R   R
   R   t   DateRG   RF   RI   t   RegexR   t   WordR	   t   EscapeRL   (    (    (    s8   /usr/lib/python2.7/dist-packages/pygments/lexers/dsls.pyR   T   sd   								!						c        o   B   sz  e  Z d  Z d Z d g Z d g Z i e d  e d  e d  e d  e d  e d	  d
 e f d e f g d 6d e	 f d e	 j
 f g d 6d e f d e j f g d 6d e j f d e e j e e e  f d e j f g d 6d e j f d e j f d e j f d e j f d e j j f d e j f g d 6e d d d d d e f g d 6d e f d e f g d	 6Z RS(   s_   
    For `Puppet <http://puppetlabs.com/>`__ configuration DSL.

    .. versionadded:: 1.6
    t   Puppett   puppets   *.ppt   commentst   keywordst   namest   numberst	   operatorst   stringss   []{}:(),;[]s   [^\S\n]+R9   s   \s*#.*$s   /(\\\n)?[*](.|\n)*?[*](\\\n)?/s   (=>|\?|<|>|=|\+|-|/|\*|~|!|\|)s   (in|and|or|not)\bs   [a-zA-Z_]\w*s   (\$\S+)(\[)(\S+)(\])s   \$\S+s'   (\d+\.\d*|\d*\.\d+)([eE][+-]?[0-9]+)?j?s   \d+[eE][+-]?[0-9]+j?s	   0[0-7]+j?s   0[xX][a-fA-F0-9]+s   \d+Ls   \d+j?t   absentt   alertt   aliast   auditt   augeast   beforet   caset   checkt   classt   computert
   configuredt	   containedt   create_resourcest   critt   cront   debugR   t   definet   definedt	   directoryt   elset   elsift   emergt   errt   exect	   extlookupt   failt   falset   filet
   filebuckett	   fqdn_randt   generatet   hostt   ifR   R   t   infot   inheritst   inline_templatet	   installedt	   interfacet   k5logint   latestt   linkt   loglevelt   macauthorizationt	   mailaliast   maillistt   mcxt   md5t   mountt   mountedt   nagios_commandt   nagios_contactt   nagios_contactgroupt   nagios_hostt   nagios_hostdependencyt   nagios_hostescalationt   nagios_hostextinfot   nagios_hostgroupt   nagios_servicet   nagios_servicedependencyt   nagios_serviceescalationt   nagios_serviceextinfot   nagios_servicegroupt   nagios_timeperiodt   nodet   noopt   noticet   notifyR6   t   presentt   purgedt   realizet   regsubstt	   resourcest   rolet   routert   runningt   schedulet   scheduled_taskt   searcht
   selbooleant	   selmodulet   servicet   sha1t
   shellquotet   splitt   sprintft   ssh_authorized_keyt   sshkeyt   staget   stoppedt	   subscribet   tagt   taggedt   templatet   tidyt   truet   undeft	   unmountedt   usert
   versioncmpt   vlant   warningt   yumrepot   zfst   zonet   zpoolR%   s   (?i)R&   s   \bs	   "([^"])*"s   '(\\'|[^'])*'(m   Rd   Re   s   aliasRg   Rh   Ri   Rj   Rk   Rl   Rm   Rn   Ro   Rp   Rq   Rr   s   debugs   defaultRt   Ru   Rv   s   elseRx   Ry   s   errs   execR|   R}   R~   s   fileR   R   R   s   hostR   s   imports   includes   infoR   R   R   R   R   R   s   linkR   R   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   packageR   R   R   R   R   R   R   R   R   R   s   searchR   R   R   R   R   s   splitR   R   R   R   R   R   R   R   s   templateR   R   R   R   R   R   R   R   R   R   R   R   (   R:   R;   R<   R=   R>   R?   R   R   R   R   RA   R   RZ   R	   RJ   R   t   VariableR
   R   RF   RH   RG   RI   t   LongR   R   RL   (    (    (    s8   /usr/lib/python2.7/dist-packages/pygments/lexers/dsls.pyR      sj   											                     	c        L   B   s*  e  Z d  Z d Z d g Z d g Z d g Z e j e j	 BZ
 i e dd dO dP dQ dP e f dR e j f dS e f dT e f dU e f dV e f dW e j f dX e e e j e e  f dY e j f dZ e j f d[ e f d\ e j f d] e f d^ e j f d_ e j f d` e j f da e f g db 6Z dc   Z RS(e   s   
    `RSL <http://en.wikipedia.org/wiki/RAISE>`_ is the formal specification
    language used in RAISE (Rigorous Approach to Industrial Software Engineering)
    method.

    .. versionadded:: 2.0
    t   RSLt   rsls   *.rsls   text/rslt   Boolt   Chart   Intt   Natt   RealR   t   Unitt   abst   allt   alwayst   anyt   ast   axiomt   cardRj   t   channelt   chaosRl   t   devt_relationt   domt   elemsRw   t   elift   endt   existst   extendR~   t   fort   hdt   hideR   t   int   ist   indst
   initialiset   intt   intert   isint   lent   lett   localt   ltl_assertiont   objectt   oft   outt   postt   pret   readt   realt   rngt   schemet   skipt   stopt   swapt   thent   theoryt	   test_caset   tlt   transition_systemR   R8   t   uniont   untilt   uset   valuet   variablet   whilet   witht   writes   ~isins   -inflists   -infsets   -lists   -setR%   s   \bR&   s   (variable|value)\bs   --.*?\ns   <:.*?:>s	   \{!.*?!\}s	   /\*.*?\*/s   ^[ \t]*([\w]+)[ \t]*:[^:]s1   (^[ \t]*)([\w]+)([ \t]*\([\w\s,]*\)[ \t]*)(is|as)s   \b[A-Z]\w*\bs   (true|false)\bs   ".*"s   \'.\'sq   (><|->|-m->|/\\|<=|<<=|<\.|\|\||\|\^\||-~->|-~m->|\\/|>=|>>|\.>|\+\+|-\\|<->|=>|:-|~=|\*\*|<<|>>=|\+>|!!|\|=\||#)s    [0-9]+\.[0-9]+([eE][0-9]+)?[fd]?s   0x[0-9a-f]+s   [0-9]+t   .R9   c         C   s&   t  j d |  t  j  d k	 r" d Sd S(   sP   
        Check for the most common text in the beginning of a RSL file.
        s   scheme\s*.*?=\s*class\s*typeg      ?N(   t   reR   t   It   None(   t   text(    (    s8   /usr/lib/python2.7/dist-packages/pygments/lexers/dsls.pyt   analyse_text-  s    (J   R   s   CharR   R   R   s   TextR   s   abss   alls   alwayss   anyR   R   R   s   caseR   R   s   classR   R   R   s   elseR   s   ends   existss   extends   falseR   R   R   s   ifs   inR   R   R   s   intR   R   s   lenR   R   R   s   objectR   s   outR   R   s   reads   reals   rngs   schemes   skips   stopR   R  R  R  R  R  s   trues   types   unionR  R  s   valueR
  R  R  s   writes   ~isins   -inflists   -infsets   -lists   -set(   R:   R;   R<   R=   R>   R?   t	   mimetypesR  t	   MULTILINEt   DOTALLt   flagsR   R   RE   R   R	   t   FunctionR   R   RB   RC   R
   R   R   R   RF   RG   RI   RL   R  (    (    (    s8   /usr/lib/python2.7/dist-packages/pygments/lexers/dsls.pyR      sN   			          					c           B   s$  e  Z d  Z d Z d d g Z d g Z d Z i d e j f d e	 j
 f d e j f d	 e f d
 e f d e	 j f e e	 j f d e d f d e f e d  g
 d 6d e d f e d e e e	 j e j e e j e  f d e f e d  g d 6d e j f d e j f d e j f g d 6Z RS(   s]   
    For `Mscgen <http://www.mcternan.me.uk/mscgen/>`_ files.

    .. versionadded:: 1.6
    t   Mscgent   mscgent   mscs   *.mscs   (\w+|"(?:\\"|[^"])*")s   msc\bsO   (hscale|HSCALE|width|WIDTH|wordwraparcs|WORDWRAPARCS|arcgradient|ARCGRADIENT)\bs)   (abox|ABOX|rbox|RBOX|box|BOX|note|NOTE)\bs   (\.|-|\|){3}sT   (?:-|=|\.|:){2}|<<=>>|<->|<=>|<<>>|<:>|->|=>>|>>|=>|:>|-x|-X|<-|<<=|<<|<=|<:|x-|X-|=s   \*s   \[t   attrss	   \{|\}|,|;R^   R9   s   \]s   #pops   (\s*)(=)(\s*)t   ,s   (?://|#).*?\ns   /\*(?:.|\n)*?\*/s
   [ \t\r\n]+(   R:   R;   R<   R=   R>   R?   t   _varR   RB   R	   t   PropertyR   RZ   t   BuiltinR   R   R   R   RJ   R   t
   WhitespaceR
   R   R@   RA   RL   (    (    (    s8   /usr/lib/python2.7/dist-packages/pygments/lexers/dsls.pyR   5  s6   						c           B   s   e  Z d  Z d Z d g Z d g Z e j e j Be j	 BZ
 i d e j f d e j f d e f d e j f d e f d	 e f d
 e e e j  f d e f d e f d e f d e f g d 6Z RS(   s~   
    For `SampleManager VGL <http://www.thermoscientific.com/samplemanager>`_
    source code.

    .. versionadded:: 1.6
    t   VGLt   vgls   *.rpfs	   \{[^}]*\}t   declares   (if|then|else|endif|while|do|endwhile|and|or|prompt|object|create|on|line|with|global|routine|value|endroutine|constant|global|set|join|library|compile_option|file|exists|create|copy|delete|enable|windows|name|notprotected)(?! *[=<>.,()])s$   (true|false|null|empty|error|locked)s   [~^*#!%&\[\]()<>|+=:;,./?-]s   "[^"]*"s   (\.)([a-z_$][\w$]*)s&   [0-9][0-9]*(\.[0-9]+(e[+\-]?[0-9]+)?)?s   [a-z_$][\w$]*s   [\r\n]+s   \s+R9   (   R:   R;   R<   R=   R>   R?   R  R  R  t
   IGNORECASER  R   RA   R   RC   R   R
   R   R	   RJ   R   R   RL   (    (    (    s8   /usr/lib/python2.7/dist-packages/pygments/lexers/dsls.pyR   f  s$   							c           B   s  e  Z d  Z d Z d g Z d g Z d g Z e j e j	 BZ
 d Z d e f Z i d e d f e e f e d	 e f d
 e d f g d 6e e e d f g d 6e d
 e d f e e d f g d 6d e j f d e j f d e j f e d e e j e  d f d e e j e  d f d e j f d e j f d e f d e f d e f d e j f d e e e  d f d e f d e f e e f d e f d e j f d e f d e f g d  6Z RS(!   sU   
    For `Alloy <http://alloy.mit.edu>`_ source code.

    .. versionadded:: 2.0
    t   Alloyt   alloys   *.alss   text/x-alloys   [a-zA-Z_][\w\']*s   [^\S\n]+s   (extends)\bs   #popR  s   \{t   sigt   modulet   funs   --.*?$s   //.*?$s	   /\*.*?\*/s   (module|open)(\s+)s   (sig|enum)(\s+)s   (iden|univ|none)\bs   (int|Int)\bs.   (this|abstract|extends|set|seq|one|lone|let)\bs"   (all|some|no|sum|disj|when|else)\bs'   (run|check|for|but|exactly|expect|as)\bs   (and|or|implies|iff|in)\bs   (fun|pred|fact|assert)(\s+)s!   !|#|&&|\+\+|<<|>>|>=|<=>|<=|\.|->s   [-+/*%=<>&!^|~{}\[\]().]s   [:,]s   [0-9]+s   "(\\\\|\\"|[^"])*"s   \nR9   (   R:   R;   R<   R=   R>   R?   R  R  R  R  R  t   iden_rexR   t
   text_tupleR   R	   R   R   R   R@   RA   R   RD   RE   RC   RB   RZ   R   RI   R
   RL   (    (    (    s8   /usr/lib/python2.7/dist-packages/pygments/lexers/dsls.pyR     sP   													c        7   B   s~  e  Z d  Z d Z d g Z d g Z i e d  d e d f d e d f e d	  g d
 6e dh d d d  d! e f e di d d d  d! e	 j
 f dV e f dW e j f dX e e	 j e e  f dY e f dZ e f d[ e f g d 6d\ e j f d] e j f d^ e f d_ e f d` e f g d	 6da e db f dc e f dd e	 j f de e f df e f e d
  g d 6dg e db f e d
  g d 6Z RS(j   s~   
    Lexer for `pan <http://github.com/quattor/pan/>`_ source files.

    Based on tcsh lexer.

    .. versionadded:: 2.0
    t   Pant   pans   *.pant   basics   \(t   parens   \{t   curlyt   dataR9   R   R   R  Rw   R8   t   bindR  t   validt   finalR%   t   uniqueR   t   foreachR   R   t   functionR
  t	   structuret
   extensiblet   declarations   \bR&   s   \s*\bt   file_contentst   formatt   indext   lengtht   matcht   matchest   replacet   spliceR   t   substrt   to_lowercaset   to_uppercaseRs   t   errort	   tracebackt
   deprecatedt   base64_decodet   base64_encodet   digestt   escapet   unescapet   appendt   createt   firstt   nlistt   keyt   listt   merget   nextt   prependt
   is_booleant
   is_definedt	   is_doublet   is_listt   is_longt   is_nlistt   is_nullt	   is_numbert   is_propertyt   is_resourcet	   is_stringt
   to_booleant	   to_doublet   to_longt	   to_stringt   clonet   deleteR   t   path_existst	   if_existst   returnR	  s   #.*s   \\[\w\W]s   (\b\w+)(\s*)(=)s   [\[\]{}()=]+s   <<\s*(\'?)\\?(\w+)[\w\W]+?\2t   ;s!   (?s)"(\\\\|\\[0-7]+|\\.|[^"\\])*"s!   (?s)'(\\\\|\\[0-7]+|\\.|[^'\\])*'s   \s+s   [^=\s\[\]{}()$"\'`\\;#]+s   \d+(?= |\Z)s   \}s   #pops   :-s   \w+s   [^}:"\'`$]+t   :s   \)(   s   ifs   fors   withs   elses   typeR3  s   whileR4  s   finals   prefixR6  s   objectR7  s   includes   templateR8  s   variableR9  R:  R;  (4   R<  s   formats   indexR?  s   matchRA  s   replaceRC  s   splitRD  RE  RF  s   debugs   errors	   tracebackRI  RJ  RK  RL  s   escapeRN  s   appendRP  RQ  RR  s   keys   listRU  s   nextRW  RX  RY  RZ  R[  R\  R]  R^  R_  R`  Ra  Rb  Rc  Rd  Re  Rf  Rg  Rh  s   existsRi  Rj  Rk  s   value(   R:   R;   R<   R=   R>   R?   R   R   R   R	   R   R   R
   R[   R   R   R   R   R   t   DoubleR@   R   RL   (    (    (    s8   /usr/lib/python2.7/dist-packages/pygments/lexers/dsls.pyR     sV   			         									(   R<   R  t   pygments.lexerR    R   R   R   R   t   pygments.tokenR   R   R   R   R	   R
   R   R   R   t   __all__R   R   R   R   R   R   R   R   (    (    (    s8   /usr/lib/python2.7/dist-packages/pygments/lexers/dsls.pyt   <module>
   s   (@>NW<1"<