
    L&i&                         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-2022 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 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d/ej        dfd0ej        fd1ej        dfd2edfd3efd4e
fd5e
dfgd6efd7efd8 e	eej        eeee
e          fd9 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   z
    For Smalltalk syntax.
    Contributed by Stefan Matthias Aust.
    Rewritten by Nils Winter.

    .. versionadded:: 0.10
    	Smalltalkzhttp://www.smalltalk.org/z*.st)	smalltalksqueakstztext/x-smalltalkz(<)(\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	mimetypesr   r   r
   r   r	   r   VariableFunctionr   r   CharSymbolr   r   BuiltinPseudoClassr   tokens     f/home/geonatureadmin/si_en_reseau/tutos/venv/lib/python3.11/site-packages/pygments/lexers/smalltalk.pyr   r      s          D
%CI+++G#$I "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FFFr6   c                      e Zd ZdZdZdZdgZdgZdg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   z9
    For Newspeak syntax.

    .. versionadded:: 1.1
    Newspeakzhttp://newspeaklanguage.org/z*.ns2newspeakztext/x-newspeakz\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
   Declarationr   r   r   r   r3   r.   r-   	Attributer	   r   Specialr   r   FloatIntegerr   r0   r4   r5   r6   r7   r   r      s        
 D
(C	InG"#I !'"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, ,FFFr6   N)r'   pygments.lexerr   r   r   r   pygments.tokenr   r   r	   r
   r   r   r   r   __all__r   r   r5   r6   r7   <module>rE      s    B A A A A A A A A A A A                    _
-w w w w wZ w w wt8 8 8 8 8J 8 8 8 8 8r6   