
    ,hO                         d Z ddlZddl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gZ G d de      Z G d	 de      Z G d
 de      Zy)z
    pygments.lexers.vip
    ~~~~~~~~~~~~~~~~~~~

    Lexers for Visual Prolog & Grammar files.

    :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)
RegexLexerinheritwordsinclude)	TextCommentOperatorKeywordNameStringNumberPunctuation
WhitespaceVisualPrologLexerVisualPrologGrammarLexerc                   "   e Zd ZdZdZdZdef eedd      ej                  fdef eed	      ej                  fd
e
fde
fdej                  j                  fdej                  fdej                  fdefdedfdedfdej                   dfdej                   dfdej                   dfdefdefdefg eedd      ej(                  fdefg ed      defd ed!fg ed      d"efded#fd$ed!fd%efgd&ej,                  fd'ej,                  fg ed(      dej                   d!fd)efd*ej,                  j.                  d!fg ed(      dej                   d!fd+efd*ej,                  j.                  d!fgd,ej,                  fdej                   d!fd-efgd.Zy/)0VisualPrologBaseLexer)tryforeachif)andcatchdoelseelseif	erroneous
externallyfailurefinallyr   r   ororelse	otherwisethenr   divmodremquot)shortdetailend
withdomainz\s+z\bend\s+\bprefixsuffixr*   r/   z0[xo][\da-fA-F_]+z(((\d[\d_]*)?\.)?\d[\d_]*([eE][\-+]?\d+)?z_\w*z[A-Z]\w*z@\w+z[a-z]\w*z/\*commentz\%commentline"stringz\'stringsinglez@"atstringz[\-+*^/!?<>=~:]+z[$,.[\]|(){}\\]+.@
commentdocz[^@\n]+$z#popz[^@*/]+z#pushz\*/z[*/]z\\u[0-9a-fA-F]{4}z\\[\'"ntr\\]stringescapez
[^\'\\\n]+z\nz	[^"\\\n]+z""z[^"]+)rootr9   r2   r1   r;   r5   r4   r6   N)__name__
__module____qualname__
minorendkw
minorkwexpdockwr   r   r
   Minorr   r   Variable	Anonymousr   r   Symbolr	   r   r   Preprocr   EscapeErrortokens     U/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/pygments/lexers/vip.pyr   r      s"   )J6J4E Z :k%@'--PW:e,gmm<!6*8&Admm--.$--(dmm$$Wi(G]+6==(+FMM>2FMM:. (+ +.4L%
* 5e4gooF7O

 L!!7F#
 L!!Wg&Wf%g
 "6==1fmm,

 N#FMM6*F#FMM''0	
 N#6==&)6"FMM''0	
 FMM"6==&)v
k:FrL   r   c                       e Zd ZdZdZdZdgZg dZdZdZ	dZ
d	Zd
 ee
d      ej                  f ee	d      ef eedd      ej                  fegiZd Zy)r   zLexer for VisualProlog
    zVisual Prologhttps://www.visual-prolog.com/visualprolog)z*.proz*.clz*.iz*.packz*.ph2.17)goal	namespace	interfaceclass	implementwhereopeninheritssupportsresolvedelegatemonitor	constantsdomains
predicatesconstructors
propertiesclausesfacts)alignanyflowasbitsizedetermdigitsr   r   r   fromguardmulti	nondetermr    r!   r"   	procedurer[   single
suspending)
binincluder   r   endiferrorexportr   rk   grammargenerategrammarincluder   r   messageoptions
orrequiresrequiresstringincluder#   r<   r,   r0   #r-   c                 2    t        j                  d|       ryy)zMCompetes with IDL and Prolog on *.pro; div. lisps on*.cl and SwigLexer on *.izc^\s*(end\s+(interface|class|implement)|(clauses|predicates|domains|facts|constants|properties)\s*$)\(\?r   researchtexts    rM   analyse_textzVisualPrologLexer.analyse_textn   s!    
 99{  ~B  CrL   N)r=   r>   r?   __doc__nameurlaliases	filenamesversion_addedmajorkwminorkwdirectivekwr   r
   rC   	Directiver   rJ   r   rK   rL   rM   r   r   V   s    D
*CG:IM~G{GK 	75)7==975)73;s597;L;LM	
FrL   c                       e Zd ZdZdZdZdgZdgZdZdZ	dZ
d	 ee	d
      ef ee
dd
      ej                  fegiZd Zy)r   z#Lexer for VisualProlog grammar
    zVisual Prolog GrammarrO   visualprologgrammarz*.vipgrmrQ   )rX   rS   grammarnonterminalsstartsymbols	terminalsrules
precedence)rr   r|   r<   r,   r0   r}   r-   c                 2    t        j                  d|       ryy)zNo competditors (currently)zN^\s*(end\s+grammar|(nonterminals|startsymbols|terminals|rules|precedence)\s*$)r   r   r   r   s    rM   r   z%VisualPrologGrammarLexer.analyse_text   s    
 99fhlmrL   N)r=   r>   r?   r   r   r   r   r   r   r   r   r   r
   r   r   rJ   r   rK   rL   rM   r   r   y   sq     #D
*C$%GIMCG1K75)73;s597;L;LM
FrL   )r   r   pygments.lexerr   r   r   r   pygments.tokenr   r   r	   r
   r   r   r   r   r   __all__r   r   r   rK   rL   rM   <module>r      sY    
 > >$ $ $  :
;?J ?D -  F4 rL   