|exdZddlZddlmZddlmZmZddlmZm Z m Z m Z m Z m Z mZmZmZmZddlmZddlmZdd gZGd d eZGd deZy) z pygments.lexers.pascal ~~~~~~~~~~~~~~~~~~~~~~ Lexers for Pascal family languages. :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. N)Lexer) get_bool_opt get_list_opt) TextCommentOperatorKeywordNameStringNumber PunctuationError Whitespace)Scanner) Modula2Lexer DelphiLexer PortugolLexerc6eZdZdZdZdgZddgZgZdZdZ dZ y ) rz;For Portugol, a Pascal dialect with keywords in Portuguese.Portugolportugolz*.algz *.portugolz>https://www.apoioinformatica.inf.br/produtos/visualg/linguagemc Xtj|fi|tdi|ddi|_y)NrT)r__init__rlexer)selfoptionss 8/usr/lib/python3/dist-packages/pygments/lexers/pascal.pyrzPortugolLexer.__init__!s' t'w' :7:T: c8|jj|S)N)rget_tokens_unprocessed)rtexts rr z$PortugolLexer.get_tokens_unprocessed%szz0066rN) __name__ __module__ __qualname____doc__namealiases filenames mimetypesurlrr rrrrrs/E DlG,'II JC;7rceZdZdZdZgdZddgZdgZdZdZ d Z hd Z hd Z hd Z hd ZdddddZhdZhdZdZhdZdZdZy)raF For Delphi (Borland Object Pascal), Turbo Pascal and Free Pascal source code. Additional options accepted: `turbopascal` Highlight Turbo Pascal specific keywords (default: ``True``). `delphi` Highlight Borland Delphi specific keywords (default: ``True``). `freepascal` Highlight Free Pascal specific keywords (default: ``True``). `units` A list of units that should be considered builtin, supported are ``System``, ``SysUtils``, ``Classes`` and ``Math``. Default is to consider all of them builtin. Delphi)delphipaspascal objectpascalz*.pasz*.dprz text/x-pascal)8absoluteandarrayasmbeginbreakcaseconst constructorcontinue destructordivdodowntoelseendfileforfunctiongotoifimplementationin inheritedinline interfacelabelmodnilnotobjectofonoperatororpacked procedureprogramrecord reintroducerepeatrsetshlshrstringthentotypeunituntilusesvarwhilewithxor)asclassexceptexports finalizationfinallyinitializationislibraryrQpropertyraise threadvartry)disposeexitfalsenewtrue>r@rdr`rarcr5rir8rKrWrprVrCrRrqrUrsr;r9rlrFrn>r&nearaliascdeclexportrIr/dynamicstdcallvarargsvirtualexternaloverrideregistersafecall assembler interrupt softfloat nostackframe>farfar16indexpubliccppdecldefaultforwardprivater1abstractr protected published oldfpccall>Gboolbytecharcomprealworddwordint64pboolpbytepcharpcomppdatepwordtdatettimedoublepdwordpint64real48singler]tclassbooleanintegerlongintpdoublephandlepointerpsinglepstringthandletobjectvariantansicharbyteboolcardinalcurrencyextendediunknownlongboollongwordpbooleanpintegerplongintppointerpvariantshortintsmallinttextfilewidecharwordbool pansichar pcardinal pcurrency pdatetime pextended plongword pshortint psmallint pwidechar pwordbool tdatetime ansistring pbytearray pwordarray widestring pansistring pwidestring shortstring pshortstring)absacquireexceptionobjectaddr ansitoutf8appendarctanassertassigned assignfile beginthread blockread blockwriter6chdirchrclose closefilecomptocurrency comptodoubleconcatr:copycosdecdeleteru doubletocomp endthread enummodulesenumresourcemoduleseofeolnerase exceptaddr exceptobjectexcludervexpfileposfilesizefillcharfinalizefindclasshinstance findhinstancefindresourcehinstanceflushfracfreemem get8087cwgetdir getlasterrorgetmemgetmemorymanagergetmodulefilenamegetvariantmanagerhalthihighincinclude initializeinsertintioresultismemorymanagersetisvariantmanagersetlengthlnlolowmkdirmoverxoddolestrtostringolestrtostrvarord paramcountparamstrpipospredptr pucs4charsrandom randomizereadreadln reallocmemreleaseexceptionobjectrenameresetrewritermdirroundrunerrorseekseekeofseekeoln set8087cw setlengthsetlinebreakstylesetmemorymanager setstring settextbufsetvariantmanagersinsizeofslicesqrsqrtstr stringofcharstringtoolestrstringtowidecharsuccswaptrunctruncatetypeinfoucs4stringtowidestring unicodetoutf8 uniquestringupcase utf8decode utf8encode utf8toansi utf8tounicodeval vararrayredimvarclearwidecharlentostringwidecharlentostrvarwidechartostringwidechartostrvarwidestringtoucs4stringwritewriteln)abort addexitprocaddterminateprocadjustlinebreaksallocmemansicomparefilenameansicomparestransicomparetextansidequotedstransiextractquotedstr ansilastchar ansilowercaseansilowercasefilenameansipos ansiquotedstr ansisamestr ansisametext ansistrcomp ansistricompansistrlastchar ansistrlcomp ansistrlicomp ansistrlower ansistrpos ansistrrscan ansistrscan ansistrupper ansiuppercaseansiuppercasefilename appendstr assignstrbeep booltostrbytetocharindex bytetocharlenbytetypecallterminateprocs changefileext charlengthchartobyteindex chartobytelen comparemem comparestr comparetext createdir createguid currentyear currtostr currtostrfdatedatetimetofiledate datetimetostrdatetimetostringdatetimetosystemtimedatetimetotimestamp datetostr dayofweek decodedatedecodedatefully decodetime deletefiledirectoryexistsdiskfreedisksize disposestr encodedate encodetimeexceptionerrormessageexcludetrailingbackslashexcludetrailingpathdelimiterexpandfilenameexpandfilenamecaseexpanduncfilenameextractfiledirextractfiledriveextractfileextextractfilenameextractfilepathextractrelativepathextractshortpathnamefileage fileclose filecreatefiledatetodatetime fileexists filegetattr filegetdatefileisreadonlyfileopenfileread filesearchfileseek filesetattr filesetdatefilesetreadonly filewritefinalizepackage findclosefindcmdlineswitch findfirstfindnext floattocurrfloattodatetimefloattodecimal floattostr floattostrf floattotextfloattotextfmt fmtloadstrfmtstrforcedirectoriesformat formatbuf formatcurrformatdatetime formatfloat freeandnil getcurrentdirgetenvironmentvariablegetfileversiongetformatsettingsgetlocaleformatsettings getmodulenamegetpackagedescriptiongetpackageinfogettime guidtostring incamonthincludetrailingbackslashincludetrailingpathdelimiterincmonthinitializepackageinterlockeddecrementinterlockedexchangeinterlockedexchangeaddinterlockedincrementinttohexinttostr isdelimiter isequalguid isleapyearispathdelimiter isvalidident languages lastdelimiter loadpackageloadstr lowercasemsecstotimestampnewstr nextcharindexnowoutofmemoryerror quotedstrraiselastoserrorraiselastwin32error removedir renamefile replacedate replacetimesafeloadlibrary samefilenamesametext setcurrentdir showexceptionsleepstralloc strbufsize strbytetypestrcat strcharlengthstrcompstrcopy strdisposestrecopystrendstrfmtstricomp stringreplace stringtoguidstrlcatstrlcompstrlcopystrlenstrlfmt strlicompstrlowerstrmovestrnew strnextcharstrpasstrpcopy strplcopystrposstrrscanstrscan strtobool strtobooldef strtocurr strtocurrdef strtodate strtodatedef strtodatetimestrtodatetimedef strtofloat strtofloatdefstrtoint strtoint64 strtoint64def strtointdef strtotime strtotimedefstruppersupportssyserrormessagesystemtimetodatetime texttofloattimetimestamptodatetimetimestamptomsecs timetostrtrimtrimleft trimright tryencodedate tryencodetimetryfloattocurrtryfloattodatetime trystrtobool trystrtocurr trystrtodatetrystrtodatetime trystrtofloat trystrtoint trystrtoint64 trystrtotime unloadpackage uppercasewidecomparestrwidecomparetext widefmtstr wideformat wideformatbuf widelowercase widesamestr widesametext wideuppercase win32checkwraptext),activateclassgroup allocatehwndbintohexchecksynchronizecollectionsequalcountgenerationsdeallocatehwnd equalrectextractstrings findclassfindglobalcomponentgetclassgroupdescendantswithhextobin identtointinitinheritedcomponent inttoident invalidpointisuniqueglobalcomponentname linestartobjectbinarytotextobjectresourcetotextobjecttexttobinaryobjecttexttoresource pointsequalreadcomponentresreadcomponentresexreadcomponentresfilerect registerclassregisterclassaliasregisterclassesregistercomponentsregisterintegerconstsregisternoiconregisternonactivex smallpointstartclassgroupteststreamformatunregisterclassunregisterclassesunregisterintegerconstsunregistermoduleclasseswritecomponentresfile)darccosarccosharccotarccotharccscarccscharcsecarcsecharcsinarcsinharctan2arctanhceil comparevaluecosecantcoshcotcotancothcsccsch cycletodeg cycletograd cycletorad degtocycle degtograddegtoraddivmoddoubledecliningbalance ensurerangefloorfrexp futurevaluegetexceptionmaskgetprecisionmode getroundmode gradtocycle gradtodeg gradtoradhypotinrangeinterestpayment interestrateinternalrateofreturnintpower isinfiniteisnaniszeroldexplnxp1log10log2lognmax maxintvaluemaxvaluemean meanandstddevmin minintvalueminvaluemomentskewkurtosisnetpresentvaluenormnumberofperiodspayment periodpaymentpoly popnstddev popnvariancepower presentvalue radtocycleradtodeg radtogradrandg randomrangeroundto samevaluesecsecantsechsetexceptionmasksetprecisionmode setroundmodesign simpleroundtosincossinhslndepreciationstddevsumsumint sumofsquaressumsandsquaressyddepreciationtantanh totalvariancevariance)SystemSysUtilsClassesMath>Cahalaxbhblbpbxchclcscxdhdidldsdxesfsgssispsscr0cr1cr2cr3cr4dr0dr1dr2dr3dr4dr5dr6dr7eaxebpebxecxediedxesiespmm0mm1mm2mm3mm4mm5mm6mm7st0st1st2st3st4st5st6st7xmm0xmm1xmm2xmm3xmm4xmm5xmm6xmm7>btrGjajbjcjejgjljojpjsjzrSaaaaadaamaasadcaddr2bsfbsrbtcbtrbtscbwcdqclccldclicmccmpcwddaadasrr<hltrrjaejbejgejlejmpjnajnbjncjnejngjnljnojnpjnsjnzjpejpolarldslealeslfslgslsllssltrmovmulnegnoprNoutpoprclrcrrepretrolrorrsmsalsarsbbr[r\smistcstdstirFsubud1ud2rgarplcallcltscwdeemmsibtsidivimulinsbinsdinswint1int3intoinvdiretjcxzjnaejnbejngejnlelahflgdtlidtljmplldtlmswlockloopmovdmovqpopapopfpushreperepzretfretnrsdcsahfsalcsetasetbsetcsetesetgsetlsetosetpsetssetzsgdtshldshrdsidtsldtsmswsvdcsvtstestumovverrverwwaitxaddxbtsxchgxlatboundbswapcmovacmovbcmovccmovecmovgcmovlcmovocmovpcmovscmovzcmpsbcmpsdcmpswcpuidentericebpint01int03iretdiretwjecxzlcallleavelodsblodsdlodswloopeloopzmovsbmovsdmovswmovsxmovzxoutsboutsdoutswpopadpopawpopfdpopfwpushapushfrdmsrrdpmcrdshrrdtscrepnerepnzrsldtscasbscasdscaswsetaesetbesetgesetlesetnasetnbsetncsetnesetngsetnlsetnosetnpsetnssetnzsetpesetposmintstosbstosdstoswsvldtwrmsrwrshrxlatbcmovaecmovbecmovgecmovlecmovnacmovnbcmovnccmovnecmovngcmovnlcmovnocmovnpcmovnscmovnzcmovpecmovpoinvlpgloopneloopnzpushadpushawpushfdpushfwsetcxzsetnaesetnbesetngesetnlesysretwbinvdcmovcxzcmovnaecmovnbecmovngecmovnlecmpxchgloadallsyscallsysexitsmintoldsysenter cmpxchg8b cmpxchg486 loadall286)M aleatorio algoritmoarquivoatecaso cronometrodebugeecoenquantoentaoescolhaescrevaescrevalfacafalso fimalgoritmo fimenquanto fimescolha fimfuncaofimparafimprocedimento fimrepitafimsefuncaoinicior interrompaleia limpatelarLnaoou outrocasoparapassopausa procedimentorepitaretornesesenaotimerrdvetor verdadeiroxour<rLrrarcsenrrrExpgraupradrlogrr&quadradpgrauraizqrandrandisenTanasccarac caracpnumcomprcopiamaiuscminusc numpcaracr'>rlogicointeiro caracterec tj|fi|t|_t|_t |ddrR|jj |j|jj |jd|_ yd|_ t |ddr%|jj |jt |ddr%|jj |jt |ddr%|jj |jt|dt|jD]*}|jj |j|,y)NrFT turbopascalr- freepascalunits)rrrZkeywordsbuiltinsrupdatePORTUGOL_KEYWORDSPORTUGOL_BUILTIN_TYPES is_portugolTURBO_PASCAL_KEYWORDSDELPHI_KEYWORDSFREE_PASCAL_KEYWORDSrlist BUILTIN_UNITS)rrras rrzDelphiLexer.__init__s t'w'  U 3 MM !7!7 8 MM !%>?$WgtD ?rc#Kt|tjtjztjz}dg}d}d}d}d}d}d} t } ddg} |j st} |ddk(r|jdrt} n|jsP|jdr?|jjdrtj} ntj} n|jdrtj } ny|jr|jd rt"} nT|js.|jd rt"} | r.|jd k(rd} n|jd rt$} d}|s|r|jd k(r| dxxdz cc<n|jdk(r| dxxdzcc<n|jdk(r| dxxdz cc<n|jdk(r| dxxdzcc<n|jdr|jj'} | dk(rt(j*j,} n6| |j.vrt0} |jr | dvrd}d}n |s|r0| |j2vr"| ddkr| ddkrd}d}ddg} t } | dvrd} n| dk(r|j5dn| dk(rd}d}n| dvrd}d}n|js"|r | |j6vrt0j,} ns|js|r| dvrt0j,} d}nM|ry|js#|j9drt(j:} nt(j<} d}|jr| j?|jj'n|js|rt(j@} d}n|js=| r;t(jB} | j?|jj'ng| | vrt(jB} nQ|jr | |jDvrt0jF} n%|js | |jHvrt0jF} n|js | |jJvrt0j,} n|js"|s | |jLvrt(j*} nt(} n|jr*|jdrtN} |j5dna|js*|jdrtN} |j5dn+|js#|jdrtNjP} n|js#|jd rtRjT} n|jd!rtRjV} n|jd"rtRjX} nt[|dkDr|j]|j_nW|ddk(r|jr|jd#rtNj`} n|jdrtN} |j]n|jd$rtN} n|j_|j]n|jd#rtNj`} n|jdrtN} |j]no|jd%rtN} nV|j_|j]n4|js'|ddk(r|jdrt} n|jd&rt0} |j]n|jdr?|jjdrtj} ntj} n|jdrtj } ni|jdrtN} |j5dn?|jd'rt(jB} n|jdrU|jj'} | |jbvrt0} n| |jdvrt(j*} nt(} n|jd(rt"} n|jd rt$} n|jd rtRjT} nd|jd!rtRjV} nB|jd"rtRjX} n |j_|j]|js)|jjgr|jd)k(}|jh| |jxsd*f|j s yyw)+NinitialFrz\s+z\{.*?\}|\(\*.*?\*\)$z//.*?$z/(<\-)|(>=)|(<=)|%|<|>|-|\+|\*|\=|(<>)|\/|\.|:|,z[-+*\/=<>:;,.@\^];z [\(\)\[\]]+()[]z[A-Za-z_][A-Za-z_0-9]*result)rYrdT)rKrDr4rq)rUrRrCr9r;)r-r_z\s*\.\s*z\"r]'z\#(\d+|\$[0-9A-Fa-f]+)z\$[0-9A-Fa-f]+z\d+(?![eE]|\.[^.])z&\d+(\.\d+([eE][+-]?\d+)?|[eE][+-]?\d+)z''z[^\"]*z[^']*r@z@@[A-Za-z_][A-Za-z_0-9]*z[-+*\/=<>:;,.@\^]+.)5rreDOTALL MULTILINE IGNORECASErZeosrscanrrmatch startswithrPreproc MultilineSinglerr lowerr BuiltinPseudorr BLOCK_KEYWORDSrFUNCTION_MODIFIERSrClassFunctionrAPropertyLabelrType BUILTIN_TYPES DIRECTIVESrr Charr HexIntegerFloatlenrqget_charEscapeASM_INSTRUCTIONS ASM_REGISTERSstrip start_pos)rr!scannerstackin_function_blockin_property_blockwas_dotnext_token_is_functionnext_token_is_propertycollect_labels block_labels brace_balancetokenlowercase_names rr z"DelphiLexer.get_tokens_unprocesseds$ BLL 82== HI !!!&!&u A ++ERyI%<<'&E))gll;Q.R}}//4 ' ' 1 1\\),#NNE%%',,7i*j$E))gll;O.P$E%'--3*>).\\.1'E-2*),="==C/)!,1,$]]c1)!,1,$]]c1)!,1,$]]c1)!,1,\\";<%,]]%8%8%:N%1 $ 3 3'4==8 ' ++-1KK48 19= 6 15F$2d6I6I$I$1!$4$9$1!$4$949 149 112A /2u -1BB15!/5!8 % U 3!/:!=48 19= 6!/4B"B59 19= 6"--2C*d.E.EE '"--2C*.?? '15.0 $//GLL4M$(JJE%)MME5:2#// , 0 01D1D1F G"--2H $ 16."--. $ $(()<)<)>?'<7 $ ))n@[@[.[ ' !--.DDVDV2V ' !--.DOO2S '"--g.TXTaTaBa $  $%%',,u*="ELL*))gll4.@"ELL*))gll;T.U"KKE))gll;L.M"JJE\\"78"NNE\\"KL"LLE5zA~ $$&rh&##||E* &  e, &  i0 &((* ||E* &  d+ &  h/ &((* %%%)u*<<<'&E\\&)#EIIK\\"89}}//4 ' ' 1 1\\),#NNE\\$'"ELL*\\"=> JJE\\";<%,]]%8%8%:N%)>)>> ''4+=+== $  $\\"78$E\\.1'E\\"34"JJE\\"78"NNE\\"KL"LLE$$&IIK## (;(;(=!--3.##UGMM,?R? ?e++s g'g-+g-N)r"r#r$r%r&r'r(r)rrrrrrrrrrrrrr rrrrr)s" D9G'"I !I O NJ M"  BB F  kJMX M'RN`?(^@r)r%rpygments.lexerr pygments.utilrrpygments.tokenrrrr r r r r rrpygments.scannerrpygments.lexers.modula2r__all__rrrrrrsR 4+++$1 / * 7E 7 X @%X @r