o
    ůh$                     @   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   V/var/www/Befach/backend/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