B
    [                 @   sb   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 dgZG dd deZdS )z
    pygments.lexers.ampl
    ~~~~~~~~~~~~~~~~~~~~

    Lexers for the AMPL language.

    :copyright: Copyright 2006-2017 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	AmplLexerc               @   s  e Zd ZdZdZdgZdgZddefdejfde	j
fd	e	jfed
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dejfdefed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   zP
    For `AMPL <http://ampl.com/>`_ source code.

    .. versionadded:: 2.2
    ZAmplZamplz*.runrootz\nz\s+z#.*?\nz/[*](.|\n)*?[*]/);ZcallZcdcloseZcommandsdatadeleteZdisplayZdropendenvironexitexpandZincludeloadZmodelZ	objectiveZoptionZproblempurgequitZ	redeclarereloadremoveresetZrestoreshellZshowZ	solexpandZsolutionZsolveupdateZunloadZxrefZcoeffZcoefZcoverobjZintervaldefaultfromtoZto_comeZnet_inZnet_outZdimenZ	dimensionZcheckZcomplementswriteZfunctionpipeformatifZ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+))<absZacosZacoshaliasZasinZasinhZatanZatan2ZatanhZceilZctimeZcosZexpZfloorlogZlog10maxminZ	precisionroundZsinZsinhZsqrtZtanZtanhZtimeZtruncZBetaZCauchyZExponentialZGammaZIrand224ZNormalZNormal01ZPoissonZUniformZ	Uniform01ZnumZnum0ZicharcharlengthZsubstrZsprintfmatchsubZgsubprintZprintfnextZnextwprevZprevwfirstZlastordZord0ZcardZarityZ
indexarity)prefixr-   z>(\+|\-|\*|/|\*\*|=|<=|>=|==|\||\^|<|>|\!|\.\.|:=|\&|\!=|<<|>>))orexistsZforallandr)   notZwithinunionZdiff
differenceZsymdiffZinterZ	intersectintersectionZcrossZsetofZbyZlesssumZprodproductZdivmodz*(\d+\.(?!\.)\d*|\.(?!.)\d+)([eE][+-]?\d+)?z\d+([eE][+-]?\d+)?z[+-]?Infinityz(\w+|(\.(?!\.)))N)__name__
__module____qualname____doc__namealiases	filenamesr   
Whitespacer   SingleZ	Multiliner   r
   ZReservedZTyper   Doubler   r   r   ZVariableZDeclarationr   r   ZBuiltinr	   r   ZFloatZIntegertokens rS   rS   3lib/python3.7/site-packages/pygments/lexers/ampl.pyr      sN   	N)rK   Zpygments.lexerr   r   r   r   r   Zpygments.tokenr   r   r	   r
   r   r   r   r   __all__r   rS   rS   rS   rT   <module>
   s   (