3

V'íc¸$ã@sbdZddlZddlmZmZmZddlmZmZm	Z	m
Z
mZmZm
Z
mZdgZGdd„deƒZdS)z¹
    pygments.lexers.sas
    ~~~~~~~~~~~~~~~~~~~

    Lexer for SAS.

    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
éN)Ú
RegexLexerÚincludeÚwords)ÚCommentÚKeywordÚNameÚNumberÚStringÚTextÚOtherÚGenericÚSASLexerc@sheZdZdZdZdgZddgZdddgZej	ej
BZdËZdÌZ
dÍZdÎZdÏZedœƒedƒedžƒedŸƒed ƒd¡efgd¢efd£efd¤ejfd¥ejfgd¦ejfgd§ed¨fgd©edªfgd«ed¬fgd­edªfd®ejdªfd¯ejdªfed ƒged°ƒed±ƒed²ƒed³ƒgeed´d´dµefeed´d´dµefee
d´d´dµefeed¶d´dµejfeed´d·dµejfgd¸ejfd¹ejfdºe d»fd¼e d½fgd¾e dªfd¿e j!fdÀe fdÁe fgd¼e dªfd¿e j!fdÂejdÃfdÄe fdÅe fgdÆejdªfgdÇe"fgdÈej#fgdɜZ$dÊS(Ðr
z3
    For SAS files.

    .. versionadded:: 2.2
    ZSASZsasz*.SASz*.sasz
