o
    ‡ÎÖazL  ã                   @   sf   d Z ddlZddlmZ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„ deƒZdS )zÐ
    pygments.lexers.factor
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexers for the Factor language.

    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)Ú
RegexLexerÚbygroupsÚdefaultÚwords)ÚTextÚCommentÚKeywordÚNameÚStringÚNumberÚ
WhitespaceÚPunctuationÚFactorLexerc                   @   s¸  e Zd ZdZdZdgZdgZdgZej	ej
B Zeddd�Zed	dd�Zed
dd�Zeddd�Zeddd�Zeddd�Zeddd�Zeddd�Zeddd�Zeddd�Zeddd�Zdejfedƒgg def‘deeeejƒf‘deeeej eejƒf‘deeeejeej ƒf‘deeeejƒf‘deeeejeejƒf‘deejeƒdf‘deeeƒf‘deej!eƒdf‘d eej!eej!ƒf‘d!eej!eej!eej!ƒf‘d"eej!eej!eƒd#f‘d$eej!eejeej!ee"eejƒ	f‘d%eej!eejeejƒf‘d&eej!eejƒf‘d'eeeej ee"eej ƒd(f‘d)eeeej ƒd(f‘d*eeeej ƒf‘d+eeeej ee"eej ƒf‘deeeejeej ƒf‘d,eeeej eej ƒf‘d-eeeejƒf‘d.eeeej ƒf‘d/ed0f‘d1eeeejƒf‘d2eeeƒd#f‘d3eeeƒf‘d4eeeƒf‘d5eeeej ƒf‘d6eej!ee#eejee"ee#e"eƒf‘d7eej!ee#eejeejee"ee#e"eƒf‘d8eej!eƒf‘d9e$f‘d:e$f‘d;ee$ee$ƒf‘d<ee$j%ee$j%eƒf‘d=ef‘d>ef‘d?ef‘d@ej&f‘dAej&f‘dBej&f‘dCe'f‘dDe'f‘dEe'f‘dFe'f‘dGe'j(f‘dHe'j)f‘dIe'f‘dJe'f‘dKef‘eeej*eƒf‘eeej*eƒf‘eeej*eƒf‘eeej*eƒf‘eeej*eƒf‘eeej*eƒf‘eeej*eƒf‘eeej*eƒf‘eeej*eƒf‘eeej*eƒf‘eeej*eƒf‘dLe#f‘defdMeejeƒdfdNeejeƒdOfdPeejeƒfdLej+fgdefdQeeeƒdOfdRee#eej+ee#ee#eƒfdLej+fgdefdQeeeƒdOfdLej!fgdefdQeeeƒdOfdLej fgdefdQeeeƒdOfdLejfgdSœZ,dTS )Ur   z^
    Lexer for the `Factor <http://factorcode.org>`_ language.

    .. versionadded:: 1.4
    ÚFactorÚfactorz*.factorztext/x-factor)oz-rotÚ2biz2bi@z2bi*Ú2curryÚ2dipÚ2dropÚ2dupÚ2keepÚ2nipÚ2overÚ2triz2tri@z2tri*Ú3biÚ3curryÚ3dipÚ3dropÚ3dupÚ3keepÚ3triÚ4dipÚ4dropÚ4dupÚ4keepz	<wrapper>ú=z>booleanÚcloneú?z?executez?ifÚandÚassertzassert=zassert?Úbizbi-curryz	bi-curry@z	bi-curry*zbi@zbi*ÚboaÚbooleanzboolean?zboth?ÚbuildÚcallÚ	callstackzcallstack>arrayz
