Your IP : 216.73.216.61
B
Ƚ�\�0 �
@ s d Z ddlZddlmZmZmZmZmZ ddlm Z m
Z
mZmZm
Z
mZmZmZmZmZ ddlmZ dddd d
ddd
ddg
ZG dd� de�ZG dd� de�ZG dd� de�ZG dd � d e�ZG dd
� d
e�ZG dd� de�ZG dd� de�ZG dd
� d
e�ZG dd� de�ZG dd� de�ZdS )z�
pygments.lexers.lisp
~~~~~~~~~~~~~~~~~~~~
Lexers for Lispy languages.
:copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
� N)�
RegexLexer�include�bygroups�words�default)
�Text�Comment�Operator�Keyword�Name�String�Number�Punctuation�Literal�Error)�PythonLexer�SchemeLexer�CommonLispLexer�HyLexer�RacketLexer�NewLispLexer�EmacsLispLexer� ShenLexer� CPSALexer�XtlangLexer�FennelLexerc @ sJ e Zd ZdZdZddgZddgZddgZd Zd
Z dZ
dejfd
ej
dfdedfdefdefdejfdejfdefde
ejfdejfdejfdefdd�dd� eD �� efde
ejfde
ejfd d�d!d� e D �� ejfd"e
ejfe
ejfd#efd$efgd
ej
d%fd&ej
d'fd(ej
fd)ej
fgd*ed%fd+ed'fd,efgd-�Zd.S )/r a�
A Scheme lexer, parsing a stream and outputting the tokens
needed to highlight scheme code.
This lexer could be most probably easily subclassed to parse
other LISP-Dialects like Common Lisp, Emacs Lisp or AutoLisp.
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.
.. versionadded:: 0.6
ZScheme�schemeZscmz*.scmz*.ssz
text/x-schemezapplication/x-scheme)�lambda�define�if�else�cond�and�or�case�letzlet*�letrec�begin�do�delayzset!z=>�quote�
quasiquote�unquotezunquote-splicingz
define-syntaxz
let-syntaxz
letrec-syntaxzsyntax-rules)��*�+�-�/�<z<=�=�>z>=�abs�acos�angle�append�apply�asin�assoc�assq�assv�atanzboolean?�caaaar�caaadr�caaar�caadar�caaddr�caadr�caar�cadaar�cadadr�cadar�caddar�cadddr�caddr�cadrzcall-with-current-continuationzcall-with-input-filezcall-with-output-filezcall-with-valueszcall/cc�car�cdaaar�cdaadr�cdaar�cdadar�cdaddr�cdadr�cdar�cddaar�cddadr�cddar�cdddar�cddddr�cdddr�cddr�cdr�ceilingz
char->integerzchar-alphabetic?z
char-ci<=?z char-ci<?z char-ci=?z
char-ci>=?z char-ci>?z
char-downcasezchar-lower-case?z
char-numeric?zchar-ready?zchar-upcasezchar-upper-case?zchar-whitespace?zchar<=?zchar<?zchar=?zchar>=?zchar>?zchar?zclose-input-portzclose-output-portzcomplex?�cons�coszcurrent-input-portzcurrent-output-port�denominator�displayzdynamic-windzeof-object?zeq?zequal?zeqv?�evalzeven?zexact->inexactzexact?�exp�expt�floorzfor-each�force�gcdz imag-partzinexact->exactzinexact?zinput-port?z
integer->charzinteger?zinteraction-environment�lcm�length�listzlist->stringzlist->vectorzlist-refz list-tailzlist?�load�log� magnitudez
make-polarzmake-rectangularzmake-stringzmake-vector�map�max�member�memq�memv�min�moduloz negative?�newline�notznull-environmentznull?znumber->stringznumber?� numeratorzodd?zopen-input-filezopen-output-filezoutput-port?zpair?z peek-charzport?z positive?z
procedure?�quotientz rational?�rationalize�readz read-charz real-partzreal?� remainder�reverse�roundzscheme-report-environmentzset-car!zset-cdr!�sin�sqrt�stringzstring->listzstring->numberzstring->symbolz
string-appendzstring-ci<=?zstring-ci<?zstring-ci=?zstring-ci>=?zstring-ci>?zstring-copyzstring-fill!z
string-lengthz
string-refzstring-set!z string<=?zstring<?zstring=?z string>=?zstring>?zstring?� substringzsymbol->stringzsymbol?�tanztranscript-offz
transcript-on�truncate�values�vectorzvector->listzvector-fill!z
vector-lengthz
vector-refzvector-set!zvector?zwith-input-from-filezwith-output-to-file�writez
write-charzzero?z[\w!$%&*+,/:<=>?@^~|-]+z;.*$z#\|zmultiline-commentz#;\s*\(zcommented-formz#!r6rsz\s+z
-?\d+\.\d+z-?\d+z"(\\\\|\\"|[^"])*"�'u'