o
    ¯3Ih$  ã                   @   sp   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„ deƒZG d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                   @   sŽ  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d9e
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© r4   r4   úY/home/air/sanwanet/gpt-api/venv/lib/python3.10/site-packages/pygments/lexers/smalltalk.pyr      sÊ    ÷ÿÿú
ÿû

û
ù
ü
þýÿ

ÿ÷ÿ

óÿÿÿûÿî
«c                   @   s*  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   r8   r    r9   N)r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r	   ÚDeclarationr   r   r   r
   r2   r-   r,   Ú	Attributer   r   ÚSpecialr   r   ÚFloatÚIntegerr   r/   r3   r4   r4   r4   r5   r   ‹   sd    ÿÿÿÿóòûþ
ØN)r%   Úpygments.lexerr   r   r   r   Úpygments.tokenr   r   r   r	   r
   r   r   r   Ú__all__r   r   r4   r4   r4   r5   Ú<module>   s    
(y