o
    ‡ÎÖaZ  ã                   @   sj   d Z ddlZddl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„ deƒZdS )zÇ
    pygments.lexers.ecl
    ~~~~~~~~~~~~~~~~~~~

    Lexers for the ECL language.

    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)Ú
RegexLexerÚincludeÚbygroupsÚwords)	ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚ
WhitespaceÚECLLexerc                   @   s8  e Zd ZdZdZdgZdgZdgZej	ej
B Zedƒedƒgdefd	ejfd
ejfgedƒedƒedƒedƒdedfdedfdejfdejfdejfdejfdejfdefdefdefgdejfgdejfdeejeƒfgeddd�ej fed dd�ej fged!dd�ej!fgded"fded"fd#efgd$œZ"d%d&„ Z#d'S )(r   z­
    Lexer for the declarative big-data `ECL
    <https://hpccsystems.com/training/documentation/ecl-language-reference/html>`_
    language.

    .. versionadded:: 1.5
    ÚECLÚeclz*.eclzapplication/x-eclÚ
whitespaceÚ
statementsz\s+z\/\/.*z/(\\\n)?\*(.|\n)*?\*(\\\n)?/ÚtypesÚkeywordsÚ	functionsÚhashú"Ústringz\'z"(\d+\.\d*|\.\d+|\d+)e[+-]?\d+[lu]*z(\d+\.\d*|\.\d+|\d+f)f?z0x[0-9a-f]+[lu]*z0[0-7]+[lu]*z\d+[lu]*z[~!%^&*+=|?:<>/-]+z[{}()\[\],.;]z	[a-z_]\w*z^#.*$z(RECORD|END)\Dz¦((?:ASCII|BIG_ENDIAN|BOOLEAN|DATA|DECIMAL|EBCDIC|INTEGER|PATTERN|QSTRING|REAL|RECORD|RULE|SET OF|STRING|TOKEN|UDECIMAL|UNICODE|UNSIGNED|VARSTRING|VARUNICODE)\d*)(\s+))ÚAPPLYÚASSERTÚBUILDÚ
BUILDINDEXÚEVALUATEÚFAILÚKEYDIFFÚKEYPATCHÚLOADXMLÚNOTHORÚNOTIFYÚOUTPUTÚPARALLELÚ
SEQUENTIALÚSOAPCALLÚ
CHECKPOINTÚ
DEPRECATEDÚFAILCODEÚFAILMESSAGEÚFAILUREÚGLOBALÚINDEPENDENTÚ	ONWARNINGÚPERSISTÚPRIORITYÚRECOVERYÚSTOREDÚSUCCESSÚWAITÚWHENz\b)Úsuffix)eÚALLÚANDÚANYÚASÚATMOSTÚBEFOREzBEGINC++ÚBESTÚBETWEENÚCASEÚCONSTÚCOUNTERÚCSVÚDESCENDÚENCRYPTzENDC++ÚENDMACROÚEXCEPTÚ	EXCLUSIVEÚEXPIREÚEXPORTÚEXTENDÚFALSEÚFEWÚFIRSTÚFLATÚFULLÚFUNCTIONÚGROUPÚHEADERÚHEADINGÚHOLEÚIFBLOCKÚIMPORTÚINÚJOINEDÚKEEPÚKEYEDÚLASTÚLEFTÚLIMITÚLOADÚLOCALÚLOCALEÚLOOKUPÚMACROÚMANYÚMAXCOUNTÚ	MAXLENGTHzMIN SKEWÚMODULEÚ	INTERFACEÚNAMEDÚNOCASEÚNOROOTÚNOSCANÚNOSORTÚNOTÚOFÚONLYÚOPTÚORÚOUTERÚ	OVERWRITEÚPACKEDÚ	PARTITIONÚPENALTYÚPHYSICALLENGTHÚPIPEÚQUOTEÚRELATIONSHIPÚREPEATÚRETURNÚRIGHTÚSCANÚSELFÚ	SEPARATORÚSERVICEÚSHAREDÚSKEWÚSKIPÚSQLÚSTOREÚ
TERMINATORÚTHORÚ	THRESHOLDÚTOKENÚ	TRANSFORMÚTRIMÚTRUEÚTYPEÚUNICODEORDERÚUNSORTEDÚVALIDATEÚVIRTUALÚWHOLEÚWILDÚWITHINÚXMLÚXPATHÚ__COMPRESSED__)ƒÚABSÚACOSÚALLNODESÚASCIIÚASINÚASSTRINGÚATANÚATAN2ÚAVErA   ÚCHOOSEÚCHOOSENÚ
CHOOSESETSÚCLUSTERSIZEÚCOMBINEÚCORRELATIONÚCOSÚCOSHÚCOUNTÚ
COVARIANCEÚCRONÚDATASETÚDEDUPÚDEFINEÚDENORMALIZEÚ
DISTRIBUTEÚDISTRIBUTEDÚDISTRIBUTIONÚEBCDICÚENTHÚERRORr   ÚEVENTÚ
EVENTEXTRAÚ	EVENTNAMEÚEXISTSÚEXPr+   r,   ÚFETCHÚFROMUNICODEÚ
GETISVALIDr.   ÚGRAPHrS   ÚHASHÚHASH32ÚHASH64ÚHASHCRCÚHASHMD5ÚHAVINGÚIFÚINDEXÚ	INTFORMATÚISVALIDÚITERATEÚJOINÚ
KEYUNICODEÚLENGTHÚLIBRARYr_   ÚLNra   ÚLOGÚLOOPÚMAPÚMATCHEDÚMATCHLENGTHÚMATCHPOSITIONÚ	MATCHTEXTÚMATCHUNICODEÚMAXÚMERGEÚ	MERGEJOINÚMINÚNOLOCALÚNONEMPTYÚ	NORMALIZEÚPARSErz   ÚPOWERÚPRELOADÚPROCESSÚPROJECTÚPULLÚRANDOMÚRANGEÚRANKÚRANKEDÚ
REALFORMATÚRECORDOFÚ	REGEXFINDÚREGEXREPLACEÚREGROUPÚREJECTEDÚROLLUPÚROUNDÚROUNDUPÚROWÚROWDIFFÚSAMPLEÚSETÚSINÚSINHÚSIZEOFr(   ÚSORTÚSORTEDÚSQRTÚSTEPPEDr4   ÚSUMÚTABLEÚTANÚTANHÚTHISNODEÚTOPNÚ	TOUNICODEÚTRANSFERrŽ   ÚTRUNCATEÚTYPEOFÚUNGROUPr‘   ÚVARIANCEÚWHICHÚWORKUNITÚ	XMLDECODEÚ	XMLENCODEÚXMLTEXTÚ
XMLUNICODEz#popz[^"\']+)Úrootr   r   r   r   r   r   r   c                 C   s8   d}d| v r
|d7 }d| v r|d7 }d| v r|d7 }|S )z‹This is very difficult to guess relative to other business languages.
        -> in conjuction with BEGIN/END seems relatively rare though.r   z->g{®Gáz„?ÚBEGINÚEND© )ÚtextÚresultr  r  ú5/usr/lib/python3/dist-packages/pygments/lexers/ecl.pyÚanalyse_text}   s   zECLLexer.analyse_textN)$Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesÚ	mimetypesÚreÚ
IGNORECASEÚ	MULTILINEÚflagsr   r   r   ÚSingleÚ	Multiliner   r   ÚFloatÚHexÚOctÚIntegerr   r   r
   ÚPreprocr	   ÚDeclarationr   ÚTyper   ÚReservedÚFunctionÚtokensr  r  r  r  r  r      sv    þýòÿ
ýþúù	ôóöïîÿý®Y)r  r!  Úpygments.lexerr   r   r   r   Úpygments.tokenr   r   r   r	   r
   r   r   r   r   Ú__all__r   r  r  r  r  Ú<module>   s    
,