+
    IV-j  ã                   ób   € R t ^ RIt^ RIHtHt ^ RIHtHtHtH	t	H
t
HtHt R.t ! R R]4      tR# )z»
pygments.lexers.forth
~~~~~~~~~~~~~~~~~~~~~

Lexer for the Forth language.

:copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
N)Ú
RegexLexerÚbygroups)ÚTextÚCommentÚKeywordÚNameÚStringÚNumberÚ
WhitespaceÚ
ForthLexerc                   óþ  a € ] tR t^t o RtRtRtR.tRR.tR.t	Rt
]P                  ]P                  ,          tR	R
]3R]P"                  3R]P"                  3R]! ]P(                  ]4      R3R]! ]]4      R3R]3R]P.                  3R]P0                  3R]P2                  3R]P6                  3R]P8                  3R]! ]P(                  ]4      R3R]P<                  3.RR]P>                  R3.RR]R3./t R t!Rt"V t#R# )r   z
Lexer for Forth files.
ÚForthzhttps://www.forth.com/forth/Úforthz*.frtz*.fszapplication/x-forthz2.2Úrootz\s+z\\.*?$z\([\s].*?\)z((:|variable|constant|value|buffer:)(\s+)Úworddefz([.sc]")(\s+?)Ú	stringdefau	  (blk|block|buffer|evaluate|flush|load|save-buffers|update|empty-buffers|list|refill|scr|thru|\#s|\*\/mod|\+loop|\/mod|0<|0=|1\+|1-|2!|2\*|2\/|2@|2drop|2dup|2over|2swap|>body|>in|>number|>r|\?dup|abort|abort\"|abs|accept|align|aligned|allot|and|base|begin|bl|c!|c,|c@|cell\+|cells|char|char\+|chars|constant|count|cr|create|decimal|depth|do|does>|drop|dup|else|emit|environment\?|evaluate|execute|exit|fill|find|fm\/mod|here|hold|i|if|immediate|invert|j|key|leave|literal|loop|lshift|m\*|max|min|mod|move|negate|or|over|postpone|quit|r>|r@|recurse|repeat|rot|rshift|s\"|s>d|sign|sm\/rem|source|space|spaces|state|swap|then|type|u\.|u\<|um\*|um\/mod|unloop|until|variable|while|word|xor|\[char\]|\[\'\]|@|!|\#|<\#|\#>|:|;|\+|-|\*|\/|,|<|>|\|1\+|1-|\.|\.r|0<>|0>|2>r|2r>|2r@|:noname|\?do|again|c\"|case|compile,|endcase|endof|erase|false|hex|marker|nip|of|pad|parse|pick|refill|restore-input|roll|save-input|source-id|to|true|tuck|u\.r|u>|unused|value|within|\[compile\]|\#tib|convert|expect|query|span|tib|2constant|2literal|2variable|d\+|d-|d\.|d\.r|d0<|d0=|d2\*|d2\/|d<|d=|d>s|dabs|dmax|dmin|dnegate|m\*\/|m\+|2rot|du<|catch|throw|abort|abort\"|at-xy|key\?|page|ekey|ekey>char|ekey\?|emit\?|ms|time&date|BIN|CLOSE-FILE|CREATE-FILE|DELETE-FILE|FILE-POSITION|FILE-SIZE|INCLUDE-FILE|INCLUDED|OPEN-FILE|R\/O|R\/W|READ-FILE|READ-LINE|REPOSITION-FILE|RESIZE-FILE|S\"|SOURCE-ID|W/O|WRITE-FILE|WRITE-LINE|FILE-STATUS|FLUSH-FILE|REFILL|RENAME-FILE|>float|d>f|f!|f\*|f\+|f-|f\/|f0<|f0=|f<|f>d|f@|falign|faligned|fconstant|fdepth|fdrop|fdup|fliteral|float\+|floats|floor|fmax|fmin|fnegate|fover|frot|fround|fswap|fvariable|represent|df!|df@|dfalign|dfaligned|dfloat\+|dfloats|f\*\*|f\.|fabs|facos|facosh|falog|fasin|fasinh|fatan|fatan2|fatanh|fcos|fcosh|fe\.|fexp|fexpm1|fln|flnp1|flog|fs\.|fsin|fsincos|fsinh|fsqrt|ftan|ftanh|f~|precision|set-precision|sf!|sf@|sfalign|sfaligned|sfloat\+|sfloats|\(local\)|to|locals\||allocate|free|resize|definitions|find|forth-wordlist|get-current|get-order|search-wordlist|set-current|set-order|wordlist|also|forth|only|order|previous|-trailing|\/string|blank|cmove|cmove>|compare|search|sliteral|.s|dump|see|words|;code|ahead|assembler|bye|code|cs-pick|cs-roll|editor|state|\[else\]|\[if\]|\[then\]|forget|defer|defer@|defer!|action-of|begin-structure|field:|buffer:|parse-name|buffer:|traverse-wordlist|n>r|nr>|2value|fvalue|name>interpret|name>compile|name>string|cfield:|end-structure)(?!\S)z(\$[0-9A-F]+)z(\#|%|&|\-|\+)?[0-9]+z(\#|%|&|\-|\+)?[0-9.]+z¬(@i|!i|@e|!e|pause|noop|turnkey|sleep|itype|icompare|sp@|sp!|rp@|rp!|up@|up!|>a|a>|a@|a!|a@+|a@-|>b|b>|b@|b!|b@+|b@-|find-name|1ms|sp0|rp0|\(evaluate\)|int-trap|int!)(?!\S)z¶(do-recognizer|r:fail|recognizer:|get-recognizers|set-recognizers|r:float|r>comp|r>int|r>post|r:name|r:word|r:dnum|r:num|recognizer|forth-recognizer|rec:num|rec:float|rec:word)(?!\S)z0(Evalue|Rvalue|Uvalue|Edefer|Rdefer|Udefer)(\s+)z\S+z#popz[^"]+c                óD   € \         P                  ! RV 4      '       d   R# R# )zRForth uses : COMMAND ; quite a lot in a single line, so we're trying
to find that.z	
:[^
]+;
g333333Ó?N)ÚreÚsearch)Útexts   &Úf/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/pygments/lexers/forth.pyÚanalyse_textÚForthLexer.analyse_text®   s   € ô �9Š9�^ T×*Ò*Ùñ +ó    © N)$Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚ	mimetypesÚversion_addedr   Ú
IGNORECASEÚ	MULTILINEÚflagsr
   r   ÚSingler   r   Ú	Namespacer   r	   ÚHexÚIntegerÚTyper   ÚConstantÚ	Decoratorr   ÚFunctionÚClassÚtokensr   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r   r   r      sm  ø‡ € ñð €DØ
(€CØˆi€GØ˜&Ð!€IØ&Ð'€IØ€Mà�M‰M˜BŸL™LÕ(€Eð 	Ø�ZÐ à˜Ÿ™Ð'Ø˜WŸ^™^Ð,à8Ù�g×'Ñ'¨Ó4°iðAð ¡¨°Ó <¸kÐJð^-ð| /6ð}^7ðB ˜vŸz™zÐ*Ø% v§~¡~Ð6Ø&¨¯©Ð5ð:ð
 �]‰]ðð2ð 48·>±>ðCð
 AÙ�g×'Ñ'¨Ó.°	ð;ð �T—]‘]Ð#ðAB
ðF 	Ø�T—Z‘Z Ð(ð
ð 	Ø�v˜vÐ&ð
ðOJ€F÷Xð r   )r   r   Úpygments.lexerr   r   Úpygments.tokenr   r   r   r   r   r	   r
   Ú__all__r   r   r   r   Ú<module>r9      s8   ðñó 
ç /÷÷ ñ ð ˆ.€ô]�ö ]r   