|eldZddlZddlmZmZmZmZddlmZm Z m Z m Z m Z m Z mZmZdgZGddeZy)z pygments.lexers.ecl ~~~~~~~~~~~~~~~~~~~ Lexers for the ECL language. :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. N) RegexLexerincludebygroupswords)CommentOperatorKeywordNameStringNumber Punctuation WhitespaceECLLexerceZdZdZdZdZdgZdgZdgZe je jzZ e de dgd efd ej fd ej"fge d e d e de ddedfdedfdej(fdej(fdej*fdej,fdej.fdefdefdefgdej6fgdej:fdeej>efge dd ejBfe d!d ejBfge d"d ejDfgded#fded#fd$efgd%Z#d&Z$y')(rzU Lexer for the declarative big-data ECL language. .. versionadded:: 1.5 ECLzJhttps://hpccsystems.com/training/documentation/ecl-language-reference/htmleclz*.eclzapplication/x-ecl whitespace statementsz\s+z\/\/.*z/(\\\n)?\*(.|\n)*?\*(\\\n)?/typeskeywords functionshash"stringz\'z"(\d+\.\d*|\.\d+|\d+)e[+-]?\d+[lu]*z(\d+\.\d*|\.\d+|\d+f)f?z0x[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+))APPLYASSERTBUILD BUILDINDEXEVALUATEFAILKEYDIFFKEYPATCHLOADXMLNOTHORNOTIFYOUTPUTPARALLEL SEQUENTIALSOAPCALL CHECKPOINT DEPRECATEDFAILCODE FAILMESSAGEFAILUREGLOBAL INDEPENDENT ONWARNINGPERSISTPRIORITYRECOVERYSTOREDSUCCESSWAITWHENz\b)suffix)eALLANDANYASATMOSTBEFOREzBEGINC++BESTBETWEENCASECONSTCOUNTERCSVDESCENDENCRYPTzENDC++ENDMACROEXCEPT EXCLUSIVEEXPIREEXPORTEXTENDFALSEFEWFIRSTFLATFULLFUNCTIONGROUPHEADERHEADINGHOLEIFBLOCKIMPORTINJOINEDKEEPKEYEDLASTLEFTLIMITLOADLOCALLOCALELOOKUPMACROMANYMAXCOUNT MAXLENGTHzMIN SKEWMODULE INTERFACENAMEDNOCASENOROOTNOSCANNOSORTNOTOFONLYOPTOROUTER OVERWRITEPACKED PARTITIONPENALTYPHYSICALLENGTHPIPEQUOTE RELATIONSHIPREPEATRETURNRIGHTSCANSELF SEPARATORSERVICESHAREDSKEWSKIPSQLSTORE TERMINATORTHOR THRESHOLDTOKEN TRANSFORMTRIMTRUETYPE UNICODEORDERUNSORTEDVALIDATEVIRTUALWHOLEWILDWITHINXMLXPATH__COMPRESSED__)ABSACOSALLNODESASCIIASINASSTRINGATANATAN2AVErBCHOOSECHOOSEN CHOOSESETS CLUSTERSIZECOMBINE CORRELATIONCOSCOSHCOUNT COVARIANCECRONDATASETDEDUPDEFINE DENORMALIZE DISTRIBUTE DISTRIBUTED DISTRIBUTIONEBCDICENTHERRORrEVENT EVENTEXTRA EVENTNAMEEXISTSEXPr,r-FETCH FROMUNICODE GETISVALIDr/GRAPHrTHASHHASH32HASH64HASHCRCHASHMD5HAVINGIFINDEX INTFORMATISVALIDITERATEJOIN KEYUNICODELENGTHLIBRARYr`LNrbLOGLOOPMAPMATCHED MATCHLENGTH MATCHPOSITION MATCHTEXT MATCHUNICODEMAXMERGE MERGEJOINMINNOLOCALNONEMPTY NORMALIZEPARSEr{POWERPRELOADPROCESSPROJECTPULLRANDOMRANGERANKRANKED REALFORMATRECORDOF REGEXFIND REGEXREPLACEREGROUPREJECTEDROLLUPROUNDROUNDUPROWROWDIFFSAMPLESETSINSINHSIZEOFr)SORTSORTEDSQRTSTEPPEDr5SUMTABLETANTANHTHISNODETOPN TOUNICODETRANSFERrTRUNCATETYPEOFUNGROUPrVARIANCEWHICHWORKUNIT XMLDECODE XMLENCODEXMLTEXT XMLUNICODEz#popz[^"\']+)rootrrrrrrrc@d}d|vr|dz }d|vr|dz }d|vr|dz }|S)zThis is very difficult to guess relative to other business languages. -> in conjunction with BEGIN/END seems relatively rare though.rz->g{Gz?BEGINEND)textresults 5/usr/lib/python3/dist-packages/pygments/lexers/ecl.py analyse_textzECLLexer.analyse_texts> 4< dNF d? dNF D= dNF N)%__name__ __module__ __qualname____doc__nameurlaliases filenames mimetypesre IGNORECASE MULTILINEflagsrrrSingle Multiliner r FloatHexOctIntegerrr r Preprocr DeclarationrTyperReservedFunctiontokensrrrrrrs D VCgG I$%I MMBLL (E L ! L ! Z  ' ,g.?.? @ G  J  K FO 68 $ FH % 2FLL A ' 6 &** - fjj ) &.. ) "H - { + 4  "w '  3 3 48gllJ / 1  ). /   " +0!1"  #  <6,?D-E.]]/  666 " FF #   w`FD r)rr%pygments.lexerrrrrpygments.tokenrrr r r r r r__all__rrrrr8s; ??$$$ ,}z}r