
    O(                         S r SSKrSSKJrJrJrJr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Jr  / SQr " S S\5      r " S S	\5      r " S
 S\5      rg)z
pygments.lexers.dylan
~~~~~~~~~~~~~~~~~~~~~

Lexers for the Dylan language.

:copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
    N)Lexer
RegexLexerbygroupsdo_insertionsdefaultline_re)
CommentOperatorKeywordNameStringNumberPunctuationGenericLiteral
Whitespace)
DylanLexerDylanConsoleLexerDylanLidLexerc                      \ rS rSrSrSrSrS/r/ SQrS/r	\
R                  r1 Skr1 S	kr1 S
kr1 SkrSrS rS\4S\R*                  4S\" \R0                  \\\5      4\" S5      /S\4S\" \R*                  \5      4S\R8                  S4S\S4S\R:                  4S\R>                  4S\R@                  4S\RB                  4S\RD                  4S\RF                  4S\-   S-   \" \RH                  \\RJ                  5      4S\" \RH                  \\RJ                  5      4S \-   \RH                  4S!\&4S"\4S#\'4S$\RP                  S%4S&\)4\S'-   \)4S(\-   S)-   \RT                  4S*\-   S*-   \RV                  RX                  4S+\-   \RZ                  4\\4/S,\R8                  4S\R8                  S-4S.\R8                  S/4S0\R8                  4/S\RP                  S/4S1\RP                  4/S\S/4S2\R\                  4S3\4S4\4S5\4/S6.r/S7r0g8)9r      z0
For the Dylan language.

.. versionadded:: 0.7
Dylanzhttp://www.opendylan.org/dylan)z*.dylanz*.dylz*.intrztext/x-dylan>%   openslotblockclassmacrodomainimportinlinemethodmodulesealedthreaddynamicexcludegenerichandlerkeywordlibraryprimaryvirtualabstractconcreteconstantfunctioninstancerequiredsidewayssubclassvariable	exception	inherited	interface	singletoninline-onlycompiler-openeach-subclasscompiler-sideways>   byifintoendforletusecaseelsefromthenwhenabovebeginbelowlocaluntilwhilecreatedefineelseifexportrenameselectsignalunlesscleanupfinally	otherwise
afterwards>   &*+-<=>^|~<===>=~=~==>   asdoabsaddashgcdlcmmapmaxminpoparefheadlastlistmakepairpushranksizesorttailabortapplybreakcurryerrorfirstfloorrangeroundthirdunionalwayscerrorchooselogandlogiorlognotlogxormodulorcurryreduceremovesecondrX   valuesvectorceilingcomposeconjoindisjoinelementlimitedreduce1reverseidentitynegativetruncate	dimension	remainderr:   
complement
dimensions
initializeconcatenateintersectionadd!any?odd?even?fill!sort!zero?empty?every?floor/map-asone-ofround/add-newlogbit?member?remove!add-new!ceiling/false-orfind-keykey-testmap-intopop-lastreverse!subtype?	choose-by	instance?	integral?	negative?	positive?	push-last	truncate/
add-method
check-type
type-unionaref-setterdo-handlersfind-methodhead-setterlast-setternext-methodobject-hashremove-key!size-settertail-setteras-lowercaseas-uppercasefirst-setterkey-sequenceobject-classreturn-queryshallow-copythird-setteras-lowercase!as-uppercase!copy-sequenceremove-methodrestart-querysecond-settertype-for-copyconcatenate-aselement-settertable-protocoldefault-handlerreturn-allowed?row-major-indexall-superclassesmerge-hash-codestype-error-valuedirect-subclassesremove-duplicatesreplace-elements!slot-initialized?applicable-method?function-argumentsremove-duplicates!return-descriptiondirect-superclassesreplace-subsequence!subsequence-positionfunction-specializersfunction-return-valuescondition-format-stringgeneric-function-methodstype-error-expected-typesorted-applicable-methodscondition-format-argumentsforward-iteration-protocolbackward-iteration-protocol#generic-function-mandatory-keywordsz\\?[\w!&*<>|^$%@\-+~?/=]+c              #     #    [         R                  " X5       H  u  p#nU[        L a  UR                  5       nXPR                  ;   a  U[        R
                  U4v   ME  XPR                  ;   a  U[        U4v   Ma  XPR                  ;   a  U[        R
                  U4v   M  XPR                  ;   a  U[        U4v   M  X#U4v   M     g 7f)N)r   get_tokens_unprocessedr   lowerbuiltinsBuiltinkeywordsr   	functions	operatorsr
   )selftextindextokenvaluelowercase_values         (lib/third_party/pygments/lexers/dylan.pyr
  !DylanLexer.get_tokens_unprocessed^   s     #-#D#DT#PE%}"'++-"mm3u44"mm3%//"nn4u44"nn4500%% $Qs   CC\s+z//.*?\nz)([a-z0-9-]+)(:)([ \t]*)(.*(?:\n[ \t].+)*)code(//.*?)(\n)z/\*comment"stringz/'(\\.|\\[0-7]{1,3}|\\x[a-f0-9]{1,2}|[^\\\'\n])'z#b[01]+z#o[0-7]+z0[-+]?(\d*\.\d+(e[-+]?\d+)?|\d+(\.\d*)?e[-+]?\d+)z[-+]?\d+z#x[0-9a-f]+z(\?z6)(:)(token|name|variable|expression|body|case-body|\*)z9(\?)(:)(token|name|variable|expression|body|case-body|\*)z\?z,(=>|::|#\(|#\[|##|\?\?|\?=|\?|[(){}\[\],.;])z:=z#[tf]z#"r*   z#[a-z0-9-]+:rb   rd   z\*z\$z[^*/]+z#pushz\*/z#popz[*/]z[^\\"]+z,\\([\\abfnrtv"\']|x[a-f0-9]{2,4}|[0-7]{1,3})z	[^\\"\n]+z\\\nz\\)rootr  r  r*   r   N)1__name__
__module____qualname____firstlineno____doc__nameurlaliases	filenames	mimetypesre
IGNORECASEflagsr  r  r  r  
valid_namer
  r   r	   Singler   r   	Attributer
   r   r   	MultilineCharr   BinOctFloatIntegerHexTagr  r   r   Symbolr   ClassVariableGlobalConstantEscapetokens__static_attributes__r!      r  r   r      s    D
%CiG.I IMME>HHI"IH 1J&* Z  ( ::vFH FO
 Z  XgnnjAB W&&	2 68$?M $ &**% A&,,O &..) VZZ( j  $C C8T\\:< J8T\\:<Z* =kJ H w FMM9- W% #w' :#TZZ0 Z%')=)=> Z/ EC
J ))*W&&0W&&/g''(	
 6==&)'

 66"<fmmL6"fFO
ycFrB  r   c            
           \ rS rSrSrSrSS/rSS/rS/r\	R                  rS	S
\4S\" \R                  \5      4S\" \R"                  \\\5      4/0rSrg)r      zN
For Dylan LID (Library Interchange Definition) files.

