U
    ]g$                     @   sb   d Z ddlZddl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 dgZG dd deZdS )z
    pygments.lexers.sas
    ~~~~~~~~~~~~~~~~~~~

    Lexer for SAS.

    :copyright: Copyright 2006-2025 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                   @   s  e Zd ZdZdZdgZddgZdddgZd	Zd
Z	e
je
jB ZdZdZdZdZdZedededededdefgdefdefdejfdejfgdejfgdedfgdedfgded fgd!edfd"ejdfd#ejdfedged$ed%ed&ed'geed(d(d)efeed(d(d)efeed(d(d)efeed*d(d)ejfeed(d+d)ejfgd,ej fd-ej!fd.e"d/fd0e"d1fgd2e"dfd3e"j#fd4e"fd5e"fgd0e"dfd3e"j#fd6ej d7fd8e"fd9e"fgd:ej dfgd;e$fgd<ej%fgd=Z&d>S )?r   z
    For SAS files.
    ZSASZsasz*.SASz*.sasz
text/x-sasztext/saszapplication/x-sasz,https://en.wikipedia.org/wiki/SAS_(software)z2.2):ZbquoteZnrbquoteZcmpresZqcmpresZcompstorZdatatypdisplaydoelseendevalglobalgotoifindexinputZkeydeflabelleftlengthZletlocallowcasemacromendZnrquoteZnrstrputZqleftZqlowcaseZqscanZqsubstrZqsysfuncZqtrimquoteZqupcasescanstrsubstrZsuperqZsyscallZsysevalfZsysexecZsysfuncsysgetZsyslputsysprodsysrcZsysrputthentotrimunquoteuntilupcaseverifywhilewindow)r   r   r'   r   r   r+   r.   )>abortarrayattribZbycallZcardsZcards4ZcatnamecontinueZ	datalinesZ
datalines4deletedelim	delimiterr   dmdropZendsaserrorfilefilenameZfootnoteformatr   ininfileZinformatr   Zkeepr   Zleaver   libnamelinklistZlostcardmergemissingmodifyoptionsoutputoutpager   redirectremoverenamereplaceZretainreturnselectsetskipZstartsasstoptitleupdateZwaitsaswherer/   xZsystask))addandZalterasZcascadecheckcreater5   ZdescribeZdistinctr9   ZforeignfromgroupZhavingr   insertZintor>   keylikemessagerE   ZmsgtypenotnullonororderZprimaryZ
referencesresetZrestrictrO   rP   tableuniquerT   validateviewrU   (  absaddrZairyZarcosZarsinatanZattrcZattrnZbandZbetainvZblshiftZbnotZborZbrshiftZbxorbyteZcdfceilZcexistZcinvcloseZcnonctZcollateZcompblZcompoundcompresscoscoshcssZcurobsZcvZdaccdbZdaccdbslZdaccslZdaccsydZdacctabZdairydateZdatejulZdatepartdatetimedayZdcloseZdepdbZdepdbslZdepslZdepsydZdeptabZdequoteZdhmsZdifZdigammaZdimZdinfoZdnumZdopenZdoptnameZdoptnumZdreadZdropnoteZdsnameerferfcexistexpZfappendZfcloseZfcolZfdeletefetchZfetchobsZfexistfgetZ	fileexistr<   ZfilerefZfinfoZfinvZfipnameZfipnamelZfipstatefloorZfnonctZfnoteZfopenZfoptnameZfoptnumZfpointZfposZfputZfreadZfrewindZfrlenZfsepZfuzzZfwriteZgaminvgammaZ	getoptionZgetvarcZgetvarnZhboundZhmsZhosthelphourZibesselr   ZindexcZindexwr   ZinputcZinputnintZintckZintnxZintrrZirrZjbesselZjuldateZkurtosisZlagZlboundr   r   lgammar@   Zlibrefloglog10log2ZlogpdfZlogpmfZlogsdfr   maxZmdyZmeanminminutemodmonthZmopenZmortnZnetpvZnmissnormalZnoteZnpvopenZordinalpathnameZpdfpeekZpeekcZpmfpointZpoissonZpokeZprobbetaZprobbnmlZprobchiZprobfZprobgamZprobhyprZprobitZprobnegbZprobnormZprobtr   ZputcZputnZqtrr    ZranbinZrancauZranexpZrangamrangeZrankZrannorZranpoiZrantblZrantriZranunirepeatresolvereverserewindrightroundZsavingr!   ZsdfsecondsignsinsinhZskewnessZsoundexZspedissqrtZstdstderrZstfipsZstnameZstnamelr#   sumZsymgetr$   Zsysmsgr%   r&   systemtantanhtimeZtimepartZtinvZtnoncttoday	translateZtranwrdZtrigammar)   Ztrimntruncuniformr,   ZussvarZvarfmtZvarinfmtZvarlabelZvarlenvarnameZvarnumZvarrayZvarrayxvartyper-   vformatZvformatdZ	vformatdxZvformatnZ	vformatnxZvformatwZ	vformatwxZvformatxZvinarrayZ	vinarrayxZ	vinformatZ
vinformatdZvinformatdxZ
vinformatnZvinformatnxZ
vinformatwZvinformatwxZ
vinformatxZvlabelZvlabelxZvlengthZvlengthxZvnameZvnamexvtypeZvtypexweekdayyearZyyqZzipfipsZzipnameZzipnamelZzipstatecomments	proc-datacards-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 log-messageszNOTE(:|-).*zWARNING(:|-).*zERROR(:|-).*keywords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   r   r   r   r   r   r   r   r   r   r   r   r   r   N)'__name__
__module____qualname____doc__namealiases	filenames	mimetypesurlZversion_addedre
IGNORECASE	MULTILINEflagsZbuiltins_macrosZbuiltins_conditionalsZbuiltins_statementsZbuiltins_sqlZbuiltins_functionsr   r
   r   Z	Multiliner   ZReservedr   r   ZEmphErrorr   r   ZBuiltinVariableZFunctionr	   ZEscaper   Constanttokens r   r   7/tmp/pip-unpacked-wheel-zak7uw41/pygments/lexers/sas.pyr      s   
	4


	

)r   r   Zpygments.lexerr   r   r   Zpygments.tokenr   r   r   r   r	   r
   r   r   __all__r   r   r   r   r   <module>   s
   
(