o
    ni                     @   s   d Z ddlZddlmZmZmZmZmZmZm	Z	m
Z
 ddlmZmZ ddlmZmZmZmZmZmZmZmZmZ ddlmZ ddlmZ dd	gZG d
d deZG dd	 d	eZdS )z
    pygments.lexers.pascal
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexers for Pascal family languages.

    :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)Lexer
RegexLexerincludebygroupswordsusingthisdefault)get_bool_optget_list_opt)	TextCommentOperatorKeywordNameStringNumberPunctuationError)Scanner)Modula2LexerDelphiLexerAdaLexerc                   @   s   e Zd ZdZdZg dZddgZdgZdZdZ	d	Z
ed
ZedZedZedZdddddZedZedZdd Zdd ZdS )r   aj  
    For `Delphi <http://www.borland.com/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-pascal)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repeatselfsetshlshrstringthentotypeunituntilusesvarwhilewithxor)asclassexceptexportsfinalizationfinallyinitializationislibraryr>   propertyraise	threadvartry)disposeexitfalsenewtrue)r"   rW   r%   r&   r(   r-   rZ   r0   r3   r\   r8   r^   r?   rB   rC   r_   rD   ra   rN   rO   rQ   rR   )aliascdeclexportr6   	interruptnostackframer   registersafecall	softfloatstdcallvarargsnamedynamicnearvirtualexternaloverride	assembler)r   abstractrx   cppdeclr	   farfar16forwardindex
oldfpccallprivate	protected	publishedpublic)Gansichar
ansistringboolbooleanbytebyteboolcardinalcharcompcurrencydoubledwordextendedint64integeriunknownlongboollongintlongword	pansicharpansistringpboolpbooleanpbyte
pbytearray	pcardinalpcharpcomp	pcurrencypdate	pdatetimepdoublepdword	pextendedphandlepint64pintegerplongint	plongwordpointerppointer	pshortintpshortstringpsingle	psmallintpstringpvariant	pwidecharpwidestringpword
pwordarray	pwordboolrealreal48shortintshortstringsinglesmallintrK   tclasstdate	tdatetimetextfilethandletobjectttimevariantwidechar
widestringwordwordbool)absacquireexceptionobjectaddr
ansitoutf8appendarctanassertassigned
assignfilebeginthread	blockread
blockwriter#   chdirchrclose	closefilecomptocurrencycomptodoubleconcatr'   copycosdecdeleterc   doubletocomp	endthreadenummodulesenumresourcemoduleseofeolnerase
exceptaddrexceptobjectexcluderd   expfileposfilesizefillcharfinalizefindclasshinstancefindhinstancefindresourcehinstanceflushfracfreemem	get8087cwgetdirgetlasterrorgetmemgetmemorymanagergetmodulefilenamegetvariantmanagerhalthihighincr   
initializeinsertintioresultismemorymanagersetisvariantmanagersetlengthlnlolowmkdirmoverf   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cr0cr1cr2cr3cr4cscxdhdidldr0dr1dr2dr3dr4dr5dr6dr7dsdxeaxebpebxecxediedxesesiespfsgsmm0mm1mm2mm3mm4mm5mm6mm7sispssst0st1st2st3st4st5st6st7xmm0xmm1xmm2xmm3xmm4xmm5xmm6xmm7(  aaaaadaamaasadcaddr   arplboundbsfbsrbswapbtbtcbtrbtscallcbwcdqclccldclicltscmccmovacmovaecmovbcmovbecmovccmovcxzcmovecmovgcmovgecmovlcmovlecmovnacmovnaecmovnbcmovnbecmovnccmovnecmovngcmovngecmovnlcmovnlecmovnocmovnpcmovnscmovnzcmovocmovpcmovpecmovpocmovscmovzcmpcmpsbcmpsdcmpswcmpxchg
cmpxchg486	cmpxchg8bcpuidcwdcwdedaadasr   r)   emmsenterhltibtsicebpidivimulr4   r   insbinsdinswr  int01int03int1int3intoinvdinvlpgiretiretdiretwjajaejbjbejcjcxzry  jejecxzjgjgejljlejmpjnajnaejnbjnbejncjnejngjngejnljnlejnojnpjnsjnzjojpjpejpojsjzlahflarlcallldslealeaveleslfslgdtlgslidtljmplldtlmswloadall
loadall286locklodsblodsdlodswlooploopeloopneloopnzloopzlsllssltrmovmovdmovqmovsbmovsdmovswmovsxmovzxmulnegnopr;   r@   outoutsboutsdoutswpoppopapopadpopawpopfpopfdpopfwpushpushapushadpushawpushfpushfdpushfwrclrcrrdmsrrdpmcrdshrrdtscrepreperepnerepnzrepzretretfretnrolrorrsdcrsldtrsmsahfsalsalcsarsbbscasbscasdscaswsetasetaesetbsetbesetcsetcxzsetesetgsetgesetlsetlesetnasetnaesetnbsetnbesetncsetnesetngsetngesetnlsetnlesetnosetnpsetnssetnzsetosetpsetpesetposetssetzsgdtrI   shldrJ   shrdsidtsldtsmismintsmintoldsmswstcstdstistosbstosdstoswr3  subsvdcsvldtsvtssyscallsysentersysexitsysrettestud1ud2umovverrverwwaitwbinvdwrmsrwrshrxaddxbtsxchgxlatxlatbrU   c                 K   s   t j| fi | t | _t|ddr| j| j t|ddr'| j| j t|ddr4| j| j t | _	t
|dt| jD ]}| j	| j|  qAd S )NturbopascalTr   
freepascalunits)r   __init__rH   keywordsr
   updateTURBO_PASCAL_KEYWORDSDELPHI_KEYWORDSFREE_PASCAL_KEYWORDSbuiltinsr   listBUILTIN_UNITS)rG   optionsrO    r;  a/home/ubuntu/SoloSpeech/.venv/lib/python3.10/site-packages/wandb/vendor/pygments/lexers/pascal.pyr1  -  s   zDelphiLexer.__init__c                 c   s   t |tjtjB tjB }dg}d}d}d}d}d}d}	t }
ddg}|jst}|d dkr|dr9t	}n|drN|j
drItj}nutj}np|drXtj}nf|d	rjt}|	rh|j
d
krhd}	nT|drt}d}|sw|r|j
dkr|d  d7  < n8|j
dkr|d  d8  < n)|j
dkr|d  d7  < n|j
dkr|d  d8  < n|dr|j
 }|dkrtjj}n|| jv rt}|s|r|| jv r|d dkr|d dkrd}d}ddg}t }
|dv rd}	n|dkr|d n|dkrd}d}n|dv rd}d}n|r(|| jv r(tj}n|r7|dv r7tj}d}n|rL|drEtj}nytj}d}nr|rVtj}d}nh|	rftj}|
 |j
  nX||
v rptj}nN|| j!v r{tj"}nC|| j#v rtj}n8|s|| j$v rtj}n*t}n&|drt%}|d n|drt%j&}n|drt'j(}n|drt'j)}n|drt'j*}nt+|dkr|,  |-  n|d dkr|d rt%j.}n|drt%}|,  n|d!rt%}n|-  |,  n|d dkr|dr!t	}n|d"r.t}|,  n|drC|j
dr?tj}ntj}n{|drMtj}nq|dr[t%}|d nc|d#retj}nY|dr|j
 }|| j/v ryt}nE|| j0v rtj}n;t}n8|d$rt}n/|drt}n&|drt'j(}n|drt'j)}n|drt'j*}n|-  |,  |j
1 r|j
d%k}|j2||j
pd&fV  |jr'd S d S )'NinitialFr   \s+z\{.*?\}|\(\*.*?\*\)$z//.*?$z[-+*\/=<>:;,.@\^];z[\(\)\[\]]+(   )[]z[A-Za-z_][A-Za-z_0-9]*result)r8   r1   Tr!   r_   )rB   r?   r0   r&   r(   )r  rL  z\s*\.\s*'rK   z\#(\d+|\$[0-9A-Fa-f]+)z\$[0-9A-Fa-f]+z\d+(?![eE]|\.[^.])z&\d+(\.\d+([eE][+-]?\d+)?|[eE][+-]?\d+)z''z[^']*r-   z@@[A-Za-z_][A-Za-z_0-9]*z[-+*\/=<>:;,.@\^]+. )3r   reDOTALL	MULTILINE
IGNORECASErH   eosr   scanr   match
startswithr   Preproc	MultilineSingler   r   lowerr   BuiltinPseudor2  r   BLOCK_KEYWORDSr   FUNCTION_MODIFIERSr  ClassFunctionPropertyLabelr#  BUILTIN_TYPESType
DIRECTIVESr7  r   Charr   HexIntegerFloatlenr  get_charEscapeASM_INSTRUCTIONSASM_REGISTERSstrip	start_pos)rG   text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_namer;  r;  r<  get_tokens_unprocessed:  s:  
































 z"DelphiLexer.get_tokens_unprocessedN)__name__
__module____qualname____doc__rr   aliases	filenames	mimetypesr4  r5  r6  rH   rY  rZ  ra  r_  r9  rj  ri  r1  rz  r;  r;  r;  r<  r      s.    	!C )c                   @   s  e Zd ZdZdZg dZg dZdgZej	ej
B Zdefdejfdefdejd	fd
eejeejdfdejfdeejefdeejedfdeejeejfdejfedddejfdejfdejfdejdfdejdfdeejedfdeejeeeejfdejfdeejeeeejfedddd ejfd!efed"ed#d$ejfd%eee e!fd&efd'efd(efgd)e"j#fd*e"j$fd+e"j%fgd,eeej&fgd-ed.fd/ed0fd1ejd0fd2ej'fed3gd4ejfd5ej'fd6efd/ed0fgd/ed0fd-ed7fd8ejfdejd9fd:ejd;fd<eejed0fed3gd/ed0fd=eejeejfed3gd>ejd0fed3gd?ejd0fe(d0gd@ed0fdAej)fdBefdCejfed3gdDejfdEejfdFejd0fd/ed0fd-edGfdHej*fed3gdIeej)eefdJefd@ed0fed3gdKZ+dLS )Mr   z9
    For Ada source code.

    .. versionadded:: 1.3
    Ada)adaada95ada2005)z*.adbz*.adsz*.adaz
text/x-adaz[^\S\n]+z--.*?\nzfunction|procedure|entry
subprogramz(subtype|type)(\s+)(\w+)type_defztask|protectedz(subtype)(\s+)z
(end)(\s+)r-   z(pragma)(\s+)(\w+)z(true|false|null)\b)AddressByteBoolean	Character
ControlledCountCursorDuration	File_Mode	File_Typere  	Generatorrd  
Long_FloatLong_IntegerLong_Long_FloatLong_Long_IntegerNaturalPositiveReference_TypeShort_FloatShort_IntegerShort_Short_FloatShort_Short_Integerr   Wide_CharacterWide_Stringz\b)suffixz,(and(\s+then)?|in|mod|not|or(\s+else)|rem)\bzgeneric|privatepackagezarray\b	array_defz(with|use)(\s+)importz(\w+)(\s*)(:)(\s*)(constant)z<<\w+>>z0(\w+)(\s*)(:)(\s*)(declare|begin|loop|for|while))<rN  r   ry   acceptaccessaliasedallr    atr"   bodyr$   constantdeclaredelaydeltadigitsr*   r,   elsifr-   entry	exceptionrd   r7   r/   r1   r2   r]   limitedr  rf   nullr=   r@   othersr  
overridingpragmar   r`   rangerD   renamesrequeuereturnreverseselectseparatesubtypesynchronizedtasktagged	terminaterL   rN   rP   whenrS   rU   )prefixr  z"[^"]*"	attributenumbersz'[^']'z(\w+)(\s*|[(,])z(<>|=>|:=|[()|:;,.'])z
[*<>+=/&-]z\n+z[0-9_]+#[0-9a-f]+#z[0-9_]+\.[0-9_]*z[0-9_]+z(')(\w+)z\()#popformal_partrA  r  zis\bz"[^"]+"|\w+rootz(if|case|record|loop|select)z"[^"]+"|[\w.]+r?  r  zwith|and|use)r  r  zrecord\b
record_defz(null record)(;)z(\w+)(\s+)(range)z
end recordz[\w.]+z\)z\w+z,|:[^=]z(in|not|null|out|access)\br  zis\s+new|renamesr]   package_instantiationz([\w.]+)z("[^"]+"|\w+)(\s+)(=>)z[\w.\'"])r  r  r  r  r-   r  r  r  r  r  r  r  N),r{  r|  r}  r~  rr   r  r  r  rK  rM  rN  flagsr   r   rU  r   Declarationr   r`  ReservedrS  Constantr   r   Word	Namespacer   r   r^  r   r   r  r   r   r   rc  re  rd  	Attributer\  r	   Variabler[  tokensr;  r;  r;  r<  r     s    

	

	
6








)r~  rK  pygments.lexerr   r   r   r   r   r   r   r	   pygments.utilr
   r   pygments.tokenr   r   r   r   r   r   r   r   r   pygments.scannerr   pygments.lexers.modula2r   __all__r   r   r;  r;  r;  r<  <module>   s   
(,   g