File: //lib/python3/dist-packages/pygments/lexers/__pycache__/ampl.cpython-311.pyc
�
�E�cQ � �t � d Z ddlmZmZmZmZmZ ddlmZm Z m
Z
mZmZm
Z
mZmZmZ dgZ G d� de� � ZdS )z�
pygments.lexers.ampl
~~~~~~~~~~~~~~~~~~~~
Lexers for the AMPL language.
:copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
� )�
RegexLexer�bygroups�using�this�words) �Text�Comment�Operator�Keyword�Name�String�Number�Punctuation�
Whitespace� AmplLexerc �, � e Zd ZdZdZdZdgZdgZddefde fd e
j fd
e
j f e
dd�
� � ej fdej fdej fdej fdefd eej eej � � fd eej e ej � � fd eej e ee ej e ee ej � � fd eej e ee� � e ej � � f e
ddd�� � ej fdef e
dd�
� � ej fdej fdej fdej fdefgiZdS )r z:
For AMPL source code.
.. versionadded:: 2.2
�Amplzhttp://ampl.com/�amplz*.run�rootz\nz\s+z#.*?\nz/[*](.|\n)*?[*]/);�call�cd�close�commands�data�delete�display�drop�end�environ�exit�expand�include�load�model� objective�option�problem�purge�quit� redeclare�reload�remove�reset�restore�shell�show� solexpand�solution�solve�update�unload�xref�coeff�coef�cover�obj�interval�default�from�to�to_come�net_in�net_out�dimen� dimension�check�complements�write�function�pipe�format�if�then�else�in�while�repeat�forz\b)�suffixzF(integer|binary|symbolic|ordered|circular|reversed|INOUT|IN|OUT|LOCAL)z\".*?\"z\'.*?\'z[()\[\]{},;:]+zu\b(\w+)(\.)(astatus|init0|init|lb0|lb1|lb2|lb|lrc|lslack|rc|relax|slack|sstatus|status|ub0|ub1|ub2|ub|urc|uslack|val)zr(set|param|var|arc|minimize|maximize|subject to|s\.t\.|subj to|node|table|suffix|read table|write table)(\s+)(\w+)z0(param)(\s*)(:)(\s*)(\w+)(\s*)(:)(\s*)((\w|\s)+)z+(let|fix|unfix)(\s*)((?:\{.*\})?)(\s*)(\w+))<�abs�acos�acosh�alias�asin�asinh�atan�atan2�atanh�ceil�ctime�cos�exp�floor�log�log10�max�min� precision�round�sin�sinh�sqrt�tan�tanh�time�trunc�Beta�Cauchy�Exponential�Gamma�Irand224�Normal�Normal01�Poisson�Uniform� Uniform01�num�num0�ichar�char�length�substr�sprintf�match�sub�gsub�print�printf�next�nextw�prev�prevw�first�last�ord�ord0�card�arity�
indexarity)�prefixrQ z>(\+|\-|\*|/|\*\*|=|<=|>=|==|\||\^|<|>|\!|\.\.|:=|\&|\!=|<<|>>))�or�exists�forall�andrM �not�within�union�diff�
difference�symdiff�inter� intersect�intersection�cross�setof�by�less�sum�prod�product�div�modz*(\d+\.(?!\.)\d*|\.(?!.)\d+)([eE][+-]?\d+)?z\d+([eE][+-]?\d+)?z
[+-]?Infinityz(\w+|(\.(?!\.)))N) �__name__�
__module__�__qualname__�__doc__�name�url�aliases� filenamesr r r �Single� Multiliner r �Reserved�Typer
�Doubler r r �Variable�Declarationr r �Builtinr
r �Float�Integer�tokens� � �6/usr/lib/python3/dist-packages/pygments/lexers/ampl.pyr r s� � � � � � �� �
�D�
�C��h�G�� �I� �
�D�M�
�Z� �
���'�
�'�"3�4�
�U�
� %�
&�
&�
&� (/�'7�
9� W�
�\�
�
���'�
���'�
��,�#� �X�d�m�[�'�2B�
C�
C�
E�D�
�X�g�)�:�t�}�
E�
E�
G� A�
�X�g�)�:�{�J��m�Z��j�$�-�Y� Y�
Z� <�
�X�g�)�:�u�u�T�{�{�J��m�%� %�
&� �U� � ',�E� ;� ;� ;� =A�L�
J� O�
�
�
�U� )� 27� 8� 8� 8�
�
�
� ;�F�L�I�
"�F�N�3�
�v�~�.�
�$�'�o8
�;�F�F�Fr� N)r� �pygments.lexerr r r r r �pygments.tokenr r r
r r r
r r r �__all__r r� r� r� �<module>r� s� ��� � D� C� C� C� C� C� C� C� C� C� C� C� C� C�$� $� $� $� $� $� $� $� $� $� $� $� $� $� $� $� $� $� $� $� $� $� �-��F� F� F� F� F�
� F� F� F� F� Fr