text/x-sasztext/saszapplication/x-sasÚbquoteÚnrbquoteÚcmpresÚqcmpresÚcompstorÚdatatypÚdisplayÚdoÚelseÚendÚevalÚglobalÚgotoÚifÚindexÚinputÚkeydefÚlabelÚleftÚlengthÚletÚlocalÚlowcaseÚmacroÚmendÚnrquoteÚnrstrÚputÚqleftÚqlowcaseÚqscanÚqsubstrÚqsysfuncÚqtrimÚquoteÚqupcaseÚscanÚstrÚsubstrÚsuperqÚsyscallÚsysevalfÚsysexecÚsysfuncÚsysgetÚsyslputÚsysprodÚsysrcÚsysrputÚthenÚtoÚtrimÚunquoteÚuntilÚupcaseÚverifyÚwhileÚwindowÚabortÚarrayÚattribÚbyÚcallÚcardsÚcards4ÚcatnameÚcontinueÚ	datalinesÚ
datalines4ÚdeleteÚdelimÚ	delimiterÚdmÚdropÚendsasÚerrorÚfileÚfilenameÚfootnoteÚformatÚinÚinfileÚinformatÚkeepÚleaveÚlibnameÚlinkÚlistÚlostcardÚmergeÚmissingÚmodifyÚoptionsÚoutputÚoutÚpageÚredirectÚremoveÚrenameÚreplaceÚretainÚreturnÚselectÚsetÚskipÚstartsasÚstopÚtitleÚupdateÚwaitsasÚwhereÚxÚsystaskÚaddÚandÚalterÚasÚcascadeÚcheckÚcreateÚdescribeÚdistinctÚforeignÚfromÚgroupÚhavingÚinsertÚintoÚkeyÚlikeÚmessageÚmsgtypeÚnotÚnullÚonÚorÚorderÚprimaryÚ
referencesÚresetÚrestrictÚtableÚuniqueÚvalidateÚviewÚabsÚaddrÚairyÚarcosÚarsinÚatanÚattrcÚattrnÚbandÚbetainvÚblshiftÚbnotÚborÚbrshiftÚbxorÚbyteÚcdfÚceilÚcexistÚcinvÚcloseÚcnonctÚcollateÚcompblÚcompoundÚcompressÚcosÚcoshÚcssÚcurobsÚcvÚdaccdbÚdaccdbslÚdaccslÚdaccsydÚdacctabÚdairyÚdateÚdatejulÚdatepartÚdatetimeÚdayÚdcloseÚdepdbÚdepdbslÚdepslÚdepsydÚdeptabÚdequoteÚdhmsÚdifÚdigammaÚdimÚdinfoÚdnumÚdopenÚdoptnameÚdoptnumÚdreadÚdropnoteÚdsnameÚerfÚerfcÚexistÚexpÚfappendÚfcloseÚfcolÚfdeleteÚfetchÚfetchobsÚfexistÚfgetÚ	fileexistÚfilerefÚfinfoÚfinvÚfipnameÚfipnamelÚfipstateÚfloorÚfnonctÚfnoteÚfopenÚfoptnameÚfoptnumÚfpointÚfposÚfputÚfreadÚfrewindÚfrlenÚfsepÚfuzzÚfwriteÚgaminvÚgammaÚ	getoptionÚgetvarcÚgetvarnÚhboundÚhmsÚhosthelpÚhourÚibesselÚindexcÚindexwÚinputcÚinputnÚintÚintckÚintnxÚintrrÚirrÚjbesselÚjuldateÚkurtosisÚlagÚlboundÚlgammaÚlibrefÚlogÚlog10Úlog2ÚlogpdfÚlogpmfÚlogsdfÚmaxÚmdyÚmeanÚminÚminuteÚmodÚmonthÚmopenÚmortÚnÚnetpvÚnmissÚnormalÚnoteÚnpvÚopenÚordinalÚpathnameÚpdfÚpeekÚpeekcÚpmfÚpointÚpoissonÚpokeÚprobbetaÚprobbnmlÚprobchiÚprobfÚprobgamÚprobhyprÚprobitÚprobnegbÚprobnormÚprobtÚputcÚputnÚqtrÚranbinÚrancauÚranexpÚrangamÚrangeÚrankÚrannorÚranpoiÚrantblÚrantriÚranuniÚrepeatÚresolveÚreverseÚrewindÚrightÚroundÚsavingÚsdfÚsecondÚsignÚsinÚsinhÚskewnessÚsoundexÚspedisÚsqrtÚstdÚstderrÚstfipsÚstnameÚstnamelÚsumÚsymgetÚsysmsgÚsystemÚtanÚtanhÚtimeÚtimepartÚtinvÚtnonctÚtodayÚ	translateÚtranwrdÚtrigammaÚtrimnÚtruncÚuniformÚussÚvarÚvarfmtÚvarinfmtÚvarlabelÚvarlenÚvarnameÚvarnumÚvarrayÚvarrayxÚvartypeÚvformatÚvformatdÚ	vformatdxÚvformatnÚ	vformatnxÚvformatwÚ	vformatwxÚvformatxÚvinarrayÚ	vinarrayxÚ	vinformatÚ
vinformatdÚvinformatdxÚ
vinformatnÚvinformatnxÚ
vinformatwÚvinformatwxÚ
vinformatxÚvlabelÚvlabelxÚvlengthÚvlengthxÚvnameÚvnamexÚvtypeÚvtypexÚweekdayÚyearÚyyqÚzipfipsÚzipnameÚzipnamelÚzipstateÚcommentsz	proc-datazcards-datalinesÚlogsÚgeneralÚ.z
^\s*\*.*?;z	/\*.*?\*/z^\s*\*(.|\n)*?;z/[*](.|\n)*?[*]/z%(^|;)\s*(proc \w+|data|run|quit)[\s;]z^\s*(datalines|cards)\s*;\s*$Údataz(.|\n)*^\s*;\s*$z#popz
\n?^\s*%?put zlog-messageszNOTE(:|-).*zWARNING(:|-).*zERROR(:|-).*Úkeywordszvars-stringsÚspecialÚnumbersz\b)ÚprefixÚsuffixú%z\(z&[a-z_]\w{0,31}\.?z%[a-z_]\w{0,31}z\'Ú
string_squoteú"Ú
string_dquoteú'z
\\\\|\\"|\\\nz	[^$\'\\]+z[$\'\\]ú&Úvalidvarz	[^$&"\\]+z[$"\\]z[a-z_]\w{0,31}\.?z9\b[+-]?([0-9]+(\.[0-9]+)?|\.[0-9]+|\.)(E[+-]?[0-9]+)?i?\bza(null|missing|_all_|_automatic_|_character_|_n_|_infile_|_name_|_null_|_numeric_|_user_|_webout_))Úrootr¡z	proc-datazcards-datalinesr¥r¢zlog-messagesr£r¦zvars-stringsr¬r®r±r¨r§N):rrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrG)rrr?rrrCrF)>rHrIrJrKrLrMrNrOrPrQrRrSrTrUrrVrWrXrYrZr[r\r]rr^r_r`rrarrbr!rcrdrerfrgrhrirjrkrlrmr)rnrorprqrrrsrtrurvrwrxryrzr{r|rGr}r~))rr€rr‚rƒr„r…rSr†r‡rWrˆr‰rŠr‹rrŒrr^rŽrrrir‘r’r“r”r•r–r—r˜r™ršrtrur›rœrzrržr|(rŸr r¡r¢r£r¤r¥r¦r§r¨r©rªr«r¬r­r®r¯r°r±r²r³r´rµr¶r·r¸r¹rºr»r¼r½r¾r¿rÀrÁrÂrÃrÄrÅrÆrÇrÈrÉrÊrËrÌrÍrÎrÏrÐrÑrÒrÓrÔrÕrÖr×rØrÙrÚrÛrÜrÝrÞrßràrárârãrärårærçrèr[rérêrërìrírîrïrðrñròrórôrõrör÷rørùrúrûrürýrþrÿrrrrrrrrrrr	rr
rrr
rrrrrrrrr r!rrcrrrrrrrr$rrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@r)rArBrCr0rDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUr2rVrWrXrYrZr[r\r]r^r_r`rarbrcr4rdrer:rfr<r=rgrhrirjrkrlrmrnrorprqrArrrsrtrDrurvrwrxryrzr{r|r}r~rrEr€rr‚rƒr„r…r†r‡rˆr‰rŠr‹rŒrrŽrrr‘r’r“r”r•r–r—r˜r™ršr›rœrržrŸr )%Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesÚ	mimetypesÚreÚ
IGNORECASEÚ	MULTILINEÚflagsZbuiltins_macrosZbuiltins_conditionalsZbuiltins_statementsZbuiltins_sqlZbuiltins_functionsrr
rZ	MultilinerZReservedrrZEmphÚErrorrrZBuiltinÚVariableZFunctionr	ZEscaperÚConstantÚtokens©rÃrÃú7/tmp/pip-build-gk9425m9/Pygments/pygments/lexers/sas.pyr
s















)r¶r»Zpygments.lexerrrrZpygments.tokenrrrrr	r
rrÚ__all__r
rÃrÃrÃrÄÚ<module>	s
(