o aZ@sjdZddlZddlmZmZmZmZddlmZm Z m Z m Z m Z m Z mZmZmZdgZGdddeZdS)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) RegexLexerincludebygroupswords) TextCommentOperatorKeywordNameStringNumber Punctuation WhitespaceECLLexerc@s8eZdZdZdZdgZdgZdgZej ej BZ e de dgde fd ejfd ejfge d e d e d e ddedfdedfdejfdejfdejfdejfdejfdefdefdefgdejfgdejfdeeje fgedddej fed ddej fged!ddej!fgded"fded"fd#efgd$Z"d%d&Z#d'S)(rz Lexer for the declarative big-data `ECL `_ language. .. versionadded:: 1.5 ECLeclz*.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__)ABSACOSALLNODESASCIIASINASSTRINGATANATAN2AVErACHOOSECHOOSEN CHOOSESETS CLUSTERSIZECOMBINE CORRELATIONCOSCOSHCOUNT COVARIANCECRONDATASETDEDUPDEFINE DENORMALIZE DISTRIBUTE DISTRIBUTED DISTRIBUTIONEBCDICENTHERRORrEVENT EVENTEXTRA EVENTNAMEEXISTSEXPr+r,FETCH FROMUNICODE GETISVALIDr.GRAPHrSHASHHASH32HASH64HASHCRCHASHMD5HAVINGIFINDEX INTFORMATISVALIDITERATEJOIN KEYUNICODELENGTHLIBRARYr_LNraLOGLOOPMAPMATCHED MATCHLENGTH MATCHPOSITION MATCHTEXT MATCHUNICODEMAXMERGE MERGEJOINMINNOLOCALNONEMPTY NORMALIZEPARSErzPOWERPRELOADPROCESSPROJECTPULLRANDOMRANGERANKRANKED REALFORMATRECORDOF REGEXFIND REGEXREPLACEREGROUPREJECTEDROLLUPROUNDROUNDUPROWROWDIFFSAMPLESETSINSINHSIZEOFr(SORTSORTEDSQRTSTEPPEDr4SUMTABLETANTANHTHISNODETOPN TOUNICODETRANSFERrTRUNCATETYPEOFUNGROUPrVARIANCEWHICHWORKUNIT XMLDECODE XMLENCODEXMLTEXT XMLUNICODEz#popz[^"\']+)rootrrrrrrrcCs8d}d|vr |d7}d|vr|d7}d|vr|d7}|S)zThis is very difficult to guess relative to other business languages. -> in conjuction with BEGIN/END seems relatively rare though.rz->g{Gz?BEGINEND)textresultrr5/usr/lib/python3/dist-packages/pygments/lexers/ecl.py analyse_text}szECLLexer.analyse_textN)$__name__ __module__ __qualname____doc__namealiases filenames mimetypesre IGNORECASE MULTILINEflagsrrrSingle Multiliner r FloatHexOctIntegerrr r Preprocr DeclarationrTyperReservedFunctiontokensrrrrrrsv      Y)rr!pygments.lexerrrrrpygments.tokenrrrr r r r r r__all__rrrrrs  ,