jg v S r SSKrSSKJrJrJrJrJr SSKJ r J
r
JrJrJ
r
JrJrJrJrJrJr SSKJr SSKJrJr / SQr " S S \5 r " S
S\5 r " S S
\5 r " S S\5 r " S S\5 r " S S\5 r " S S\5 r " S S\5 r! " S S\5 r" " S S\5 r# " S S\5 r$g)z
pygments.lexers.lisp
~~~~~~~~~~~~~~~~~~~~
Lexers for Lispy languages.
:copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
N)
RegexLexerincludebygroupswordsdefault)TextCommentOperatorKeywordNameStringNumberPunctuationLiteralError
Whitespace)PythonLexer)scheme_keywordsscheme_builtins)SchemeLexerCommonLispLexerHyLexerRacketLexerNewLispLexerEmacsLispLexer ShenLexer CPSALexerXtlangLexerFennelLexer
JanetLexerc ^ \ rS rSrSrSrSrSS/rSS/rS S
/r Sr
\R \R - rSrS
rU 4S jr0 rS H r\S:X a SrSrO \S:X a SrSrO\S:X a SrSrO
\S:X a SrSrS\ S\ S3rS\ S\ S 3r\S:X a S!rS"\ S#\ S$3rS%rS&\ S'\ S(3rS\ S)\ S*\ S+\ S,\ S-3rS.\ S/\ S0\ S13r\\\' M S2 r\" S35 /\" S45 /S5\R@ 4S6\RB S74S8\S94S:\S;4S<\4S=\"4\S \#RH S>4\S \#RJ S>4\S \S>4\S \#RL S>4S?\'S@4SA\- \'RP S>4SB\- \)RT S>4SC\'RV S>4SD\,RZ S>4SE\.4SF\- \,R^ S>4SG\- \,R^ S>4SH\- \,R` S>4\\,R^ S>4SI\1S34SJ\1SK4/S6\RB SL4SM\RB S>4SN\RB 4SO\RB 4/SI\SL4SJ\S>4SP\4/SQ\ 3\S>4/S?\'SR4SS\'Rd 4ST\'Rd 4SU\'Rd 4SV\'Rd 4SW\'Rd 4SX\'4/SY.r3SZr4U =r5$ )[r z
A Scheme lexer.
This parser is checked with pastes from the LISP pastebin
at http://paste.lisp.org/ to cover as much syntax as possible.
It supports the full Scheme syntax as defined in R5RS.
Schemezhttp://www.scheme-reports.org/schemescmz*.scmz*.ssz
text/x-schemezapplication/x-schemez0.6[\w!$%&*+,/:<=>?@^~|-]+z
(?=
\s # whitespace
| ; # comment
| \#[;|!] # fancy comments
| [)\]] # end delimiters
| $ # end of file
)
c # ># [ TU ] U5 Hr u p#nU[ R L d U[ R L a@ U[
; a
U[ U4v MC U[ ; a U[ R U4v Md X#U4v Ml X#U4v Mt g 7fN) superget_tokens_unprocessedr FunctionVariabler r r Builtin)selftextindextokenvalue __class__s G/usr/lib/rads/venv/lib/python3.13/site-packages/pygments/lexers/lisp.pyr* "SchemeLexer.get_tokens_unprocessed= s{ #(7#A$#GE%
%$--)?O+%//o-u44--E)) $Hs BB
)
r6 z[01]z
( \#[bB] )r7 z[0-7]z
( \#[oO] )r8 z[0-9]z
( (\#[dD])? )r9 z[0-9a-fA-F]z
( \#[xX] )z
(
z$ (\#[iIeE])?
| \#[iIeE] z
)
z+
( / z+ )?
)
a
(
# Decimal part
(
[0-9]+ ([.][0-9]*)?
| [.][0-9]+
)
# Optional exponent
(
[eEsSfFdDlL] [+-]? [0-9]+
)?
# Optional mantissa width
(
\|[0-9]+
)?
)
z!
(
z (?!/)
| z
)
z
(nan.0|inf.0)z
(
[+-] z' # Sign mandatory
| [+-]? z( # Sign optional
)
z
? [+-] (|z)? i
| z (@ z)?
)
z(?x)
(
z
z
)
# Need to ensure we have a full token. 1+ is not a
# number followed by something else, but a function
# name.
z
c # # SUR 5 ; a [ R nO[ R nUR 5 X!R 5 4v g 7f)N.)groupr FloatIntegerstart)r. match
token_types r4
decimal_cbSchemeLexer.decimal_cb s<