Your IP : 216.73.216.213
B
̽�\�E � @ s^ d Z ddlZddlmZmZmZmZ ddlmZm Z m
Z
mZmZm
Z
dgZG dd� de�ZdS )z�
pygments.lexers.factor
~~~~~~~~~~~~~~~~~~~~~~
Lexers for the Factor language.
:copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
� N)�
RegexLexer�bygroups�default�words)�Text�Comment�Keyword�Name�String�Number�FactorLexerc A @ sd e Zd ZdZdZdgZdgZdgZej ej
B Zeddd�Z
ed dd�Zed
dd�Zeddd�Zeddd�Zed
dd�Zeddd�Zeddd�Zeddd�Zeddd�Zeddd�Zdejfed�gdefdeeeej�fdeeeej eej�fdeeeejeej �fdeeeej�fdeeeejeej�fdejdfdefdeej!e�dfd eej!eej!�fd!eej!eej!eej!�fd"eej!eej!e�d#fd$eej!eejeej!eej�fd%eej!eejeej�fd&eej!eej�fd'eeeej eej �d(fd)eeeej �d(fd*eeeej �fd+eeeej eej �fdeeeejeej �fd,eeeej eej �fd-eeeej�fd.eeeej �fd/ed0fd1eeeej�fd2ed#fd3efd4efd5eeeej �fd6eej!eeje�fd7eej!eejeeje�fd8ej!fd9e"fd:e"fd;e"fd<e"j#fd=efd>efd?efd@ej$fdAej$fdBej$fdCe%fdDe%fdEe%fdFe%fdGe%j&fdHe%j'fdIe%fdJe%fdKefe
ej(feej(feej(feej(feej(feej(feej(feej(feej(feej(feej(fdLefg?defdMejdfdNejdOfdPejfdLej)fgdefdedOfdQeeej)e�fdLej)fgdefdedOfdLej!fgdefdedOfdLej fgdefdedOfdLejfgdR�Z*dSS )Tr z^
Lexer for the `Factor <http://factorcode.org>`_ language.
.. versionadded:: 1.4
ZFactorZfactorz*.factorz
text/x-factor)oz-rotZ2biz2bi@z2bi*Z2curryZ2dipZ2dropZ2dupZ2keepZ2nipZ2overZ2triz2tri@z2tri*Z3biZ3curryZ3dipZ3dropZ3dupZ3keepZ3triZ4dipZ4dropZ4dupZ4keepz <wrapper>�=z>boolean�clone�?z?executez?if�and�assertzassert=zassert?Zbizbi-curryz bi-curry@z bi-curry*zbi@zbi*ZboaZbooleanzboolean?zboth?�build�callZ callstackzcallstack>arrayz
callstack?�clearz(clone)Zcomposezcompose?Zcurryzcurry?Z datastackZdieZdipZdoZdrop�dupZdupdzeither?zeq?zequal?�executeZhashcodez hashcode*zidentity-hashcodezidentity-tuplezidentity-tuple?�ifzif*ZkeepZloopZmost�newZnip�notZnull�object�orZoverZpickZpreposeZretainstackZrotzsame?ZswapZswapd�throwZtriz tri-curryz
tri-curry@z
tri-curry*ztri@ztri*�tupleztuple?Zunlesszunless*ZuntilZwhenzwhen*�while�with�wrapperzwrapper?�xorz\s)�suffix)@Z2cachez<enum>z>alistz?atz?ofZassocz
assoc-all?z
assoc-any?zassoc-clone-likez
assoc-combinez
assoc-diffzassoc-diff!zassoc-differz
assoc-eachzassoc-empty?zassoc-filterz
assoc-filter!zassoc-filter-asz
assoc-findzassoc-hashcodezassoc-intersectz
assoc-likez assoc-mapzassoc-map-aszassoc-partitionzassoc-refinez
assoc-sizezassoc-stackz
assoc-subset?zassoc-unionzassoc-union!zassoc=z assoc>mapzassoc?Zatzat+zat*�cachez change-atzclear-assocz delete-atz
delete-at*�enumzenum?zextract-keyszinc-atzkey?�keysz map>assoczmaybe-set-atz new-assocZofzpush-atz rename-atzset-atz sift-keyszsift-values�
substituteZunzipzvalue-atz value-at*zvalue?�values�zip)Z2cleavez2cleave>quotZ3cleavez3cleave>quotZ4cleavez4cleave>quotz
alist>quotzcall-effectZcasez case-findz case>quotZcleavezcleave>quotZcondz cond>quotzdeep-spread>quotzexecute-effectzlinear-case-quotzno-casezno-case?zno-condzno-cond?zrecursive-hashcodezshallow-spread>quotZspreadzto-fixed-pointzwrong-valuesz
wrong-values?)c�-�/z/fz/iz/modz2/z2^�<z<=z<fp-nan>�>z>=z>bignumz>fixnumz>floatz>integerz(all-integers?)z(each-integer)z(find-integer)�*�+z?1+�absZalignz
all-integers?Zbignumzbignum?zbit?ZbitandZbitnotZbitorzbits>doublez
bits>floatZbitxor�complexzcomplex?�denominatorzdouble>bitszeach-integerzeven?zfind-integerzfind-last-integerZfixnumzfixnum?�floatz
float>bitszfloat?zfp-bitwise=zfp-infinity?zfp-nan-payloadzfp-nan?zfp-qnan?zfp-signzfp-snan?zfp-special?zif-zerozimaginary-part�integerzinteger>fixnumzinteger>fixnum-strictzinteger?�log2zlog2-expects-positivezlog2-expects-positive?�mod�negzneg?z
next-floatznext-power-of-2�numberznumber=znumber?� numeratorzodd?zout-of-fixnum-rangezout-of-fixnum-range?zpower-of-2?z
prev-floatZratiozratio?Zrationalz rational?�realz real-partzreal?Zrecip�remZsgn�shift�sq�timeszu<zu<=zu>zu>=zunless-zeroz
unordered?z when-zerozzero?)�Z 1sequencez2all?Z2eachZ2mapz2map-asz2map-reduceZ2reduceZ 2selectorZ 2sequenceZ3appendz
3append-asZ3eachZ3mapz3map-asZ 3sequenceZ 4sequencez<repetition>z
<reversed>z<slice>z?firstz?lastz?nthz?secondz?set-nth�
accumulatezaccumulate!z
accumulate-aszall?zany?�appendzappend!z append-aszassert-sequencezassert-sequence=zassert-sequence?z
binary-reducezbounds-checkz
bounds-check?zbounds-errorz
bounds-error?zbut-lastzbut-last-slicezcartesian-eachz
cartesian-mapzcartesian-productz
change-nthzcheck-slicezcheck-slice-errorz
clone-likezcollapse-sliceZ collectorz
collector-for�concatz concat-as�copy�countZcutz cut-slicezcut*z
delete-allzdelete-slicezdrop-prefixZeachz each-fromz
each-indexzempty?Zexchange�filterzfilter!z filter-as�findz find-fromz
find-indexzfind-index-fromz find-lastzfind-last-from�firstZfirst2Zfirst3Zfirst4Zflip�followZfourthZglueZhalvesZharvest�headz
head-slicezhead-slice*zhead*zhead?zif-emptyZ immutablezimmutable-sequencezimmutable-sequence?z
immutable?�indexz
index-from�indicesZinfimumz
infimum-byz
insert-nthZ
interleaveZiotaz
iota-tupleziota-tuple?�joinzjoin-as�lastz
last-indexzlast-index-from�lengthZlengthenZlikeZlongerzlonger?Zlongest�mapzmap!zmap-aszmap-findz
map-find-lastz map-indexzmap-integersz
map-reducezmap-sumz
max-lengthz
member-eq?zmember?z midpoint@z
min-lengthZmismatch�moveznew-likez
new-resizableznew-sequenceznon-negative-integer-expectedznon-negative-integer-expected?ZnthZnthszpad-headzpad-tail�padding� partition�popzpop*�prefixZprependz
prepend-asZproducez
produce-as�product�pushzpush-allzpush-eitherzpush-if�reducezreduce-index�removezremove!z remove-eqz
remove-eq!z
remove-nthzremove-nth!Z
repetitionzrepetition?z
replace-sliceZ replicatezreplicate-as�restz
rest-slice�reversezreverse!�reversedz reversed?�second�selectorzselector-for�sequencezsequence-hashcodez sequence=z sequence?z set-firstz
set-fourthzset-lastz
set-lengthzset-nthz
set-secondz set-third�short�shortenZshorterzshorter?ZshortestZsift�slicezslice-errorzslice-error?zslice?Zsnipz
snip-slice�startzstart*Zsubseqzsubseq?r"