
    Mh$                         d 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dgZ G d de          Z G d de          ZdS )	z
    pygments.lexers.smalltalk
    ~~~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for Smalltalk and related languages.

    :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )
RegexLexerincludebygroupsdefault)TextCommentOperatorKeywordNameStringNumberPunctuationSmalltalkLexerNewspeakLexerc                      e Zd ZdZdZdZdgZg dZdgZdZ	d e
eeee          f ed	           ed
           ed          d e
eej        e          f ed          defdefgd e
ej        eej                  fd e
ej        e          fd e
ej        eej        e          fg ed
          d e
eeej                  fdedf ed          gdedfdej        dfdej        dfdedfdedfg ed
          defdej        fdefdej        fdej        dfgdej        d f ed!          gdej        df ed!          gd"efd#efgd$ed%fd&edfd'ej        j        dfd(ej        dfd)ej        dfd*ej        df ed+          gd,edf ed
          d-ej        dfd.ej        fd/edfd0ej        dfd1ej        fd2ej        dfd3edfd4efd5efd6edfgd7efd8efd9 e
eej        eeeee          fd: e
eej        eee          fd; e
ej        eej        eeeeeeeee          fd< e
ej        eee          fd= e
eee          fd,efgd>Zd?S )@r   zf
    For Smalltalk syntax.
    Contributed by Stefan Matthias Aust.
    Rewritten by Nils Winter.
    	Smalltalkzhttp://www.smalltalk.org/z*.st)	smalltalksqueakstztext/x-smalltalkz0.10z(<)(\w+:)(.*?)(>)squeak fileoutwhitespacesmethod definitionz(\|)([\w\s]*)(\|)objectsz	\^|\:=|\_z
[\]({}.;!]z([a-zA-Z]+\w*:)(\s*)(\w+)z^(\b[a-zA-Z]+\w*\b)(\s*)$z'^([-+*/\\~<>=|&!?,@%]+)(\s*)(\w+)(\s*)$z(:)(\s*)(\w+)z\|z#popz'(''|[^'])*'afterobject\$.z#\(parenthz\)z(\d+r)?-?\d+(\.\d+)?(e-?\d+)?z[-+*/\\~<>=|&#!?,@%\w:]+z#*\(inner_parenth)rootr   _parenth_helper\s+z"(""|[^"])*"z\[blockvariablesz\]z+\b(self|super|true|false|nil|thisContext)\bz\b[A-Z]\w*(?!:)\bz\b[a-z]\w*(?!:)\bz+#("(""|[^"])*"|[-+*/\\~<>=|&!?,@%]+|[\w:]+)literalsz! !$z8\b(ifTrue:|ifFalse:|whileTrue:|whileFalse:|timesRepeat:)z\b(new\b(?!:))z\:=|\_z\b[a-zA-Z]+\w*:z\b[a-zA-Z]+\w*z\w+:?|[-+*/\\~<>=|&!?,@%]+z\.;z[\])}]z[\[({]z^"(""|[^"])*"!z^'(''|[^'])*'!z7^(!)(\w+)( commentStamp: )(.*?)( prior: .*?!\n)(.*?)(!)z9^(!)(\w+(?: class)?)( methodsFor: )('(?:''|[^'])*')(.*?!)z^(\w+)( subclass: )(#\w+)(\s+instanceVariableNames: )(.*?)(\s+classVariableNames: )(.*?)(\s+poolDictionaries: )(.*?)(\s+category: )(.*?)(!)z5^(\w+(?: class)?)(\s+instanceVariableNames: )(.*?)(!)z(!\n)(\].*)(! !)$)r   r   r!   r"   r   r   r   r   r   r   r   N)__name__
__module____qualname____doc__nameurl	filenamesaliases	mimetypesversion_addedr   r   r
   r   r	   r   VariableFunctionr   r   CharSymbolr   r   BuiltinPseudoClassr   tokens     Y/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pygments/lexers/smalltalk.pyr   r      s        
 D
%CI+++G#$IM "88D'4#F#FGG$%%GM""G'((!88HdmX#N#NOGI8$D!

 *XdmT4=99;)88DM4+H+HI7XdmT4=$??A
 GM""Xhdm446Hf%GFOO
 fm4V[-0V]I.D-(-v}E
 GM""-v6(&-8f%V[!fm_5
 FM#:;G%&&	
 FM6*G%&&
 TNg&
 D*+D-(;\ -1!4:}=!4=-@;]M+GJ

 gv&GM""H\6#-&)7.*DM6BK(;f%
" ((G$*gvwgVVXI$*gvwGGI(
 WfmWfg&'67L LM FWfg>>@!88GT7#C#CDg%
ki iFFFr7   c                      e Zd ZdZdZdZdgZdgZdgZdZ	de
j        fd	efd
 ee
j        eej        e          fde
fd eej        eej                  fd eej        ee          fdej        f ed           ed          g	dej        fdej        fdej        fd eej        e          fdej        fdej        fdefdefdefdefdef ed           ed          gdefd	efdej        fdej        fd ej        fgd!efd"efgd#Zd$S )%r   z
    For Newspeak syntax.
    Newspeakzhttp://newspeaklanguage.org/z*.ns2newspeakztext/x-newspeakz1.1z\b(Newsqueak2)\bz'[^']*'z\b(class)(\s+)(\w+)(\s*)z>\b(mixin|self|super|private|public|protected|nil|true|false)\bz(\w+\:)(\s*)([a-zA-Z_]\w+)z(\w+)(\s*)(=)z<\w+>expressionstat
whitespacez(\d+\.\d*|\.\d+|\d+[fF])[fF]?z\d+z:\w+z	(\w+)(::)z\w+:z\w+z\(|\)z\[|\]z\{|\}z)(\^|\+|\/|~|\*|<|>|=|@|%|\||&|\?|!|,|-|:)z\.|;r"   r   z#'[^']*'z#\w+:?z&#(\+|\/|~|\*|<|>|=|@|%|\||&|\?|!|,|-)+r    z"[^"]*")r   r<   r"   r=   N)r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r
   Declarationr   r   r   r   r4   r/   r.   	Attributer	   r   Specialr   r   FloatIntegerr   r1   r5   r6   r7   r8   r   r      s         D
(C	InG"#IM !'"56 (Xg)4TBBDN*XdmT4=99;XdndH557w'G$%%GL!!
" .v|<V^$dm$88DM8<<=dm$T]#{#{#{#98Dk"GL!!GJ
" V &-(&6F
 TN!
Q, ,FFFr7   N)r'   pygments.lexerr   r   r   r   pygments.tokenr   r   r	   r
   r   r   r   r   __all__r   r   r6   r7   r8   <module>rF      s    B A A A A A A A A A A A                    _
-v v v v vZ v v vr7 7 7 7 7J 7 7 7 7 7r7   