B
    b$                 @   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-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               @   s  e Zd ZdZdZdgZddgZdddg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d.e d/fgd0e dfd1e j!fd2e fd3e fgd.e dfd1e j!fd4ejd5fd6e fd7e fgd8ejdfgd9e"fgd:ej#fgd;Z$d<S )=r   z3
    For SAS files.

    .. versionadded:: 2.2
    ZSASZsasz*.SASz*.sasz
text/x-sasztext/saszapplication/x-sas):ZbquoteZnrbquoteZcmpresZqcmpresZcompstorZdatatypdisplaydoelseendevalglobalgotoifindexinputZkeydeflabelleftlengthZletZlocallowcaseZ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trimZunquoteuntilupcaseverifywhilewindow)r   r   r%   r   r   r(   r+   )>abortZarrayZattribZbyZcallZcardsZcards4ZcatnamecontinueZ	datalinesZ
datalines4deleteZdelimZ	delimiterr   ZdmdropZendsaserrorfilefilenameZfootnoteformatr   inZinfileZinformatr   Zkeepr   Zleaver   libnamelinklistZlostcardmergemissingmodifyoptionsoutputoutZpager   ZredirectremoverenamereplaceZretainreturnselectsetskipZstartsasstoptitleupdateZwaitsaswherer,   xZsystask))addandZalterasZcascadeZcheckZcreater/   ZdescribeZdistinctr0   ZforeignfromgroupZhavingr   insertZintor5   keyZlikemessager;   ZmsgtypenotZnullZonororderZprimaryZ
referencesresetZrestrictrC   rD   tableuniquerH   ZvalidateZviewrI   (  absZaddrZairyZarcosZarsinZatanZattrcZattrnZbandZbetainvZblshiftZbnotZborZbrshiftZbxorZbyteZcdfZceilZcexistZcinvcloseZcnonctZcollateZcompblZcompoundcompressZcosZcoshZcssZcurobsZcvZdaccdbZdaccdbslZdaccslZdaccsydZdacctabZdairyZdateZdatejulZdatepartZdatetimeZdayZdcloseZdepdbZdepdbslZdepslZdepsydZdeptabZdequoteZdhmsZdifZdigammaZdimZdinfoZdnumZdopenZdoptnameZdoptnumZdreadZdropnoteZdsnameZerfZerfcZexistZexpZfappendZfcloseZfcolZfdeleteZfetchZfetchobsZfexistfgetZ	fileexistr3   ZfilerefZfinfoZfinvZfipnameZfipnamelZfipstateZfloorZfnonctZfnoteZfopenZfoptnameZfoptnumZfpointZfposZfputZfreadZfrewindZfrlenZfsepZfuzzZfwriteZgaminvZgammaZ	getoptionZgetvarcZgetvarnZhboundZhmsZhosthelpZhourZibesselr   ZindexcZindexwr   ZinputcZinputnintZintckZintnxZintrrZirrZjbesselZjuldateZkurtosisZlagZlboundr   r   Zlgammar6   ZlibreflogZlog10Zlog2ZlogpdfZlogpmfZlogsdfr   maxZmdyZmeanminZminutemodZmonthZmopenZmortnZnetpvZnmissZnormalZnoteZnpvopenZordinalpathnameZpdfpeekZpeekcZpmfZ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repeatZresolvereverseZrewindrightroundZsavingr   ZsdfsecondsignZsinZsinhZskewnessZsoundexZspedisZsqrtZstdstderrZstfipsZstnameZstnamelr!   sumZsymgetr"   Zsysmsgr#   r$   systemZtanZtanhZtimeZtimepartZtinvZtnonctZtoday	translateZtranwrdZtrigammar'   ZtrimnZtruncZuniformr)   ZussvarZvarfmtZvarinfmtZvarlabelZvarlenZvarnameZvarnumZvarrayZvarrayxZvartyper*   ZvformatZvformatdZ	vformatdxZvformatnZ	vformatnxZvformatwZ	vformatwxZvformatxZvinarrayZ	vinarrayxZ	vinformatZ
vinformatdZvinformatdxZ
vinformatnZvinformatnxZ
vinformatwZvinformatwxZ
vinformatxZvlabelZvlabelxZvlengthZvlengthxZvnameZvnamexZvtypeZvtypexZweekdayZyearZyyqZzipfipsZzipnameZzipnamelZzipstatecommentsz	proc-dataz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 zlog-messageszNOTE(:|-).*zWARNING(:|-).*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_))rootrr   z	proc-datazcards-datalinesrv   rs   zlog-messagesrt   rw   zvars-stringsr}   r   r   ry   rx   N)%__name__
__module____qualname____doc__namealiases	filenamesZ	mimetypes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BuiltinZVariableZFunctionr	   ZEscaper   ZConstanttokens r   r   2lib/python3.7/site-packages/pygments/lexers/sas.pyr      s   
	3







)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
   (