
    5hy                         S r SSKrSSKJr  SSKJrJr  SSKJrJ	r	J
r
JrJrJrJrJrJr  SSKJr  SSKJr  SS	/r " S
 S	\5      r " S S\5      rg)z
pygments.lexers.pascal
~~~~~~~~~~~~~~~~~~~~~~

Lexers for Pascal family languages.

:copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
    N)Lexer)get_bool_optget_list_opt)	CommentOperatorKeywordNameStringNumberPunctuationError
Whitespace)Scanner)Modula2LexerDelphiLexerPortugolLexerc                   B    \ rS rSrSrSrS/rSS/r/ rSr	Sr
S	 rS
 rSrg)r      z;For Portugol, a Pascal dialect with keywords in Portuguese.Portugolportugolz*.algz
*.portugolz>https://www.apoioinformatica.inf.br/produtos/visualg/linguagem c                 Z    [         R                  " U 40 UD6  [        S0 UDSS0D6U l        g )Nr   T )r   __init__r   lexer)selfoptionss     a/var/www/html/cementerio_25MayoBackend/env/lib/python3.13/site-packages/pygments/lexers/pascal.pyr   PortugolLexer.__init__"   s'    t'w' :7:T:
    c                 8    U R                   R                  U5      $ )N)r   get_tokens_unprocessed)r   texts     r   r"   $PortugolLexer.get_tokens_unprocessed&   s    zz0066r    )r   N)__name__
