o a$@sbdZddlZddlmZmZmZddlmZmZm Z m Z m Z m Z m Z mZdgZGdddeZdS)z pygments.lexers.sas ~~~~~~~~~~~~~~~~~~~ Lexer for SAS. :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. N) RegexLexerincludewords)CommentKeywordNameNumberStringTextOtherGenericSASLexerc@seZdZdZdZdgZddgZgdZej ej BZ dZ dZ d Zd Zd Zed ed edededdefgdefdefdejfdejfgdejfgdedfgdedfgdedfgdedfdejdfdejdfedged ed!ed"ed#geed$d$d%efeed$d$d%efee d$d$d%efee d&d$d%ejfeed$d'd%ejfgd(ejfd)ejfd*e d+fd,e d-fgd.e dfd/e j!fd0e fd1e fgd,e dfd/e j!fd2ejd3fd4e fd5e fgd6ejdfgd7e"fgd8ej#fgd9Z$d:S);r zL For `SAS `_ files. .. versionadded:: 2.2 SASsasz*.SASz*.sas)z text/x-sasztext/saszapplication/x-sas):bquotenrbquotecmpresqcmprescompstordatatypdisplaydoelseendevalglobalgotoifindexinputkeydeflabelleftlengthletlocallowcasemacromendnrquotenrstrputqleftqlowcaseqscanqsubstrqsysfuncqtrimquotequpcasescanstrsubstrsuperqsyscallsysevalfsysexecsysfuncsysgetsyslputsysprodsysrcsysrputthentotrimunquoteuntilupcaseverifywhilewindow)rrrArrrErH)>abortarrayattribbycallcardscards4catnamecontinue datalines datalines4deletedelim delimiterrdmdropendsaserrorfilefilenamefootnoteformatrininfileinformatrkeepr!leaver#libnamelinklistlostcardmergemissingmodifyoptionsoutputoutpager+redirectremoverenamereplaceretainreturnselectsetskipstartsasstoptitleupdatewaitsaswhererIxsystask))addandalterascascadecheckcreaterUdescribedistinctrYforeignfromgrouphavingrinsertintor`keylikemessagerkmsgtypenotnullonororderprimary referencesresetrestrictrvrwtableuniquer|validateviewr~(absaddrairyarcosarsinatanattrcattrnbandbetainvblshiftbnotborbrshiftbxorbytecdfceilcexistcinvclosecnonctcollatecompblcompoundcompresscoscoshcsscurobscvdaccdbdaccdbsldaccsldaccsyddacctabdairydatedatejuldatepartdatetimedaydclosedepdbdepdbsldepsldepsyddeptabdequotedhmsdifdigammadimdinfodnumdopendoptnamedoptnumdreaddropnotedsnameerferfcexistexpfappendfclosefcolfdeletefetchfetchobsfexistfget fileexistr]filereffinfofinvfipnamefipnamelfipstatefloorfnonctfnotefopenfoptnamefoptnumfpointfposfputfreadfrewindfrlenfsepfuzzfwritegaminvgamma getoptiongetvarcgetvarnhboundhmshosthelphouribesselrindexcindexwrinputcinputnintintckintnxintrrirrjbesseljuldatekurtosislaglboundr"r#lgammarelibrefloglog10log2logpdflogpmflogsdfr&maxmdymeanminminutemodmonthmopenmortnnetpvnmissnormalnotenpvopenordinalpathnamepdfpeekpeekcpmfpointpoissonpokeprobbetaprobbnmlprobchiprobfprobgamprobhyprprobitprobnegbprobnormprobtr+putcputnqtrr2ranbinrancauranexprangamrangerankrannorranpoirantblrantriranunirepeatresolvereverserewindrightroundsavingr4sdfsecondsignsinsinhskewnesssoundexspedissqrtstdstderrstfipsstnamestnamelr6sumsymgetr<sysmsgr>r?systemtantanhtimetimeparttinvtnoncttoday translatetranwrdtrigammarCtrimntruncuniformrFussvarvarfmtvarinfmtvarlabelvarlenvarnamevarnumvarrayvarrayxvartyperGvformatvformatd vformatdxvformatn vformatnxvformatw vformatwxvformatxvinarray vinarrayx vinformat vinformatd vinformatdx vinformatn vinformatnx vinformatw vinformatwx vinformatxvlabelvlabelxvlengthvlengthxvnamevnamexvtypevtypexweekdayyearyyqzipfipszipnamezipnamelzipstatecomments proc-datacards-datalineslogsgeneral.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(:|-).*zWARNING(:|-).*z ERROR(:|-).*keywords vars-stringsspecialnumbersz\b)prefixsuffix%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_))rootrrrrrrrrrrrrrrN)%__name__ __module__ __qualname____doc__namealiases filenames mimetypesre IGNORECASE MULTILINEflagsbuiltins_macrosbuiltins_conditionalsbuiltins_statements builtins_sqlbuiltins_functionsrr r MultilinerReservedr r EmphErrorrrBuiltinVariableFunctionr EscaperConstanttokensrr5/usr/lib/python3/dist-packages/pygments/lexers/sas.pyr s    4       )rrpygments.lexerrrrpygments.tokenrrrrr r r r __all__r rrrrs  (