U
    luf¬
  ã                   @   sV   d Z ddlmZmZ ddlmZmZmZmZm	Z	m
Z
mZmZ dgZG dd„ deƒZdS )zÐ
    pygments.lexers.snobol
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexers for the SNOBOL language.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    )Ú
RegexLexerÚbygroups)ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚSnobolLexerc                   @   sÜ   e Zd ZdZdZdgZdgZdgZdefde	dfd	efd
e
jdfde
jdfdedfgdedfdefde
jfde
fdefdefdefdejfdejfde	dfde	fgdedfdefdefdee	e
je	ƒfgdejfgdœZdS ) r   zÕ
    Lexer for the SNOBOL4 programming language.

    Recognizes the common ASCII equivalents of the original SNOBOL4 operators.
    Does not require spaces around binary operators.

    .. versionadded:: 1.5
    ZSnobolZsnobolz*.snobolztext/x-snobolz\*.*\nz[+.] Ú	statementz-.*\nzEND\s*\nÚheredocz[A-Za-z$][\w$]*z\s+z\s*\nz#popzò(?<=[^\w.])(LT|LE|EQ|NE|GE|GT|INTEGER|IDENT|DIFFER|LGT|SIZE|REPLACE|TRIM|DUPL|REMDR|DATE|TIME|EVAL|APPLY|OPSYN|LOAD|UNLOAD|LEN|SPAN|BREAK|ANY|NOTANY|TAB|RTAB|REM|POS|RPOS|FAIL|FENCE|ABORT|ARB|ARBNO|BAL|SUCCEED|INPUT|OUTPUT|TERMINAL)(?=[^\w.])z[A-Za-z][\w.]*z\*\*|[?$.!%*/#+\-@|&\\=]z"[^"]*"z'[^']*'z[0-9]+(?=[^.EeDd])z%[0-9]+(\.[0-9]*)?([EDed][-+]?[0-9]+)?ú:Úgotoz[()<>,;]z#pop:2zF|Sz(\()([A-Za-z][\w.]*)(\))z.*\n)Úrootr   r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesÚ	mimetypesr   r   r   ZLabelr   ZBuiltinr   r	   r
   ZIntegerZFloatr   r   ZHeredocÚtokens© r   r   ú:/tmp/pip-unpacked-wheel-7eq1ciah/pygments/lexers/snobol.pyr      sH   	

ú
üëÿü
ÿÒN)r   Zpygments.lexerr   r   Zpygments.tokenr   r   r   r   r   r	   r
   r   Ú__all__r   r   r   r   r   Ú<module>   s   
(