U
    YSh$                     @   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dddg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d0ejfd1edfd2ejdfd3ejfd4ejdfd5edfd6efd7efd8edfgd9efd:efd;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dAS )Br   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   L/root/rtd-docs/venv/lib/python3.8/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      sb   N)r%   Zpygments.lexerr   r   r   r   Zpygments.tokenr   r   r   r	   r
   r   r   r   __all__r   r   r4   r4   r4   r5   <module>   s
   
(y