__module____qualname____firstlineno____doc__namealiases	filenames	mimetypesurlversion_addedr   r"   __static_attributes__r   r    r   r   r      s4    EDlG,'II
JCM;7r    c                       \ rS rSrSrSr/ SQrSS/rS/rSr	S	r
S
rSrSr1 Skr1 Skr1 Skr1 SkrSSSSS.r1 Skr1 SkrSr1 SkrS rS rSrg)r   *   a  
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)delphipaspascalobjectpascalz*.pasz*.dprztext/x-pascalz+https://www.embarcadero.com/products/delphir   )8absoluteandarrayasmbeginbreakcaseconstconstructorcontinue
destructordivdodowntoelseendfileforfunctiongotoifimplementationin	inheritedinline	interfacelabelmodnilnotobjectofonoperatororpacked	procedureprogramrecordreintroducerepeatr   setshlshrstringthentotypeunituntilusesvarwhilewithxor)asclassexceptexportsfinalizationfinallyinitializationislibraryrX   propertyraise	threadvartry)disposeexitfalsenewtrue>   rG   rk   rg   rh   rj   r<   rp   r?   rR   r^   rw   r]   rJ   rY   rx   r\   rz   rB   r@   rs   rM   ru   >   r*   nearaliascdeclexportrP   r6   dynamicstdcallvarargsvirtualexternaloverrideregistersafecall	assembler	interrupt	softfloatnostackframe>   farfar16indexpubliccppdecldefaultforwardprivater8   abstractr   	protected	published
oldfpccall>G   boolbytecharcomprealworddwordint64pboolpbytepcharpcomppdatepwordtdatettimedoublepdwordpint64real48singlerd   tclassbooleanintegerlongintpdoublephandlepointerpsinglepstringthandletobjectvariantansicharbyteboolcardinalcurrencyextendediunknownlongboollongwordpbooleanpintegerplongintppointerpvariantshortintsmallinttextfilewidecharwordbool	pansichar	pcardinal	pcurrency	pdatetime	pextended	plongword	pshortint	psmallint	pwidechar	pwordbool	tdatetime
ansistring
pbytearray
pwordarray
widestringpansistringpwidestringshortstringpshortstring)absacquireexceptionobjectaddr
ansitoutf8appendarctanassertassigned
assignfilebeginthread	blockread
blockwriter=   chdirchrclose	closefilecomptocurrencycomptodoubleconcatrA   copycosdecdeleter|   doubletocomp	endthreadenummodulesenumresourcemoduleseofeolnerase
exceptaddrexceptobjectexcluder}   expfileposfilesizefillcharfinalizefindclasshinstancefindhinstancefindresourcehinstanceflushfracfreemem	get8087cwgetdirgetlasterrorgetmemgetmemorymanagergetmodulefilenamegetvariantmanagerhalthihighincinclude
initializeinsertintioresultismemorymanagersetisvariantmanagersetlengthlnlolowmkdirmover   oddolestrtostringolestrtostrvarord
paramcountparamstrpipospredptr
pucs4charsrandom	randomizereadreadln
reallocmemreleaseexceptionobjectrenameresetrewritermdirroundrunerrorseekseekeofseekeoln	set8087cw	setlengthsetlinebreakstylesetmemorymanager	setstring
settextbufsetvariantmanagersinsizeofslicesqrsqrtstrstringofcharstringtoolestrstringtowidecharsuccswaptrunctruncatetypeinfoucs4stringtowidestringunicodetoutf8uniquestringupcase
utf8decode
utf8encode
utf8toansiutf8tounicodevalvararrayredimvarclearwidecharlentostringwidecharlentostrvarwidechartostringwidechartostrvarwidestringtoucs4stringwritewriteln)abortaddexitprocaddterminateprocadjustlinebreaksallocmemansicomparefilenameansicomparestransicomparetextansidequotedstransiextractquotedstransilastcharansilowercaseansilowercasefilenameansiposansiquotedstransisamestransisametextansistrcompansistricompansistrlastcharansistrlcompansistrlicompansistrlower
ansistrposansistrrscanansistrscanansistrupperansiuppercaseansiuppercasefilename	appendstr	assignstrbeep	booltostrbytetocharindexbytetocharlenbytetypecallterminateprocschangefileext
charlengthchartobyteindexchartobytelen
comparemem
comparestrcomparetext	createdir
createguidcurrentyear	currtostr
currtostrfdatedatetimetofiledatedatetimetostrdatetimetostringdatetimetosystemtimedatetimetotimestamp	datetostr	dayofweek
decodedatedecodedatefully
decodetime
deletefiledirectoryexistsdiskfreedisksize
disposestr
encodedate
encodetimeexceptionerrormessageexcludetrailingbackslashexcludetrailingpathdelimiterexpandfilenameexpandfilenamecaseexpanduncfilenameextractfiledirextractfiledriveextractfileextextractfilenameextractfilepathextractrelativepathextractshortpathnamefileage	fileclose
filecreatefiledatetodatetime
fileexistsfilegetattrfilegetdatefileisreadonlyfileopenfileread
filesearchfileseekfilesetattrfilesetdatefilesetreadonly	filewritefinalizepackage	findclosefindcmdlineswitch	findfirstfindnextfloattocurrfloattodatetimefloattodecimal
floattostrfloattostrffloattotextfloattotextfmt
fmtloadstrfmtstrforcedirectoriesformat	formatbuf
formatcurrformatdatetimeformatfloat
freeandnilgetcurrentdirgetenvironmentvariablegetfileversiongetformatsettingsgetlocaleformatsettingsgetmodulenamegetpackagedescriptiongetpackageinfogettimeguidtostring	incamonthincludetrailingbackslashincludetrailingpathdelimiterincmonthinitializepackageinterlockeddecrementinterlockedexchangeinterlockedexchangeaddinterlockedincrementinttohexinttostrisdelimiterisequalguid
isleapyearispathdelimiterisvalidident	languageslastdelimiterloadpackageloadstr	lowercasemsecstotimestampnewstrnextcharindexnowoutofmemoryerror	quotedstrraiselastoserrorraiselastwin32error	removedir
renamefilereplacedatereplacetimesafeloadlibrarysamefilenamesametextsetcurrentdirshowexceptionsleepstralloc
strbufsizestrbytetypestrcatstrcharlengthstrcompstrcopy
strdisposestrecopystrendstrfmtstricompstringreplacestringtoguidstrlcatstrlcompstrlcopystrlenstrlfmt	strlicompstrlowerstrmovestrnewstrnextcharstrpasstrpcopy	strplcopystrposstrrscanstrscan	strtoboolstrtobooldef	strtocurrstrtocurrdef	strtodatestrtodatedefstrtodatetimestrtodatetimedef
strtofloatstrtofloatdefstrtoint
strtoint64strtoint64defstrtointdef	strtotimestrtotimedefstruppersupportssyserrormessagesystemtimetodatetimetexttofloattimetimestamptodatetimetimestamptomsecs	timetostrtrimtrimleft	trimrighttryencodedatetryencodetimetryfloattocurrtryfloattodatetimetrystrtobooltrystrtocurrtrystrtodatetrystrtodatetimetrystrtofloattrystrtointtrystrtoint64trystrtotimeunloadpackage	uppercasewidecomparestrwidecomparetext
widefmtstr
wideformatwideformatbufwidelowercasewidesamestrwidesametextwideuppercase
win32checkwraptext),activateclassgroupallocatehwndbintohexchecksynchronizecollectionsequalcountgenerationsdeallocatehwnd	equalrectextractstrings	findclassfindglobalcomponentgetclassgroupdescendantswithhextobin
identtointinitinheritedcomponent
inttoidentinvalidpointisuniqueglobalcomponentname	linestartobjectbinarytotextobjectresourcetotextobjecttexttobinaryobjecttexttoresourcepointsequalreadcomponentresreadcomponentresexreadcomponentresfilerectregisterclassregisterclassaliasregisterclassesregistercomponentsregisterintegerconstsregisternoiconregisternonactivex
smallpointstartclassgroupteststreamformatunregisterclassunregisterclassesunregisterintegerconstsunregistermoduleclasseswritecomponentresfile)darccosarccosharccotarccotharccscarccscharcsecarcsecharcsinarcsinharctan2arctanhceilcomparevaluecosecantcoshcotcotancothcsccsch
cycletodegcycletograd
cycletorad
degtocycle	degtograddegtoraddivmoddoubledecliningbalanceensurerangefloorfrexpfuturevaluegetexceptionmaskgetprecisionmodegetroundmodegradtocycle	gradtodeg	gradtoradhypotinrangeinterestpaymentinterestrateinternalrateofreturnintpower
isinfiniteisnaniszeroldexplnxp1log10log2lognmaxmaxintvaluemaxvaluemeanmeanandstddevminminintvalueminvaluemomentskewkurtosisnetpresentvaluenormnumberofperiodspaymentperiodpaymentpoly
popnstddevpopnvariancepowerpresentvalue
radtocycleradtodeg	radtogradrandgrandomrangeroundto	samevaluesecsecantsechsetexceptionmasksetprecisionmodesetroundmodesignsimpleroundtosincossinhslndepreciationstddevsumsumintsumofsquaressumsandsquaressyddepreciationtantanhtotalvariancevariance)SystemSysUtilsClassesMath>C   ahalaxbhblbpbxchclcscxdhdidldsdxesfsgssispsscr0cr1cr2cr3cr4dr0dr1dr2dr3dr4dr5dr6dr7eaxebpebxecxediedxesiespmm0mm1mm2mm3mm4mm5mm6mm7st0st1st2st3st4st5st6st7xmm0xmm1xmm2xmm3xmm4xmm5xmm6xmm7>  btrN   jajbjcjejgjljojpjsjzrZ   aaaaadaamaasadcaddr9   bsfbsrbtcbtrbtscbwcdqclccldclicmccmpcwddaadasr   rC   hltr  r  jaejbejgejlejmpjnajnbjncjnejngjnljnojnpjnsjnzjpejpolarldslealeslfslgslsllssltrmovmulnegnoprU   outpoprclrcrrepretrolrorrsmsalsarsbbrb   rc   smistcstdstirM  subud1ud2rn   arplcallcltscwdeemmsibtsidivimulinsbinsdinswint1int3intoinvdiretjcxzjnaejnbejngejnlelahflgdtlidtljmplldtlmswlockloopmovdmovqpopapopfpushreperepzretfretnrsdcsahfsalcsetasetbsetcsetesetgsetlsetosetpsetssetzsgdtshldshrdsidtsldtsmswsvdcsvtstestumovverrverwwaitxaddxbtsxchgxlatboundbswapcmovacmovbcmovccmovecmovgcmovlcmovocmovpcmovscmovzcmpsbcmpsdcmpswcpuidentericebpint01int03iretdiretwjecxzlcallleavelodsblodsdlodswloopeloopzmovsbmovsdmovswmovsxmovzxoutsboutsdoutswpopadpopawpopfdpopfwpushapushfrdmsrrdpmcrdshrrdtscrepnerepnzrsldtscasbscasdscaswsetaesetbesetgesetlesetnasetnbsetncsetnesetngsetnlsetnosetnpsetnssetnzsetpesetposmintstosbstosdstoswsvldtwrmsrwrshrxlatbcmovaecmovbecmovgecmovlecmovnacmovnbcmovnccmovnecmovngcmovnlcmovnocmovnpcmovnscmovnzcmovpecmovpoinvlpgloopneloopnzpushadpushawpushfdpushfwsetcxzsetnaesetnbesetngesetnlesysretwbinvdcmovcxzcmovnaecmovnbecmovngecmovnlecmpxchgloadallsyscallsysexitsmintoldsysenter	cmpxchg8b
cmpxchg486
loadall286)M	aleatorio	algoritmoarquivoatecaso
cronometrodebugeecoenquantoentaoescolhaescrevaescrevalfacafalsofimalgoritmofimenquanto
fimescolha	fimfuncaofimparafimprocedimento	fimrepitafimsefuncaoinicior  
interrompaleia	limpatelarS   naoou	outrocasoparapassopausaprocedimentorepitaretornesesenaotimerrk   vetor
verdadeiroxourC   rS   r   r  arcsenr   r   r  Expgraupradr  logr  r-  quadradpgrauraizqrandrandisenTanasccarac	caracpnumcomprcopiamaiuscminusc	numpcaracr.  >   r   logicointeiro	caracterec                 ,   [         R                  " U 40 UD6  [        5       U l        [        5       U l        [        USS5      (       aR  U R                  R                  U R                  5        U R                  R                  U R                  5        SU l	        g SU l	        [        USS5      (       a%  U R                  R                  U R                  5        [        USS5      (       a%  U R                  R                  U R                  5        [        USS5      (       a%  U R                  R                  U R                  5        [        US[        U R                  5      5       H+  nU R                  R                  U R                  U   5        M-     g )Nr   FTturbopascalr4   
freepascalunits)r   r   ra   keywordsbuiltinsr   updatePORTUGOL_KEYWORDSPORTUGOL_BUILTIN_TYPESis_portugolTURBO_PASCAL_KEYWORDSDELPHI_KEYWORDSFREE_PASCAL_KEYWORDSr   listBUILTIN_UNITS)r   r   rh   s      r   r   DelphiLexer.__init__  s%   t'w'U33MM  !7!78MM  !<!<=#D$DG]D99$$T%?%?@GXt44$$T%9%9:G\488$$T%>%>?$WgtD<N<N7OP$$T%7%7%=> Qr    c              #     #    [        U[        R                  [        R                  -  [        R                  -  5      nS/nSnSnSnSnSnSn	[        5       n
SS/nUR                  (       G
d  [        nUS   S:X  Ga  UR                  S5      (       a  [        nG
OPU R                  (       dZ  UR                  S5      (       aD  UR                  R                  S5      (       a  [        R                  nG	O[        R                  nG	OUR                  S5      (       a  [        R                   nG	OU R                  (       a  UR                  S	5      (       a  ["        nG	OU R                  (       d7  UR                  S
5      (       a!  ["        nU	(       a  UR                  S:X  a  Sn	G	OFUR                  S5      (       a  [$        nSnU(       d  U(       az  UR                  S:X  a  US==   S-  ss'   GOUR                  S:X  a  US==   S-  ss'   GOUR                  S:X  a  US==   S-  ss'   GOUR                  S:X  a  US==   S-  ss'   GOUR                  S5      (       GaP  UR                  R'                  5       nUS:X  a  [(        R*                  R,                  nGOKXR.                  ;   a  [0        nU R                  (       a  US;   a  SnSnGOU(       d  U(       a3  XR2                  ;   a$  US   S::  a  US   S::  a  SnSnSS/n[        5       n
US;   a  Sn	GOUS:X  a  UR5                  S5        GOUS:X  a  SnSnGOUS;   a  SnSnGOU R                  (       d(  U(       a!  XR6                  ;   a  [0        R,                  nGOdU R                  (       d!  U(       a  US;   a  [0        R,                  nSnGO2U(       a  U R                  (       d(  UR9                  S5      (       a  [(        R:                  nGO[(        R<                  nSnU R                  (       a)  U
R?                  UR                  R'                  5       5        GOU R                  (       d  U(       a  [(        R@                  nSnGOxU R                  (       dB  U	(       a;  [(        RB                  nU
R?                  UR                  R'                  5       5        GO%X;   a  [(        RB                  nGOU R                  (       a!  XRD                  ;   a  [0        RF                  nGOU R                  (       d!  XRH                  ;   a  [0        RF                  nGOU R                  (       d!  XRJ                  ;   a  [0        R,                  nGOxU R                  (       d(  U(       d!  XRL                  ;   a  [(        R*                  nGO?[(        nGO7U R                  (       a/  UR                  S5      (       a  [N        nUR5                  S5        GOU R                  (       d/  UR                  S5      (       a  [N        nUR5                  S5        GOU R                  (       d(  UR                  S5      (       a  [N        RP                  nGO~U R                  (       d(  UR                  S 5      (       a  [R        RT                  nGOEUR                  S!5      (       a  [R        RV                  nGOUR                  S"5      (       a  [R        RX                  nGO[[        U5      S:  a  UR]                  5         UR_                  5         GOUS   S:X  Ga=  U R                  (       a  UR                  S#5      (       a  [N        R`                  nGOUR                  S5      (       a  [N        nUR]                  5         GOSUR                  S$5      (       a  [N        nGO5UR_                  5         UR]                  5         GOUR                  S#5      (       a  [N        R`                  nGOUR                  S5      (       a  [N        nUR]                  5         GOUR                  S%5      (       a  [N        nGOUR_                  5         UR]                  5         GO}U R                  (       Gdk  US   S:X  Gaa  UR                  S5      (       a  [        nGOCUR                  S&5      (       a  [0        nUR]                  5         GOUR                  S5      (       aD  UR                  R                  S5      (       a  [        R                  nGO[        R                  nGOUR                  S5      (       a  [        R                   nGOUR                  S5      (       a  [N        nUR5                  S5        GOdUR                  S'5      (       a  [(        RB                  nGO<UR                  S5      (       aW  UR                  R'                  5       nXRb                  ;   a  [0        nOXRd                  ;   a  [(        R*                  nO[(        nOUR                  S(5      (       a  ["        nOUR                  S5      (       a  [$        nOUR                  S 5      (       a  [R        RT                  nOnUR                  S!5      (       a  [R        RV                  nOGUR                  S"5      (       a  [R        RX                  nO UR_                  5         UR]                  5         U R                  (       d.  UR                  Rg                  5       (       a  UR                  S):H  nURh                  XR                  =(       d    S*4v   UR                  (       d  G
M  g g 7f)+NinitialFr   z\s+z\{.*?\}|\(\*.*?\*\)$z//.*?$z/(<\-)|(>=)|(<=)|%|<|>|-|\+|\*|\=|(<>)|\/|\.|:|,z[-+*\/=<>:;,.@\^];z[\(\)\[\]]+(   )[]z[A-Za-z_][A-Za-z_0-9]*result)r`  rk  T)rR   rK   r;   rx   )r\   rY   rJ   r@   rB   )r4  rf  z\s*\.\s*z\"rd   'z\#(\d+|\$[0-9A-Fa-f]+)z\$[0-9A-Fa-f]+z\d+(?![eE]|\.[^.])z&\d+(\.\d+([eE][+-]?\d+)?|[eE][+-]?\d+)z''z[^\"]*z[^']*rG   z@@[A-Za-z_][A-Za-z_0-9]*z[-+*\/=<>:;,.@\^]+.r   )5r   reDOTALL	MULTILINE
IGNORECASEra   eosr   scanr   r  match
startswithr   Preproc	MultilineSingler   r   lowerr	   BuiltinPseudor  r   BLOCK_KEYWORDSr   FUNCTION_MODIFIERSr  ClassFunctionrH  PropertyLabelr  TypeBUILTIN_TYPES
DIRECTIVESr  r
   Charr   HexIntegerFloatlenrx  get_charEscapeASM_INSTRUCTIONSASM_REGISTERSstrip	start_pos)r   r#   scannerstackin_function_blockin_property_blockwas_dotnext_token_is_functionnext_token_is_propertycollect_labelsblock_labelsbrace_balancetokenlowercase_names                 r   r"   "DelphiLexer.get_tokens_unprocessed  s    $		BLL 82== HI!!!&!&uA+++ERyI%<<''&E))gll;Q.R.R}}//44 ' ' 1 1\\),,#NNE%%',,7i*j*j$E))gll;O.P.P$E%'--3*>).\\.11'E-2* ),="==C/)!,1,$]]c1)!,1,$]]c1)!,1,$]]c1)!,1,\\";<<%,]]%8%8%:N%1 $ 3 3'==8 '  ++-1KK48 19= 6 15F$26I6I$I$1!$4$9$1!$4$949 149 112A/2u-1BB15!/5!8 %U 3!/:!=48 19= 6!/ 4B "B 59 19= 6 "--2C*.E.EE ' "--2C*.?? '15. 0  $//GLL4M4M$(JJE %)MME5:2#// , 0 01D1D1F G "--2H $16. "--. $

$(()<)<)>?'7 $

))n@[@[.[ '!--.DVDV2V '!--.OO2S ' "--g.TaTaBa $ $%%',,u*=*="ELL*))gll4.@.@"ELL*))gll;T.U.U"KKE))gll;L.M.M"JJE\\"788"NNE\\"KLL"LLE 5zA~		$$&rh&##||E** & e,, &		 i00 &((*		||E** & d++ &		 h// &((*		%%%%)u*<<<''&E\\&))#EIIK\\"899}}//44 ' ' 1 1\\),,#NNE\\$''"ELL*\\"=>> JJE\\";<<%,]]%8%8%:N%)>)>> ''+=+== $ $\\"788$E\\.11'E\\"344"JJE\\"788"NNE\\"KLL"LLE$$&IIK ##(;(;(=(=!--3.##UMM,?R??e +++s   mm$"m$)r  r  r  N)r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r  r  r  r  r  r  r  r  r  r  r  r  r   r"   r0   r   r    r   r   r   *   s    " D9G'"I !I
7CM	ONJM" 
BB
F
 
kJMX	M'RN`?(^@r    )r)   r  pygments.lexerr   pygments.utilr   r   pygments.tokenr   r   r   r	   r
   r   r   r   r   pygments.scannerr   pygments.lexers.modula2r   __all__r   r   r   r    r   <module>r     sR    
   4+ + + $ 1/
*7E 7"Z	@% Z	@r    