
    L&iQ                     t    d 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gZ G d de          ZdS )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 Zd ZdZdZdZdgZdgZddefde	fd	e
j        fd
e
j        f edd          ej        fdej        fdej        fdej        fdefd eej        eej                  fd eej        e	ej                  fd eej        e	ee	ej        e	ee	ej        	  	        fd eej        e	 ee          e	ej                  f eddd          ej        fdef edd          ej        fdej        fdej        fdej        fdefgiZdS )r   z:
    For AMPL source code.

    .. versionadded:: 2.2
    Amplzhttp://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     a/home/geonatureadmin/si_en_reseau/tutos/venv/lib/python3.11/site-packages/pygments/lexers/ampl.pyr   r      s        
 D
ChG	I 	DMZ ' '"34U 
  %
& 
& 
& (/'7
9 W\'',# Xdm['2BCCEDXg):t}EEG AXg):{JmZj$-Y YZ <Xg):uuT{{Jm% %& U 	 ',E	; 	; 	; =AL	J OU ) 27	8 8 8
  ;FLI"FN3v~. $'o8
;FFFr   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 Fr   