File: //opt/saltstack/salt/lib/python3.10/site-packages/pygments/lexers/__pycache__/ampl.cpython-310.pyc
o
;jS � @ sf d Z ddlmZmZmZmZmZ ddlmZm Z m
Z
mZmZm
Z
mZmZmZ dgZG dd� de�ZdS )z�
pygments.lexers.ampl
~~~~~~~~~~~~~~~~~~~~
Lexers for the AMPL language.
:copyright: Copyright 2006-present 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 @ s e Zd ZdZdZdZdgZdgZdZdde fd e
fd
ejfdej
fedd
d�ejfdejfdejfdejfdefdeejeej�fdeeje
ej�fdeeje
ee
eje
ee
ej� fdeeje
ee�e
ej�fedd
d
d�ejfdefedd
d�ejfdejfdejfdejfde fgiZ dS ) r z
For AMPL source code.
ZAmplzhttp://ampl.com/Zamplz*.runz2.2�rootz\nz\s+z#.*?\nz/[*](.|\n)*?[*]/);�callZcd�closeZcommands�data�deleteZdisplayZdrop�end�environ�exit�expand�include�loadZmodelZ objective�optionZproblem�purge�quitZ redeclare�reload�remove�resetZrestore�shellZshowZ solexpandZsolutionZsolve�updateZunloadZxrefZcoeffZcoefZcover�obj�interval�default�from�toZto_comeZnet_inZnet_outZdimenZ dimension�checkZcomplements�write�function�pipe�format�ifZthen�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�minZ precision�round�sin�sinh�sqrt�tan�tanh�time�truncZBetaZCauchyZExponentialZGammaZIrand224ZNormalZNormal01ZPoissonZUniformZ Uniform01�numZnum0Zichar�char�length�substrZsprintf�match�subZgsub�printZprintf�nextZnextw�prevZprevw�first�last�ordZord0ZcardZarityZ
indexarity)�prefixr4 z>(\+|\-|\*|/|\*\*|=|<=|>=|==|\||\^|<|>|\!|\.\.|:=|\&|\!=|<<|>>))�or�existsZforall�andr0 �notZwithin�union�diff�
differenceZsymdiffZinterZ intersect�intersection�crossZsetofZbyZless�sum�prod�productZdiv�modz*(\d+\.(?!\.)\d*|\.(?!.)\d+)([eE][+-]?\d+)?z\d+([eE][+-]?\d+)?z
[+-]?Infinityz(\w+|(\.(?!\.)))N)!�__name__�
__module__�__qualname__�__doc__�name�url�aliases� filenamesZ
version_addedr r r �SingleZ Multiliner r
ZReserved�Typer �Doubler r r ZVariableZDeclarationr r ZBuiltinr r
ZFloatZInteger�tokens� ru ru �H/opt/saltstack/salt/lib/python3.10/site-packages/pygments/lexers/ampl.pyr st
�
�������� � �
�����N)rl Zpygments.lexerr r r r r Zpygments.tokenr r r r
r r r
r r �__all__r ru ru ru rv �<module> s
,