�
|�eQ � � � d Z ddlZddlmZmZmZmZ ddlmZm Z m
Z
mZmZm
Z
mZmZmZ ddgZ G d� de� Z G d � de� Z G d
� de� Zy)z�
pygments.lexers.vip
~~~~~~~~~~~~~~~~~~~
Lexers for Visual Prolog & Grammar files.
:copyright: Copyright 2006-2023 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 Zd ZdZdZdZdef eedd�� ej fdef eed� � ej fd
e
fde
fdej j fd
ej fdej fdefdedfdedfdej dfdej dfdej dfdefdefdefg eedd�� ej( fdefg ed� defd ed!fg ed� d"efded#fd$ed!fd%efgd&ej, fd'ej, fg ed(� dej d!fd)efd*ej, j. d!fg ed(� dej d!fd+efd*ej, j. d!fgd,ej, fdej d!fd-efgd.�Zy/)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/ z0[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� � �5/usr/lib/python3/dist-packages/pygments/lexers/vip.pyr r s" � �)�J�6�J�4�E� �Z� �
�:�k�%�
@�'�-�-�P�
�W��
�:�e�
,�g�m�m�<�
!�6�*�
8�&�A�
�d�m�m�-�-�.�
�$�-�-�(�
�d�m�m�$�
�$��
�W�i�(�
�G�]�+�
�6�=�=�(�+�
�F�M�M�>�2�
�F�M�M�:�.�
�(�+�
�+�.�
�4�L�%
�* �5��e�
4�g�o�o�F�
�7�O�
�
�L�!�
��!�
�7�F�#�
�
�L�!�
��!�
�W�g�&�
�W�f�%�
�g��
� "�6�=�=�1�
�f�m�m�,�
�
�N�#�
�F�M�M�6�*�
�F�#�
�F�M�M�'�'��0�
�
�N�#�
�6�=�=�&�)�
�6�"�
�F�M�M�'�'��0�
� �F�M�M�"�
�6�=�=�&�)�
�v��
�k:�FrL r c � � e Zd ZdZdZdZdgZg d�ZdZdZ dZ
d ee d
�� ej f eed
�� ef ee
dd
�
� ej fegiZd� Zy)r z7Lexer for VisualProlog
.. versionadded:: 2.17
z
Visual Prolog�https://www.visual-prolog.com/�visualprolog)z*.proz*.clz*.iz*.packz*.ph)�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" |