
    L&i$                     p    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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                   ,   e Zd ZdZdZdgZddgZg dZej	        ej
        z  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$%          ef eed$d$%          ef eed$d$%          ef eed&d$%          ej        f eed$d'%          ej        fgd(ej        fd)ej        fd*e d+fd,e d-fgd.e dfd/e j!        fd0e fd1e fgd,e dfd/e j!        fd2ej        d3fd4e fd5e fgd6ej        dfgd7e"fgd8ej#        fgd9Z$d:S );r   z3
    For SAS files.

    .. versionadded:: 2.2
    SASsasz*.SASz*.sas)z
text/x-sasztext/saszapplication/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)r   r   rC   r   r   rG   rJ   )>abortarrayattribbycallcardscards4catnamecontinue	datalines
datalines4deletedelim	delimiterr   dmdropendsaserrorfilefilenamefootnoteformatr   ininfileinformatr!   keepr#   leaver%   libnamelinklistlostcardmergemissingmodifyoptionsoutputoutpager-   redirectremoverenamereplaceretainreturnselectsetskipstartsasstoptitleupdatewaitsaswhererK   xsystask))addandalterascascadecheckcreaterW   describedistinctr[   foreignfromgrouphavingr    insertintorb   keylikemessagerm   msgtypenotnullonororderprimary
referencesresetrestrictrx   ry   tableuniquer~   validateviewr   (  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	fileexistr_   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ibesselr    indexcindexwr!   inputcinputnintintckintnxintrrirrjbesseljuldatekurtosislaglboundr$   r%   lgammarg   librefloglog10log2logpdflogpmflogsdfr(   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probtr-   putcputnqtrr4   ranbinrancauranexprangamrangerankrannorranpoirantblrantriranunirepeatresolvereverserewindrightroundsavingr6   sdfsecondsignsinsinhskewnesssoundexspedissqrtstdstderrstfipsstnamestnamelr8   sumsymgetr>   sysmsgr@   rA   systemtantanhtimetimeparttinvtnoncttoday	translatetranwrdtrigammarE   trimntruncuniformrH   ussvarvarfmtvarinfmtvarlabelvarlenvarnamevarnumvarrayvarrayxvartyperI   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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re
IGNORECASE	MULTILINEflagsbuiltins_macrosbuiltins_conditionalsbuiltins_statementsbuiltins_sqlbuiltins_functionsr   r   r   	Multiliner   Reservedr   r   EmphErrorr   r   BuiltinVariableFunctionr
   Escaper	   Constanttokens     `/home/geonatureadmin/si_en_reseau/tutos/venv/lib/python3.11/site-packages/pygments/lexers/sas.pyr   r      sV         DG'"I???I,EO
L0h GJGK  G%&&GFOOGI4L
 G$7#!23 '"34	
 6
 .w?
 !%0

 w7
 Wf-f5gmV4GI	
 GJGN##GIGI	
 U&!!# # #  U<!!# # #  U(!!# # #  U? !# # # \ U%!!# # # \#
0 #DM2/FO,6?+	
 66"v}- 6" 
 66"v}-4=*-6"
 "4=&9

 J

B
Cj jFFFr  )r  r  pygments.lexerr   r   r   pygments.tokenr   r   r   r	   r
   r   r   r   __all__r   r  r  r  <module>r     s     
			 5 5 5 5 5 5 5 5 5 5                    ,P P P P Pz P P P P Pr  