a
    ;@bZ                     @   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
    ZECLZ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+))ZAPPLYASSERTZBUILDZ
BUILDINDEXEVALUATEZFAILZKEYDIFFZKEYPATCHZLOADXMLZNOTHORZNOTIFYZOUTPUTZPARALLELZ
SEQUENTIALSOAPCALLZ
CHECKPOINTZ
DEPRECATEDFAILCODEFAILMESSAGEFAILUREGLOBALZINDEPENDENTZ	ONWARNINGZPERSISTZPRIORITYZRECOVERYSTOREDSUCCESSZWAITZWHENz\b)suffix)eZALLZANDANYZASZATMOSTZBEFOREzBEGINC++ZBESTZBETWEENCASEZCONSTZCOUNTERZCSVZDESCENDZENCRYPTzENDC++ZENDMACROZEXCEPTZ	EXCLUSIVEZEXPIREZEXPORTZEXTENDZFALSEZFEWZFIRSTZFLATZFULLZFUNCTIONGROUPZHEADERZHEADINGZHOLEZIFBLOCKZIMPORTINZJOINEDZKEEPZKEYEDZLASTZLEFTLIMITZLOADLOCALLOCALEZLOOKUPZMACROZMANYZMAXCOUNTZ	MAXLENGTHzMIN SKEWZMODULEZ	INTERFACEZNAMEDZNOCASEZNOROOTZNOSCANZNOSORTZNOTZOFZONLYZOPTORZOUTERZ	OVERWRITEZPACKEDZ	PARTITIONZPENALTYZPHYSICALLENGTHPIPEZQUOTEZRELATIONSHIPREPEATZRETURNZRIGHTZSCANZSELFZ	SEPARATORZSERVICEZSHAREDZSKEWZSKIPZSQLZSTOREZ
TERMINATORZTHORZ	THRESHOLDZTOKENZ	TRANSFORMTRIMZTRUEZTYPEUNICODEORDERZUNSORTEDZVALIDATEZVIRTUALZWHOLEZWILDZWITHINZXMLZXPATHZ__COMPRESSED__)ZABSZACOSZALLNODESASCIIZASINZASSTRINGZATANZATAN2ZAVEr#   ZCHOOSEZCHOOSENZ
CHOOSESETSZCLUSTERSIZEZCOMBINEZCORRELATIONZCOSZCOSHZCOUNTZ
COVARIANCEZCRONZDATASETZDEDUPZDEFINEZDENORMALIZEZ
DISTRIBUTEZDISTRIBUTEDZDISTRIBUTIONZEBCDICZENTHZERRORr   ZEVENTZ
EVENTEXTRAZ	EVENTNAMEZEXISTSZEXPr   r   ZFETCHZFROMUNICODEZ
GETISVALIDr   ZGRAPHr$   ZHASHZHASH32ZHASH64ZHASHCRCZHASHMD5ZHAVINGZIFZINDEXZ	INTFORMATZISVALIDZITERATEZJOINZ
KEYUNICODEZLENGTHZLIBRARYr&   ZLNr'   ZLOGZLOOPZMAPZMATCHEDZMATCHLENGTHZMATCHPOSITIONZ	MATCHTEXTZMATCHUNICODEMAXZMERGEZ	MERGEJOINZMINZNOLOCALZNONEMPTYZ	NORMALIZEZPARSEr*   ZPOWERZPRELOADZPROCESSZPROJECTZPULLZRANDOMRANGEZRANKZRANKEDZ
REALFORMATZRECORDOFZ	REGEXFINDZREGEXREPLACEZREGROUPZREJECTEDZROLLUPZROUNDZROUNDUPZROWZROWDIFFZSAMPLEZSETZSINZSINHZSIZEOFr   ZSORTZSORTEDZSQRTZSTEPPEDr   ZSUMZTABLEZTANZTANHZTHISNODEZTOPNZ	TOUNICODEZTRANSFERr,   ZTRUNCATEZTYPEOFZUNGROUPr-   ZVARIANCEZWHICHZWORKUNITZ	XMLDECODEZ	XMLENCODEZXMLTEXTZ
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 r4|d7 }|S )zThis is very difficult to guess relative to other business languages.
        -> in conjuction with BEGIN/END seems relatively rare though.r   z->g{Gz?ZBEGINZEND )textresultr2   r2   2lib/python3.9/site-packages/pygments/lexers/ecl.pyanalyse_text}   s    zECLLexer.analyse_textN)$__name__
__module____qualname____doc__namealiases	filenamesZ	mimetypesre
IGNORECASE	MULTILINEflagsr   r   r   SingleZ	Multiliner   r   ZFloatZHexZOctZIntegerr   r   r
   ZPreprocr	   ZDeclarationr   Typer   ZReservedZFunctiontokensr6   r2   r2   r2   r5   r      st   
	Y)r:   r>   Zpygments.lexerr   r   r   r   Zpygments.tokenr   r   r   r	   r
   r   r   r   r   __all__r   r2   r2   r2   r5   <module>   s
   
,