callstack?Úclearz(clone)Úcomposezcompose?Úcurryzcurry?Ú	datastackÚdieÚdipÚdoÚdropÚdupÚdupdzeither?zeq?zequal?ÚexecuteÚhashcodez	hashcode*zidentity-hashcodezidentity-tuplezidentity-tuple?Úifzif*ÚkeepÚloopÚmostÚnewÚnipÚnotÚnullÚobjectÚorÚoverÚpickÚpreposeÚretainstackÚrotzsame?ÚswapÚswapdÚthrowÚtriz	tri-curryz
tri-curry@z
tri-curry*ztri@ztri*Útupleztuple?Úunlesszunless*ÚuntilÚwhenzwhen*ÚwhileÚwithÚwrapperzwrapper?Úxorz(\s+))Úsuffix)@Ú2cachez<enum>z>alistz?atz?ofÚassocz
assoc-all?z
assoc-any?zassoc-clone-likezassoc-combinez
assoc-diffzassoc-diff!zassoc-differz
assoc-eachzassoc-empty?zassoc-filterzassoc-filter!zassoc-filter-asz
assoc-findzassoc-hashcodezassoc-intersectz
assoc-likez	assoc-mapzassoc-map-aszassoc-partitionzassoc-refinez
assoc-sizezassoc-stackzassoc-subset?zassoc-unionzassoc-union!zassoc=z	assoc>mapzassoc?Úatzat+zat*Úcachez	change-atzclear-assocz	delete-atz
delete-at*Úenumzenum?zextract-keyszinc-atzkey?Úkeysz	map>assoczmaybe-set-atz	new-assocÚofzpush-atz	rename-atzset-atz	sift-keyszsift-valuesÚ
substituteÚunzipzvalue-atz	value-at*zvalue?ÚvaluesÚzip)Ú2cleavez2cleave>quotÚ3cleavez3cleave>quotÚ4cleavez4cleave>quotz
alist>quotzcall-effectÚcasez	case-findz	case>quotÚcleavezcleave>quotÚcondz	cond>quotzdeep-spread>quotzexecute-effectzlinear-case-quotzno-casezno-case?zno-condzno-cond?zrecursive-hashcodezshallow-spread>quotÚspreadzto-fixed-pointzwrong-valueszwrong-values?)cú-ú/z/fz/iz/modz2/z2^ú<z<=z<fp-nan>ú>z>=z>bignumz>fixnumz>floatz>integerz(all-integers?)z(each-integer)z(find-integer)Ú*ú+z?1+ÚabsÚalignzall-integers?Úbignumzbignum?zbit?ÚbitandÚbitnotÚbitorzbits>doublez
bits>floatÚbitxorÚcomplexzcomplex?Údenominatorzdouble>bitszeach-integerzeven?zfind-integerzfind-last-integerÚfixnumzfixnum?Úfloatz
float>bitszfloat?zfp-bitwise=zfp-infinity?zfp-nan-payloadzfp-nan?zfp-qnan?zfp-signzfp-snan?zfp-special?zif-zerozimaginary-partÚintegerzinteger>fixnumzinteger>fixnum-strictzinteger?Úlog2zlog2-expects-positivezlog2-expects-positive?ÚmodÚnegzneg?z
next-floatznext-power-of-2Únumberznumber=znumber?Ú	numeratorzodd?zout-of-fixnum-rangezout-of-fixnum-range?zpower-of-2?z
prev-floatÚratiozratio?Úrationalz	rational?Úrealz	real-partzreal?ÚrecipÚremÚsgnÚshiftÚsqÚtimeszu<zu<=zu>zu>=zunless-zeroz
unordered?z	when-zerozzero?)êÚ	1sequencez2all?Ú2eachÚ2mapz2map-asz2map-reduceÚ2reduceÚ	2selectorÚ	2sequenceÚ3appendz
3append-asÚ3eachÚ3mapz3map-asÚ	3sequenceÚ	4sequencez<repetition>z
<reversed>z<slice>z?firstz?lastz?nthz?secondz?set-nthÚ
accumulatezaccumulate!zaccumulate-aszall?zany?Úappendzappend!z	append-aszassert-sequencezassert-sequence=zassert-sequence?zbinary-reducezbounds-checkzbounds-check?zbounds-errorzbounds-error?zbut-lastzbut-last-slicezcartesian-eachzcartesian-mapzcartesian-productz
change-nthzcheck-slicezcheck-slice-errorz
clone-likezcollapse-sliceÚ	collectorzcollector-forÚconcatz	concat-asÚcopyÚcountÚcutz	cut-slicezcut*z
delete-allzdelete-slicezdrop-prefixÚeachz	each-fromz
each-indexzempty?ÚexchangeÚfilterzfilter!z	filter-asÚfindz	find-fromz
find-indexzfind-index-fromz	find-lastzfind-last-fromÚfirstÚfirst2Úfirst3Úfirst4ÚflipÚfollowÚfourthÚglueÚhalvesÚharvestÚheadz
head-slicezhead-slice*zhead*zhead?zif-emptyÚ	immutablezimmutable-sequencezimmutable-sequence?z
immutable?Úindexz
index-fromÚindicesÚinfimumz
infimum-byz
insert-nthÚ
interleaveÚiotaz
iota-tupleziota-tuple?Újoinzjoin-asÚlastz
last-indexzlast-index-fromÚlengthÚlengthenÚlikeÚlongerzlonger?ÚlongestÚmapzmap!zmap-aszmap-findzmap-find-lastz	map-indexzmap-integersz
map-reducezmap-sumz
max-lengthz
member-eq?zmember?z	midpoint@z
min-lengthÚmismatchÚmoveznew-likeznew-resizableznew-sequenceznon-negative-integer-expectedznon-negative-integer-expected?ÚnthÚnthszpad-headzpad-tailÚpaddingÚ	partitionÚpopzpop*ÚprefixÚprependz
prepend-asÚproducez
produce-asÚproductÚpushzpush-allzpush-eitherzpush-ifÚreducezreduce-indexÚremovezremove!z	remove-eqz
remove-eq!z
remove-nthzremove-nth!Ú
repetitionzrepetition?zreplace-sliceÚ	replicatezreplicate-asÚrestz
rest-sliceÚreversezreverse!Úreversedz	reversed?ÚsecondÚselectorzselector-forÚsequencezsequence-hashcodez	sequence=z	sequence?z	set-firstz
set-fourthzset-lastz
set-lengthzset-nthz
set-secondz	set-thirdÚshortÚshortenÚshorterzshorter?ÚshortestÚsiftÚslicezslice-errorzslice-error?zslice?Úsnipz
snip-sliceÚstartzstart*Úsubseqzsubseq?rW   zsuffix!Úsumzsum-lengthsÚsupremumzsupremum-byÚsurroundÚtailz
tail-sliceztail-slice*ztail*ztail?ÚthirdÚtrimz	trim-headztrim-head-slicez
trim-slicez	trim-tailztrim-tail-sliceÚunclipzunclip-lastzunclip-last-slicezunclip-slicezunless-emptyzvirtual-exemplarzvirtual-sequencezvirtual-sequence?zvirtual@z
when-empty)z+@Úchangezchange-globalÚcounterÚdecÚgetz
get-globalÚglobalÚinczinit-namespacesÚ
initializez	is-globalz
make-assocÚ	namespaceÚ	namestackÚoffÚonÚsetz
set-globalzset-namestackÚtogglezwith-globalz
with-scopezwith-variablezwith-variables)Ú1arrayÚ2arrayÚ3arrayÚ4arrayz<array>z>arrayÚarrayzarray?Úpairzpair?zresize-array)Yz(each-stream-block-slice)z(each-stream-block)z(stream-contents-by-block)z(stream-contents-by-element)z$(stream-contents-by-length-or-block)z(stream-contents-by-length)z+byte+z+character+zbad-seek-typezbad-seek-type?ÚblÚcontentsz
each-blockzeach-block-sizezeach-block-slicez	each-linezeach-morselzeach-stream-blockzeach-stream-block-slicezeach-stream-linezerror-streamÚflushzinput-streamzinput-stream?zinvalid-read-bufferzinvalid-read-buffer?ÚlinesÚnlzoutput-streamzoutput-stream?ÚprintÚreadz	read-intozread-partialzread-partial-intoz
read-untilÚread1Úreadlnzseek-absolutezseek-absolute?zseek-endz	seek-end?z
seek-inputzseek-outputzseek-relativezseek-relative?z	stream-blzstream-contentszstream-contents*zstream-copyzstream-copy*zstream-element-typezstream-flushzstream-lengthzstream-linesz	stream-nlzstream-printzstream-readzstream-read-intozstream-read-partialzstream-read-partial-intozstream-read-partial-unsafezstream-read-unsafezstream-read-untilzstream-read1zstream-readlnzstream-seekzstream-seekable?zstream-tellzstream-writezstream-write1z
tell-inputztell-outputzwith-error-streamzwith-error-stream*zwith-error>outputzwith-input-output+error-streamsz with-input-output+error-streams*zwith-input-streamzwith-input-stream*zwith-output-streamzwith-output-stream*zwith-output>errorzwith-output+error-streamzwith-output+error-stream*zwith-streamszwith-streams*ÚwriteÚwrite1)Ú1stringz<string>z>stringzresize-stringÚstringzstring?)Ú1vectorz<vector>z>vectorz?pushÚvectorzvector?)(z<condition>z<continuation>z	<restart>zattempt-allzattempt-all-errorzattempt-all-error?zcallback-error-hookÚcallcc0Úcallcc1Úcleanupzcompute-restartsÚ	conditionz
condition?Úcontinuationzcontinuation?Úcontinuezcontinue-restartzcontinue-withzcurrent-continuationÚerrorzerror-continuationzerror-in-threadzerror-threadÚifcczignore-errorszin-callback?zoriginal-errorÚrecoverÚrestartzrestart?ÚrestartsÚrethrowzrethrow-restartsÚreturnzreturn-continuationzthread-error-hookzthrow-continuezthrow-restartszwith-datastackzwith-returnz#!.*$Úbasez\s+z&((?:MACRO|MEMO|TYPED)?:[:]?)(\s+)(\S+)z(M:[:]?)(\s+)(\S+)(\s+)(\S+)z(C:)(\s+)(\S+)(\s+)(\S+)z(GENERIC:)(\s+)(\S+)z$(HOOK:|GENERIC#)(\s+)(\S+)(\s+)(\S+)z(\()(\s)Ústackeffectz(;)(\s)z(USING:)(\s+)Úvocabsz&(USE:|UNUSE:|IN:|QUALIFIED:)(\s+)(\S+)z%(QUALIFIED-WITH:)(\s+)(\S+)(\s+)(\S+)z#(FROM:|EXCLUDE:)(\s+)(\S+)(\s+=>\s)r   z0(RENAME:)(\s+)(\S+)(\s+)(\S+)(\s+)(=>)(\s+)(\S+)z%(ALIAS:|TYPEDEF:)(\s+)(\S+)(\s+)(\S+)z$(DEFER:|FORGET:|POSTPONE:)(\s+)(\S+)z+(TUPLE:|ERROR:)(\s+)(\S+)(\s+)(<)(\s+)(\S+)Úslotsz"(TUPLE:|ERROR:|BUILTIN:)(\s+)(\S+)z'(MIXIN:|UNION:|INTERSECTION:)(\s+)(\S+)z((PREDICATE:)(\s+)(\S+)(\s+)(<)(\s+)(\S+)z(INSTANCE:)(\s+)(\S+)(\s+)(\S+)z(SLOT:)(\s+)(\S+)z(SINGLETON:)(\s+)(\S+)zSINGLETONS:Úclassesz)(CONSTANT:|SYMBOL:|MAIN:|HELP:)(\s+)(\S+)z(SYMBOLS:)(\s+)z(SYNTAX:)(\s+)z(ALIEN:)(\s+)z(STRUCT:)(\s+)(\S+)z<(FUNCTION:)(\s+)(\S+)(\s+)(\S+)(\s+)(\()(\s+)([^)]+)(\))(\s)zL(FUNCTION-ALIAS:)(\s+)(\S+)(\s+)(\S+)(\s+)(\S+)(\s+)(\()(\s+)([^)]+)(\))(\s)z(<PRIVATE|PRIVATE>)(\s)z"""\s(?:.|\n)*?\s"""z"(?:\\\\|\\"|[^"])*"z (\S+")(\s+)((?:\\\\|\\"|[^"])*")z)(CHAR:)(\s+)(\\[\\abfnrstv]|[^\\]\S*)(\s)z!\s+.*$z#!\s+.*$z/\*\s+(?:.|\n)*?\s\*/z[tf]\bz[\\$]\s+\S+zM\\\s+\S+\s+\S+z9[+-]?(?:[\d,]*\d)?\.(?:\d([\d,]*\d)?)?(?:[eE][+-]?\d+)?\sz'[+-]?\d(?:[\d,]*\d)?(?:[eE][+-]?\d+)?\sz<0x[a-fA-F\d](?:[a-fA-F\d,]*[a-fA-F\d])?(?:p\d([\d,]*\d)?)?\szANAN:\s+[a-fA-F\d](?:[a-fA-F\d,]*[a-fA-F\d])?(?:p\d([\d,]*\d)?)?\sz	0b[01]+\sz
0o[0-7]+\sz5(?:\d([\d,]*\d)?)?\+\d(?:[\d,]*\d)?/\d(?:[\d,]*\d)?\sz7(?:\-\d([\d,]*\d)?)?\-\d(?:[\d,]*\d)?/\d(?:[\d,]*\d)?\sz:(?:deprecated|final|foldable|flushable|inline|recursive)\sz\S+z	(\()(\s+)z	(\))(\s+)z#popz	(--)(\s+)z(;)(\s+)z((\{)(\s+)(\S+)(\s+)([^}]+)(\s+)(\})(\s+))Úrootr  r  r  r  r  r   N)-Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesÚ	mimetypesÚreÚ	MULTILINEÚUNICODEÚflagsr   Úbuiltin_kernelÚbuiltin_assocsÚbuiltin_combinatorsÚbuiltin_mathÚbuiltin_sequencesÚbuiltin_namespacesÚbuiltin_arraysÚ
builtin_ioÚbuiltin_stringsÚbuiltin_vectorsÚbuiltin_continuationsr   ÚPreprocr   r   r   r   r	   ÚFunctionÚClassÚ	Namespacer   r   r
   ÚCharÚConstantr   ÚBinÚOctÚBuiltinÚVariableÚtokens© r6  r6  ú8/usr/lib/python3/dist-packages/pygments/lexers/factor.pyr      s8   òôúî*Ö,ûþäþþ
öýÿÿüÿÿú	ÿÿ÷ÿôÿÿòïîÿëÿéÿÿçÿþä
þÿá#ÿÿÝ&ÿÚ*ÿþÖ-ÿÓ/ÿÑ1ÿÿÏ4ÿÌ6ÿÊ8È9Ç:Æ=ÿÃ?Á@ÀA¿B¾C

þý½I

ýü·S­VªW©X
ÿ¨Zÿ¦^¢_¡` c�fšg™j–k•l”m“n’o‘p�q�tÿŒxˆy‡z†{…|„}ƒ~‚�  �ÿ  �þ  �ý  �ú 	ûÿÿú	ýýý �
Ù)r  r  Úpygments.lexerr   r   r   r   Úpygments.tokenr   r   r   r	   r
   r   r   r   Ú__all__r   r6  r6  r6  r7  Ú<module>   s    
(