.. versionadded:: 1.6
DylanLIDz	dylan-lidlidz*.lidz*.hdpztext/x-dylan-lidr   r  r  z"(.*?)(:)([ \t]*)(.*(?:\n[ \t].+)*)r!  N)r"  r#  r$  r%  r&  r'  r)  r*  r+  r,  r-  r.  r   r   r	   r0  r   r1  r
   r   r@  rA  r!  rB  r  r   r      s~     DE"G'"I#$IMME 	Z  XgnnjAB 3dnnh
FCE

FrB  r   c                   ^    \ rS rSrSrSrSS/rS/rS/rSr	\
R                  " S	5      rS
 rSrg)r      zp
For Dylan interactive console output.

This is based on a copy of the RubyConsoleLexer.

.. versionadded:: 1.6
zDylan sessionzdylan-consolez
dylan-replz*.dylan-consoleztext/x-dylan-consolezdylan-console/consolez\?| c           	   #   h  #    [        S0 U R                  D6nSn/ n[        R                  " U5       H  nUR	                  5       nU R
                  R                  U5      nUbJ  UR                  5       nUR                  [        U5      S[        R                  US U 4/45        X6US  -  nM{  U(       a'  [        UUR                  U5      5       S h  vN   Sn/ nUR                  5       [        R                  U4v   M     U(       a$  [        UUR                  U5      5       S h  vN   g g  N[ N7f)N r   r!  )r   optionsr   finditergroup
_prompt_rematchrC   appendlenr   Promptr   r
  startOutput)	r  r  dylexercurcode
insertionsrO  linemrC   s	            r  r
  (DylanConsoleLexer.get_tokens_unprocessed  s(    ,t||,
%%d+E;;=D%%d+A}eeg!!3w<%&Tc
$C#D#F G:%,Z-4-K-KG-T V V V G!#JkkmW^^T99 , $Z%,%C%CG%LN N N VNs%   CD2D.AD2'D0(D20D2r!  N)r"  r#  r$  r%  r&  r'  r)  r*  r+  _exampler,  compilerN  r
  rA  r!  rB  r  r   r      sA     D-G"#I'(I&HG$JNrB  r   )r&  r,  pygments.lexerr   r   r   r   r   r   pygments.tokenr	   r
   r   r   r   r   r   r   r   r   __all__r   r   r   r!  rB  r  <module>r`     sX    
 6 6 6 ?~ ~BJ :&N &NrB  