Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  lisp.py   Sprache: Python

 
"""
    pygments.lexers.lisp
    ~~~~~~~~~~~~~~~~~~~~

    Lexers for Lispy languages.

    :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
"""

import re

from pygments.lexer import RegexLexer, include, bygroups, words, default
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
    Number, Punctuation, Literal, Error, Whitespace

from pygments.lexers.python import PythonLexer

from pygments.lexers._scheme_builtins import scheme_keywords, scheme_builtins

__all__ = ['SchemeLexer''CommonLispLexer''HyLexer''RacketLexer',
           'NewLispLexer''EmacsLispLexer''ShenLexer''CPSALexer',
           'XtlangLexer''FennelLexer''JanetLexer']


class SchemeLexer(RegexLexer):
    """
    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.
    """
    name = 'Scheme'
    url = 'http://www.scheme-reports.org/'
    aliases = ['scheme''scm']
    filenames = ['*.scm''*.ss']
    mimetypes = ['text/x-scheme''application/x-scheme']
    version_added = '0.6'

    flags = re.DOTALL | re.MULTILINE

    # valid names for identifiers
    # well, names can only not consist fully of numbers
    # but this should be good enough for now
    valid_name = r'[\w!$%&*+,/:<=>?@^~|-]+'

    # Use within verbose regexes
    token_end = r'''
      (?=
        \s         # whitespace
        | ;        # comment
        | \#[;|!] # fancy comments
        | [)\]]    # end delimiters
        | $        # end of file
      )
    '''

    # Recognizing builtins.
    def get_tokens_unprocessed(self, text):
        for index, token, value in super().get_tokens_unprocessed(text):
            if token is Name.Function or token is Name.Variable:
                if value in scheme_keywords:
                    yield index, Keyword, value
                elif value in scheme_builtins:
                    yield index, Name.Builtin, value
                else:
                    yield index, token, value
            else:
                yield index, token, value

    # Scheme has funky syntactic rules for numbers. These are all
    # valid number literals: 5.0e55|14, 14/13, -1+5j, +1@5, #b110,
    # #o#Iinf.0-nan.0i.  This is adapted from the formal grammar given
    # in http://www.r6rs.org/final/r6rs.pdf, section 4.2.1.  Take a
    # deep breath ...

    # It would be simpler if we could just not bother about invalid
    # numbers like #b35. But we cannot parse 'abcdef' without #x as a
    # number.

    number_rules = {}
    for base in (2, 8, 10, 16):
        if base == 2:
            digit = r'[01]'
            radix = r'( \#[bB] )'
        elif base == 8:
            digit = r'[0-7]'
            radix = r'( \#[oO] )'
        elif base == 10:
            digit = r'[0-9]'
            radix = r'( (\#[dD])? )'
        elif base == 16:
            digit = r'[0-9a-fA-F]'
            radix = r'( \#[xX] )'

        # Radix, optional exactness indicator.
        prefix = rf'''
          (
            {radix} (\#[iIeE])?
            | \#[iIeE] {radix}
          )
        '''

        # Simple unsigned number or fraction.
        ureal = rf'''
          (
            {digit}+
            ( / {digit}+ )?
          )
        '''

        # Add decimal numbers.
        if base == 10:
            decimal = r'''
              (
                # Decimal part
                (
                  [0-9]+ ([.][0-9]*)?
                  | [.][0-9]+
                )

                # Optional exponent
                (
                  [eEsSfFdDlL] [+-]? [0-9]+
                )?

                # Optional mantissa width
                (
                  \|[0-9]+
                )?
              )
            '''
            ureal = rf'''
              (
                {decimal} (?!/)
                | {ureal}
              )
            '''

        naninf = r'(nan.0|inf.0)'

        real = rf'''
          (
            [+-] {naninf}  # Sign mandatory
            | [+-]? {ureal}    # Sign optional
          )
        '''

        complex_ = rf'''
          (
            {real}?  [+-]  ({naninf}|{ureal})?  i
            | {real} (@ {real})?

          )
        '''

        num = rf'''(?x)
          (
            {prefix}
            {complex_}
          )
          # Need to ensure we have a full token. 1+ is not a
          # number followed by something else, but a function
          # name.
          {token_end}
        '''

        number_rules[base] = num

    # If you have a headache now, say thanks to RnRS editors.

    # Doing it this way is simpler than splitting the number(10)
    # regex in a floating-point and a no-floating-point version.
    def decimal_cb(self, match):
        if '.' in match.group():
            token_type = Number.Float # includes [+-](inf|nan).0
        else:
            token_type = Number.Integer
        yield match.start(), token_type, match.group()

    # --

    # The 'scheme-root' state parses as many expressions as needed, always
    # delegating to the 'scheme-value' state. The latter parses one complete
    # expression and immediately pops back. This is needed for the LilyPondLexer.
    # When LilyPond encounters a #, it starts parsing embedded Scheme code, and
    # returns to normal syntax after one expression. We implement this
    # by letting the LilyPondLexer subclass the SchemeLexer. When it finds
    # the #, the LilyPondLexer goes to the 'value' state, which then pops back
    # to LilyPondLexer. The 'root' state of the SchemeLexer merely delegates the
    # work to 'scheme-root'; this is so that LilyPondLexer can inherit
    # 'scheme-root' and redefine 'root'.

    tokens = {
        'root': [
            default('scheme-root'),
        ],
        'scheme-root': [
            default('value'),
        ],
        'value': [
            # the comments
            # and going to the end of the line
            (r';.*?$', Comment.Single),
            # multi-line comment
            (r'#\|', Comment.Multiline, 'multiline-comment'),
            # commented form (entire sexpr following)
            (r'#;[([]', Comment, 'commented-form'),
            # commented datum
            (r'#;', Comment, 'commented-datum'),
            # signifies that the program text that follows is written with the
            # lexical and datum syntax described in r6rs
            (r'#!r6rs', Comment),

            # whitespaces - usually not relevant
            (r'\s+', Whitespace),

            # numbers
            (number_rules[2], Number.Bin, '#pop'),
            (number_rules[8], Number.Oct, '#pop'),
            (number_rules[10], decimal_cb, '#pop'),
            (number_rules[16], Number.Hex, '#pop'),

            # strings, symbols, keywords and characters
            (r'"', String, 'string'),
            (r"'" + valid_name, String.Symbol, "#pop"),
            (r'#:' + valid_name, Keyword.Declaration, '#pop'),
            (r"#\\([()/'\"._!§$%& ?=+-]|[a-zA-Z0-9]+)", String.Char, "#pop"),

            # constants
            (r'(#t|#f)', Name.Constant, '#pop'),

            # special operators
            (r"('|#|`|,@|,|\.)", Operator),

            # first variable in a quoted string like
            # '(this is syntactic sugar)
            (r"(?<='\()" + valid_name, Name.Variable, '#pop'),
            (r"(?<=#\()" + valid_name, Name.Variable, '#pop'),

            # Functions -- note that this also catches variables
            # defined in let/let*, but there is little that can
            # be done about it.
            (r'(?<=\()' + valid_name, Name.Function, '#pop'),

            # find the remaining variables
            (valid_name, Name.Variable, '#pop'),

            # the famous parentheses!

            # Push scheme-root to enter a state that will parse as many things
            # as needed in the parentheses.
            (r'[([]', Punctuation, 'scheme-root'),
            # Pop one 'value', one 'scheme-root', and yet another 'value', so
            # we get back to a state parsing expressions as needed in the
            # enclosing context.
            (r'[)\]]', Punctuation, '#pop:3'),
        ],
        'multiline-comment': [
            (r'#\|', Comment.Multiline, '#push'),
            (r'\|#', Comment.Multiline, '#pop'),
            (r'[^|#]+', Comment.Multiline),
            (r'[|#]', Comment.Multiline),
        ],
        'commented-form': [
            (r'[([]', Comment, '#push'),
            (r'[)\]]', Comment, '#pop'),
            (r'[^()[\]]+', Comment),
        ],
        'commented-datum': [
            (rf'(?x).*?{token_end}', Comment, '#pop'),
        ],
        'string': [
            # Pops back from 'string', and pops 'value' as well.
            ('"', String, '#pop:2'),
            # Hex escape sequences, R6RS-style.
            (r'\\x[0-9a-fA-F]+;', String.Escape),
            # We try R6RS style first, but fall back to Guile-style.
            (r'\\x[0-9a-fA-F]{2}', String.Escape),
            # Other special escape sequences implemented by Guile.
            (r'\\u[0-9a-fA-F]{4}', String.Escape),
            (r'\\U[0-9a-fA-F]{6}', String.Escape),
            # Escape sequences are not overly standardized. Recognizing
            # a single character after the backslash should be good enough.
            # NB: we have DOTALL.
            (r'\\.', String.Escape),
            # The rest
            (r'[^\\"]+', String),
        ]
    }


class CommonLispLexer(RegexLexer):
    """
    A Common Lisp lexer.
    """
    name = 'Common Lisp'
    url = 'https://lisp-lang.org/'
    aliases = ['common-lisp''cl''lisp']
    filenames = ['*.cl''*.lisp']
    mimetypes = ['text/x-common-lisp']
    version_added = '0.9'

    flags = re.IGNORECASE | re.MULTILINE

    # couple of useful regexes

    # characters that are not macro-characters and can be used to begin a symbol
    nonmacro = r'\\.|[\w!$%&*+-/<=>?@\[\]^{}~]'
    constituent = nonmacro + '|[#.:]'
    terminated = r'(?=[ "()\'\n,;`])' # whitespace or terminating macro characters

    # symbol token, reverse-engineered from hyperspec
    # Take a deep breath...
    symbol = rf'(\|[^|]+\||(?:{nonmacro})(?:{constituent})*)'

    def __init__(self, **options):
        from pygments.lexers._cl_builtins import BUILTIN_FUNCTIONS, \
            SPECIAL_FORMS, MACROS, LAMBDA_LIST_KEYWORDS, DECLARATIONS, \
            BUILTIN_TYPES, BUILTIN_CLASSES
        self.builtin_function = BUILTIN_FUNCTIONS
        self.special_forms = SPECIAL_FORMS
        self.macros = MACROS
        self.lambda_list_keywords = LAMBDA_LIST_KEYWORDS
        self.declarations = DECLARATIONS
        self.builtin_types = BUILTIN_TYPES
        self.builtin_classes = BUILTIN_CLASSES
        RegexLexer.__init__(self, **options)

    def get_tokens_unprocessed(self, text):
        stack = ['root']
        for index, token, value in RegexLexer.get_tokens_unprocessed(self, text, stack):
            if token is Name.Variable:
                if value in self.builtin_function:
                    yield index, Name.Builtin, value
                    continue
                if value in self.special_forms:
                    yield index, Keyword, value
                    continue
                if value in self.macros:
                    yield index, Name.Builtin, value
                    continue
                if value in self.lambda_list_keywords:
                    yield index, Keyword, value
                    continue
                if value in self.declarations:
                    yield index, Keyword, value
                    continue
                if value in self.builtin_types:
                    yield index, Keyword.Type, value
                    continue
                if value in self.builtin_classes:
                    yield index, Name.Class, value
                    continue
            yield index, token, value

    tokens = {
        'root': [
            default('body'),
        ],
        'multiline-comment': [
            (r'#\|', Comment.Multiline, '#push'), # (cf. Hyperspec 2.4.8.19)
            (r'\|#', Comment.Multiline, '#pop'),
            (r'[^|#]+', Comment.Multiline),
            (r'[|#]', Comment.Multiline),
        ],
        'commented-form': [
            (r'\(', Comment.Preproc, '#push'),
            (r'\)', Comment.Preproc, '#pop'),
            (r'[^()]+', Comment.Preproc),
        ],
        'body': [
            # whitespace
            (r'\s+', Whitespace),

            # single-line comment
            (r';.*$', Comment.Single),

            # multi-line comment
            (r'#\|', Comment.Multiline, 'multiline-comment'),

            # encoding comment (?)
            (r'#\d*Y.*$', Comment.Special),

            # strings and characters
            (r'"(\\.|\\\n|[^"\\])*"', String),
            # quoting
            (r":" + symbol, String.Symbol),
            (r"::" + symbol, String.Symbol),
            (r":#" + symbol, String.Symbol),
            (r"'" + symbol, String.Symbol),
            (r"'", Operator),
            (r"`", Operator),

            # decimal numbers
            (r'[-+]?\d+\.?' + terminated, Number.Integer),
            (r'[-+]?\d+/\d+' + terminated, Number),
            (r'[-+]?(\d*\.\d+([defls][-+]?\d+)?|\d+(\.\d*)?[defls][-+]?\d+)' +
             terminated, Number.Float),

            # sharpsign strings and characters
            (r"#\\." + terminated, String.Char),
            (r"#\\" + symbol, String.Char),

            # vector
            (r'#\(', Operator, 'body'),

            # bitstring
            (r'#\d*\*[01]*', Literal.Other),

            # uninterned symbol
            (r'#:' + symbol, String.Symbol),

            # read-time and load-time evaluation
            (r'#[.,]', Operator),

            # function shorthand
            (r'#\'', Name.Function),

            # binary rational
            (r'#b[+-]?[01]+(/[01]+)?', Number.Bin),

            # octal rational
            (r'#o[+-]?[0-7]+(/[0-7]+)?', Number.Oct),

            # hex rational
            (r'#x[+-]?[0-9a-f]+(/[0-9a-f]+)?', Number.Hex),

            # radix rational
            (r'#\d+r[+-]?[0-9a-z]+(/[0-9a-z]+)?', Number),

            # complex
            (r'(#c)(\()', bygroups(Number, Punctuation), 'body'),

            # array
            (r'(#\d+a)(\()', bygroups(Literal.Other, Punctuation), 'body'),

            # structure
            (r'(#s)(\()', bygroups(Literal.Other, Punctuation), 'body'),

            # path
            (r'#p?"(\\.|[^"])*"', Literal.Other),

            # reference
            (r'#\d+=', Operator),
            (r'#\d+#', Operator),

            # read-time comment
            (r'#+nil' + terminated + r'\s*\(', Comment.Preproc, 'commented-form'),

            # read-time conditional
            (r'#[+-]', Operator),

            # special operators that should have been parsed already
            (r'(,@|,|\.)', Operator),

            # special constants
            (r'(t|nil)' + terminated, Name.Constant),

            # functions and variables
            (r'\*' + symbol + r'\*', Name.Variable.Global),
            (symbol, Name.Variable),

            # parentheses
            (r'\(', Punctuation, 'body'),
            (r'\)', Punctuation, '#pop'),
        ],
    }

    def analyse_text(text):
        """Competes with Visual Prolog on *.cl"""
        # This is a *really* good indicator (and not conflicting with Visual Prolog)
        # '(defun ' first on a line
        # section keyword alone on line e.g. 'clauses'
        if re.search(r'^\s*\(defun\s', text):
            return 0.8
        else:
            return 0


class HyLexer(RegexLexer):
    """
    Lexer for Hy source code.
    """
    name = 'Hy'
    url = 'http://hylang.org/'
    aliases = ['hylang''hy']
    filenames = ['*.hy']
    mimetypes = ['text/x-hy''application/x-hy']
    version_added = '2.0'

    special_forms = (
        'cond''for''->''->>''car',
        'cdr''first''rest''let''when''unless',
        'import''do''progn''get''slice''assoc''with-decorator',
        ',''list_comp''kwapply''~''is''in''is-not''not-in',
        'quasiquote''unquote''unquote-splice''quote''|''<<=''>>=',
        'foreach''while',
        'eval-and-compile''eval-when-compile'
    )

    declarations = (
        'def''defn''defun''defmacro''defclass''lambda''fn''setv'
    )

    hy_builtins = ()

    hy_core = (
        'cycle''dec''distinct''drop''even?''filter''inc',
        'instance?''iterable?''iterate''iterator?''neg?',
        'none?''nth''numeric?''odd?''pos?''remove''repeat',
        'repeatedly''take''take_nth''take_while''zero?'
    )

    builtins = hy_builtins + hy_core

    # valid names for identifiers
    # well, names can only not consist fully of numbers
    # but this should be good enough for now
    valid_name = r"[^ \t\n\r\f\v()[\]{};\"'`~]+"

    def _multi_escape(entries):
        return words(entries, suffix=' ')

    tokens = {
        'root': [
            # the comments - always starting with semicolon
            # and going to the end of the line
            (r';.*$', Comment.Single),

            # whitespaces - usually not relevant
            (r'[ \t\n\r\f\v]+', Whitespace),

            # numbers
            (r'-?\d+\.\d+', Number.Float),
            (r'-?\d+', Number.Integer),
            (r'0[0-7]+j?', Number.Oct),
            (r'0[xX][a-fA-F0-9]+', Number.Hex),

            # strings, symbols and characters
            (r'"(\\\\|\\[^\\]|[^"\\])*"', String),
            (r"'" + valid_name, String.Symbol),
            (r"\\(.|[a-z]+)", String.Char),
            (r'^(\s*)([rRuU]{,2}"""(?:.|\n)*?""")', bygroups(Text, String.Doc)),
            (r"^(\s*)([rRuU]{,2}'''(?:.|\n)*?''')", bygroups(Text, String.Doc)),

            # keywords
            (r'::?' + valid_name, String.Symbol),

            # special operators
            (r'~@|[`\'#^~&@]', Operator),

            include('py-keywords'),
            include('py-builtins'),

            # highlight the special forms
            (_multi_escape(special_forms), Keyword),

            # Technically, only the special forms are 'keywords'. The problem
            # is that only treating them as keywords means that things like
            # 'defn' and 'ns' need to be highlighted as builtins. This is ugly
            # and weird for most styles. So, as a compromise we're going to
            # highlight them as Keyword.Declarations.
            (_multi_escape(declarations), Keyword.Declaration),

            # highlight the builtins
            (_multi_escape(builtins), Name.Builtin),

            # the remaining functions
            (r'(?<=\()' + valid_name, Name.Function),

            # find the remaining variables
            (valid_name, Name.Variable),

            # Hy accepts vector notation
            (r'(\[|\])', Punctuation),

            # Hy accepts map notation
            (r'(\{|\})', Punctuation),

            # the famous parentheses!
            (r'(\(|\))', Punctuation),

        ],
        'py-keywords': PythonLexer.tokens['keywords'],
        'py-builtins': PythonLexer.tokens['builtins'],
    }

    def analyse_text(text):
        if '(import ' in text or '(defn ' in text:
            return 0.9


class RacketLexer(RegexLexer):
    """
    Lexer for Racket source code (formerly
    known as PLT Scheme).
    """

    name = 'Racket'
    url = 'http://racket-lang.org/'
    aliases = ['racket''rkt']
    filenames = ['*.rkt''*.rktd''*.rktl']
    mimetypes = ['text/x-racket''application/x-racket']
    version_added = '1.6'

    # Generated by example.rkt
    _keywords = (
        '#%app', '#%datum', '#%declare', '#%expression', '#%module-begin',
        '#%plain-app', '#%plain-lambda', '#%plain-module-begin',
        '#%printing-module-begin', '#%provide', '#%require',
        '#%stratified-body', '#%top', '#%top-interaction',
        '#%variable-reference', '->', '->*', '->*m', '->d', '->dm', '->i',
        '->m''...'':do-in''==''=>''_''absent''abstract',
        'all-defined-out''all-from-out''and''any''augment''augment*',
        'augment-final''augment-final*''augride''augride*''begin',
        'begin-for-syntax''begin0''case''case->''case->m',
        'case-lambda''class''class*''class-field-accessor',
        'class-field-mutator''class/c''class/derived''combine-in',
        'combine-out''command-line''compound-unit''compound-unit/infer',
        'cond''cons/dc''contract''contract-out''contract-struct',
        'contracted''define''define-compound-unit',
        'define-compound-unit/infer''define-contract-struct',
        'define-custom-hash-types''define-custom-set-types',
        'define-for-syntax''define-local-member-name''define-logger',
        'define-match-expander''define-member-name',
        'define-module-boundary-contract''define-namespace-anchor',
        'define-opt/c''define-sequence-syntax''define-serializable-class',
        'define-serializable-class*''define-signature',
        'define-signature-form''define-struct''define-struct/contract',
        'define-struct/derived''define-syntax''define-syntax-rule',
        'define-syntaxes''define-unit''define-unit-binding',
        'define-unit-from-context''define-unit/contract',
        'define-unit/new-import-export''define-unit/s''define-values',
        'define-values-for-export''define-values-for-syntax',
        'define-values/invoke-unit''define-values/invoke-unit/infer',
        'define/augment''define/augment-final''define/augride',
        'define/contract''define/final-prop''define/match',
        'define/overment''define/override''define/override-final',
        'define/private''define/public''define/public-final',
        'define/pubment''define/subexpression-pos-prop',
        'define/subexpression-pos-prop/name''delay''delay/idle',
        'delay/name''delay/strict''delay/sync''delay/thread''do',
        'else''except''except-in''except-out''export''extends',
        'failure-cont''false''false/c''field''field-bound?''file',
        'flat-murec-contract''flat-rec-contract''for''for*''for*/and',
        'for*/async''for*/first''for*/fold''for*/fold/derived',
        'for*/hash''for*/hasheq''for*/hasheqv''for*/last''for*/list',
        'for*/lists''for*/mutable-set''for*/mutable-seteq',
        'for*/mutable-seteqv''for*/or''for*/product''for*/set',
        'for*/seteq''for*/seteqv''for*/stream''for*/sum''for*/vector',
        'for*/weak-set''for*/weak-seteq''for*/weak-seteqv''for-label',
        'for-meta''for-syntax''for-template''for/and''for/async',
        'for/first''for/fold''for/fold/derived''for/hash''for/hasheq',
        'for/hasheqv''for/last''for/list''for/lists''for/mutable-set',
        'for/mutable-seteq''for/mutable-seteqv''for/or''for/product',
        'for/set''for/seteq''for/seteqv''for/stream''for/sum',
        'for/vector''for/weak-set''for/weak-seteq''for/weak-seteqv',
        'gen:custom-write''gen:dict''gen:equal+hash''gen:set',
        'gen:stream''generic''get-field''hash/dc''if''implies',
        'import''include''include-at/relative-to',
        'include-at/relative-to/reader''include/reader''inherit',
        'inherit-field''inherit/inner''inherit/super''init',
        'init-depend''init-field''init-rest''inner''inspect',
        'instantiate''interface''interface*''invariant-assertion',
        'invoke-unit''invoke-unit/infer''lambda''lazy''let''let*',
        'let*-values''let-syntax''let-syntaxes''let-values''let/cc',
        'let/ec''letrec''letrec-syntax''letrec-syntaxes',
        'letrec-syntaxes+values''letrec-values''lib''link''local',
        'local-require''log-debug''log-error''log-fatal''log-info',
        'log-warning''match''match*''match*/derived''match-define',
        'match-define-values''match-lambda''match-lambda*',
        'match-lambda**''match-let''match-let*''match-let*-values',
        'match-let-values''match-letrec''match-letrec-values',
        'match/derived''match/values''member-name-key''mixin''module',
        'module*''module+''nand''new''nor''object-contract',
        'object/c''only''only-in''only-meta-in''open''opt/c''or',
        'overment''overment*''override''override*''override-final',
        'override-final*''parameterize''parameterize*',
        'parameterize-break''parametric->/c''place''place*',
        'place/context''planet''prefix''prefix-in''prefix-out',
        'private''private*''prompt-tag/c''protect-out''provide',
        'provide-signature-elements''provide/contract''public''public*',
        'public-final''public-final*''pubment''pubment*''quasiquote',
        'quasisyntax''quasisyntax/loc''quote''quote-syntax',
        'quote-syntax/prune''recontract-out''recursive-contract',
        'relative-in''rename''rename-in''rename-inner''rename-out',
        'rename-super''require''send''send*''send+''send-generic',
        'send/apply''send/keyword-apply''set!''set!-values',
        'set-field!''shared''stream''stream*''stream-cons''struct',
        'struct*''struct-copy''struct-field-index''struct-out',
        'struct/c''struct/ctc''struct/dc''submod''super',
        'super-instantiate''super-make-object''super-new''syntax',
        'syntax-case''syntax-case*''syntax-id-rules''syntax-rules',
        'syntax/loc''tag''this''this%''thunk''thunk*''time',
        'unconstrained-domain->''unit''unit-from-context''unit/c',
        'unit/new-import-export''unit/s''unless''unquote',
        'unquote-splicing''unsyntax''unsyntax-splicing''values/drop',
        'when''with-continuation-mark''with-contract',
        'with-contract-continuation-mark''with-handlers''with-handlers*',
        'with-method''with-syntax''λ'
    )

    # Generated by example.rkt
    _builtins = (
        '*''*list/c''+''-''/''<'', '<=''<=/c''=''=/c',
        '>''>/c''>=''>=/c''abort-current-continuation''abs',
        'absolute-path?''acos''add-between''add1''alarm-evt',
        'always-evt''and/c''andmap''angle''any/c''append''append*',
        'append-map''apply''argmax''argmin''arithmetic-shift',
        'arity-at-least''arity-at-least-value''arity-at-least?',
        'arity-checking-wrapper''arity-includes?''arity=?',
        'arrow-contract-info''arrow-contract-info-accepts-arglist',
        'arrow-contract-info-chaperone-procedure',
        'arrow-contract-info-check-first-order''arrow-contract-info?',
        'asin''assf''assoc''assq''assv''atan',
        'bad-number-of-results''banner''base->-doms/c''base->-rngs/c',
        'base->?''between/c''bitwise-and''bitwise-bit-field',
        'bitwise-bit-set?''bitwise-ior''bitwise-not''bitwise-xor',
        'blame-add-car-context''blame-add-cdr-context''blame-add-context',
        'blame-add-missing-party''blame-add-nth-arg-context',
        'blame-add-range-context''blame-add-unknown-context',
        'blame-context''blame-contract''blame-fmt->-string',
        'blame-missing-party?''blame-negative''blame-original?',
        'blame-positive''blame-replace-negative''blame-source',
        'blame-swap''blame-swapped?''blame-update''blame-value',
        'blame?''boolean=?''boolean?''bound-identifier=?''box',
        'box-cas!''box-immutable''box-immutable/c''box/c''box?',
        'break-enabled''break-parameterization?''break-thread',
        'build-chaperone-contract-property''build-compound-type-name',
        'build-contract-property''build-flat-contract-property',
        'build-list''build-path''build-path/convention-type',
        'build-string''build-vector''byte-pregexp''byte-pregexp?',
        'byte-ready?''byte-regexp''byte-regexp?''byte?''bytes',
        'bytes->immutable-bytes''bytes->list''bytes->path',
        'bytes->path-element''bytes->string/latin-1''bytes->string/locale',
        'bytes->string/utf-8''bytes-append''bytes-append*',
        'bytes-close-converter''bytes-convert''bytes-convert-end',
        'bytes-converter?''bytes-copy''bytes-copy!',
        'bytes-environment-variable-name?''bytes-fill!''bytes-join',
        'bytes-length''bytes-no-nuls?''bytes-open-converter''bytes-ref',
        'bytes-set!''bytes-utf-8-index''bytes-utf-8-length',
        'bytes-utf-8-ref''bytes'bytes=?''bytes>?''bytes?''caaaar',
        'caaadr''caaar''caadar''caaddr''caadr''caar''cadaar',
        'cadadr''cadar''caddar''cadddr''caddr''cadr',
        'call-in-nested-thread''call-with-atomic-output-file',
        'call-with-break-parameterization',
        'call-with-composable-continuation''call-with-continuation-barrier',
        'call-with-continuation-prompt''call-with-current-continuation',
        'call-with-default-reading-parameterization',
        'call-with-escape-continuation''call-with-exception-handler',
        'call-with-file-lock/timeout''call-with-immediate-continuation-mark',
        'call-with-input-bytes''call-with-input-file',
        'call-with-input-file*''call-with-input-string',
        'call-with-output-bytes''call-with-output-file',
        'call-with-output-file*''call-with-output-string',
        'call-with-parameterization''call-with-semaphore',
        'call-with-semaphore/enable-break''call-with-values''call/cc',
        'call/ec''car''cartesian-product''cdaaar''cdaadr''cdaar',
        'cdadar''cdaddr''cdadr''cdar''cddaar''cddadr''cddar',
        'cdddar''cddddr''cdddr''cddr''cdr''ceiling''channel-get',
        'channel-put''channel-put-evt''channel-put-evt?',
        'channel-try-get''channel/c''channel?''chaperone-box',
        'chaperone-channel''chaperone-continuation-mark-key',
        'chaperone-contract-property?''chaperone-contract?''chaperone-evt',
        'chaperone-hash''chaperone-hash-set''chaperone-of?',
        'chaperone-procedure''chaperone-procedure*''chaperone-prompt-tag',
        'chaperone-struct''chaperone-struct-type''chaperone-vector',
        'chaperone?''char->integer''char-alphabetic?''char-blank?',
        'char-ci<=?''char-ci'char-ci=?''char-ci>=?''char-ci>?',
        'char-downcase''char-foldcase''char-general-category',
        'char-graphic?''char-in''char-in/c''char-iso-control?',
        'char-lower-case?''char-numeric?''char-punctuation?',
        'char-ready?''char-symbolic?''char-title-case?''char-titlecase',
        'char-upcase''char-upper-case?''char-utf-8-length',
        'char-whitespace?''char<=?''char'char=?''char>=?''char>?',
        'char?''check-duplicate-identifier''check-duplicates',
        'checked-procedure-check-and-extract''choice-evt',
        'class->interface''class-info''class-seal''class-unseal',
        'class?''cleanse-path''close-input-port''close-output-port',
        'coerce-chaperone-contract''coerce-chaperone-contracts',
        'coerce-contract''coerce-contract/f''coerce-contracts',
        'coerce-flat-contract''coerce-flat-contracts''collect-garbage',
        'collection-file-path''collection-path''combinations''compile',
        'compile-allow-set!-undefined''compile-context-preservation-enabled',
        'compile-enforce-module-constants''compile-syntax',
        'compiled-expression-recompile''compiled-expression?',
        'compiled-module-expression?''complete-path?''complex?''compose',
        'compose1''conjoin''conjugate''cons''cons/c''cons?''const',
        'continuation-mark-key/c''continuation-mark-key?',
        'continuation-mark-set->context''continuation-mark-set->list',
        'continuation-mark-set->list*''continuation-mark-set-first',
        'continuation-mark-set?''continuation-marks',
        'continuation-prompt-available?''continuation-prompt-tag?',
        'continuation?''contract-continuation-mark-key',
        'contract-custom-write-property-proc''contract-exercise',
        'contract-first-order''contract-first-order-passes?',
        'contract-late-neg-projection''contract-name''contract-proc',
        'contract-projection''contract-property?',
        'contract-random-generate''contract-random-generate-fail',
        'contract-random-generate-fail?',
        'contract-random-generate-get-current-environment',
        'contract-random-generate-stash''contract-random-generate/choose',
        'contract-stronger?''contract-struct-exercise',
        'contract-struct-generate''contract-struct-late-neg-projection',
        'contract-struct-list-contract?''contract-val-first-projection',
        'contract?''convert-stream''copy-directory/files''copy-file',
        'copy-port''cos''cosh''count''current-blame-format',
        'current-break-parameterization''current-code-inspector',
        'current-command-line-arguments''current-compile',
        'current-compiled-file-roots''current-continuation-marks',
        'current-contract-region''current-custodian''current-directory',
        'current-directory-for-user''current-drive',
        'current-environment-variables''current-error-port''current-eval',
        'current-evt-pseudo-random-generator',
        'current-force-delete-permissions''current-future',
        'current-gc-milliseconds''current-get-interaction-input-port',
        'current-inexact-milliseconds''current-input-port',
        'current-inspector''current-library-collection-links',
        'current-library-collection-paths''current-load',
        'current-load-extension''current-load-relative-directory',
        'current-load/use-compiled''current-locale''current-logger',
        'current-memory-use''current-milliseconds',
        'current-module-declare-name''current-module-declare-source',
        'current-module-name-resolver''current-module-path-for-load',
        'current-namespace''current-output-port''current-parameterization',
        'current-plumber''current-preserved-thread-cell-values',
        'current-print''current-process-milliseconds''current-prompt-read',
        'current-pseudo-random-generator''current-read-interaction',
        'current-reader-guard''current-readtable''current-seconds',
        'current-security-guard''current-subprocess-custodian-mode',
        'current-thread''current-thread-group',
        'current-thread-initial-stack-size',
        'current-write-relative-directory''curry''curryr',
        'custodian-box-value''custodian-box?''custodian-limit-memory',
        'custodian-managed-list''custodian-memory-accounting-available?',
        'custodian-require-memory''custodian-shutdown-all''custodian?',
        'custom-print-quotable-accessor''custom-print-quotable?',
        'custom-write-accessor''custom-write-property-proc''custom-write?',
        'date''date*''date*-nanosecond''date*-time-zone-name''date*?',
        'date-day''date-dst?''date-hour''date-minute''date-month',
        'date-second''date-time-zone-offset''date-week-day''date-year',
        'date-year-day''date?''datum->syntax''datum-intern-literal',
        'default-continuation-prompt-tag''degrees->radians',
        'delete-directory''delete-directory/files''delete-file',
        'denominator''dict->list''dict-can-functional-set?',
        'dict-can-remove-keys?''dict-clear''dict-clear!''dict-copy',
        'dict-count''dict-empty?''dict-for-each''dict-has-key?',
        'dict-implements/c''dict-implements?''dict-iter-contract',
        'dict-iterate-first''dict-iterate-key''dict-iterate-next',
        'dict-iterate-value''dict-key-contract''dict-keys''dict-map',
        'dict-mutable?''dict-ref''dict-ref!''dict-remove',
        'dict-remove!''dict-set''dict-set!''dict-set*''dict-set*!',
        'dict-update''dict-update!''dict-value-contract''dict-values',
        'dict?''directory-exists?''directory-list''disjoin''display',
        'display-lines''display-lines-to-file''display-to-file',
        'displayln''double-flonum?''drop''drop-common-prefix',
        'drop-right''dropf''dropf-right''dump-memory-stats',
        'dup-input-port''dup-output-port''dynamic->*''dynamic-get-field',
        'dynamic-object/c''dynamic-place''dynamic-place*',
        'dynamic-require''dynamic-require-for-syntax''dynamic-send',
        'dynamic-set-field!''dynamic-wind''eighth''empty',
        'empty-sequence''empty-stream''empty?',
        'environment-variables-copy''environment-variables-names',
        'environment-variables-ref''environment-variables-set!',
        'environment-variables?''eof''eof-evt''eof-object?',
        'ephemeron-value''ephemeron?''eprintf''eq-contract-val',
        'eq-contract?''eq-hash-code''eq?''equal-contract-val',
        'equal-contract?''equal-hash-code''equal-secondary-hash-code',
        'equal<%>''equal?''equal?/recur''eqv-hash-code''eqv?''error',
        'error-display-handler''error-escape-handler',
        'error-print-context-length''error-print-source-location',
        'error-print-width''error-value->string-handler''eval',
        'eval-jit-enabled''eval-syntax''even?''evt/c''evt?',
        'exact->inexact''exact-ceiling''exact-floor''exact-integer?',
        'exact-nonnegative-integer?''exact-positive-integer?''exact-round',
        'exact-truncate''exact?''executable-yield-handler''exit',
        'exit-handler''exn''exn-continuation-marks''exn-message',
        'exn:break''exn:break-continuation''exn:break:hang-up',
        'exn:break:hang-up?''exn:break:terminate''exn:break:terminate?',
        'exn:break?''exn:fail''exn:fail:contract',
        'exn:fail:contract:arity''exn:fail:contract:arity?',
        'exn:fail:contract:blame''exn:fail:contract:blame-object',
        'exn:fail:contract:blame?''exn:fail:contract:continuation',
        'exn:fail:contract:continuation?''exn:fail:contract:divide-by-zero',
        'exn:fail:contract:divide-by-zero?',
        'exn:fail:contract:non-fixnum-result',
        'exn:fail:contract:non-fixnum-result?''exn:fail:contract:variable',
        'exn:fail:contract:variable-id''exn:fail:contract:variable?',
        'exn:fail:contract?''exn:fail:filesystem',
        'exn:fail:filesystem:errno''exn:fail:filesystem:errno-errno',
        'exn:fail:filesystem:errno?''exn:fail:filesystem:exists',
        'exn:fail:filesystem:exists?''exn:fail:filesystem:missing-module',
        'exn:fail:filesystem:missing-module-path',
        'exn:fail:filesystem:missing-module?''exn:fail:filesystem:version',
        'exn:fail:filesystem:version?''exn:fail:filesystem?',
        'exn:fail:network''exn:fail:network:errno',
        'exn:fail:network:errno-errno''exn:fail:network:errno?',
        'exn:fail:network?''exn:fail:object''exn:fail:object?',
        'exn:fail:out-of-memory''exn:fail:out-of-memory?''exn:fail:read',
        'exn:fail:read-srclocs''exn:fail:read:eof''exn:fail:read:eof?',
        'exn:fail:read:non-char''exn:fail:read:non-char?''exn:fail:read?',
        'exn:fail:syntax''exn:fail:syntax-exprs',
        'exn:fail:syntax:missing-module',
        'exn:fail:syntax:missing-module-path',
        'exn:fail:syntax:missing-module?''exn:fail:syntax:unbound',
        'exn:fail:syntax:unbound?''exn:fail:syntax?''exn:fail:unsupported',
        'exn:fail:unsupported?''exn:fail:user''exn:fail:user?',
        'exn:fail?''exn:misc:match?''exn:missing-module-accessor',
        'exn:missing-module?''exn:srclocs-accessor''exn:srclocs?''exn?',
        'exp''expand''expand-once''expand-syntax''expand-syntax-once',
        'expand-syntax-to-top-form''expand-to-top-form''expand-user-path',
        'explode-path''expt''externalizable<%>''failure-result/c',
        'false?''field-names''fifth''file->bytes''file->bytes-lines',
        'file->lines''file->list''file->string''file->value',
        'file-exists?''file-name-from-path''file-or-directory-identity',
        'file-or-directory-modify-seconds''file-or-directory-permissions',
        'file-position''file-position*''file-size',
        'file-stream-buffer-mode''file-stream-port?''file-truncate',
        'filename-extension''filesystem-change-evt',
        'filesystem-change-evt-cancel''filesystem-change-evt?',
        'filesystem-root-list''filter''filter-map''filter-not',
        'filter-read-input-port''find-executable-path''find-files',
        'find-library-collection-links''find-library-collection-paths',
        'find-relative-path''find-system-path''findf''first',
        'first-or/c''fixnum?''flat-contract''flat-contract-predicate',
        'flat-contract-property?''flat-contract?''flat-named-contract',
        'flatten''floating-point-bytes->real''flonum?''floor',
        'flush-output''fold-files''foldl''foldr''for-each''force',
        'format''fourth''fprintf''free-identifier=?',
        'free-label-identifier=?''free-template-identifier=?',
        'free-transformer-identifier=?''fsemaphore-count''fsemaphore-post',
        'fsemaphore-try-wait?''fsemaphore-wait''fsemaphore?''future',
        'future?''futures-enabled?''gcd''generate-member-key',
        'generate-temporaries''generic-set?''generic?''gensym',
        'get-output-bytes''get-output-string''get-preference',
        'get/build-late-neg-projection''get/build-val-first-projection',
        'getenv''global-port-print-handler''group-by''group-execute-bit',
        'group-read-bit''group-write-bit''guard-evt''handle-evt',
        'handle-evt?''has-blame?''has-contract?''hash''hash->list',
        'hash-clear''hash-clear!''hash-copy''hash-copy-clear',
        'hash-count''hash-empty?''hash-eq?''hash-equal?''hash-eqv?',
        'hash-for-each''hash-has-key?''hash-iterate-first',
        'hash-iterate-key''hash-iterate-key+value''hash-iterate-next',
        'hash-iterate-pair''hash-iterate-value''hash-keys''hash-map',
        'hash-placeholder?''hash-ref''hash-ref!''hash-remove',
        'hash-remove!''hash-set''hash-set!''hash-set*''hash-set*!',
        'hash-update''hash-update!''hash-values''hash-weak?''hash/c',
        'hash?''hasheq''hasheqv''identifier-binding',
        'identifier-binding-symbol''identifier-label-binding',
        'identifier-prune-lexical-context',
        'identifier-prune-to-source-module',
        'identifier-remove-from-definition-context',
        'identifier-template-binding''identifier-transformer-binding',
        'identifier?''identity''if/c''imag-part''immutable?',
        'impersonate-box''impersonate-channel',
        'impersonate-continuation-mark-key''impersonate-hash',
        'impersonate-hash-set''impersonate-procedure',
        'impersonate-procedure*''impersonate-prompt-tag',
        'impersonate-struct''impersonate-vector''impersonator-contract?',
        'impersonator-ephemeron''impersonator-of?',
        'impersonator-prop:application-mark''impersonator-prop:blame',
        'impersonator-prop:contracted',
        'impersonator-property-accessor-procedure?''impersonator-property?',
        'impersonator?''implementation?''implementation?/c''in-bytes',
        'in-bytes-lines''in-combinations''in-cycle''in-dict',
        'in-dict-keys''in-dict-pairs''in-dict-values''in-directory',
        'in-hash''in-hash-keys''in-hash-pairs''in-hash-values',
        'in-immutable-hash''in-immutable-hash-keys',
        'in-immutable-hash-pairs''in-immutable-hash-values',
        'in-immutable-set''in-indexed''in-input-port-bytes',
        'in-input-port-chars''in-lines''in-list''in-mlist',
        'in-mutable-hash''in-mutable-hash-keys''in-mutable-hash-pairs',
        'in-mutable-hash-values''in-mutable-set''in-naturals',
        'in-parallel''in-permutations''in-port''in-producer''in-range',
        'in-sequences''in-set''in-slice''in-stream''in-string',
        'in-syntax''in-value''in-values*-sequence''in-values-sequence',
        'in-vector''in-weak-hash''in-weak-hash-keys''in-weak-hash-pairs',
        'in-weak-hash-values''in-weak-set''inexact->exact',
        'inexact-real?''inexact?''infinite?''input-port-append',
        'input-port?''inspector?''instanceof/c''integer->char',
        'integer->integer-bytes''integer-bytes->integer''integer-in',
        'integer-length''integer-sqrt''integer-sqrt/remainder''integer?',
        'interface->method-names''interface-extension?''interface?',
        'internal-definition-context-binding-identifiers',
        'internal-definition-context-introduce',
        'internal-definition-context-seal''internal-definition-context?',
        'is-a?''is-a?/c''keyword->string''keyword-apply''keyword,
        'keyword?''keywords-match''kill-thread''last''last-pair',
        'lcm''length''liberal-define-context?''link-exists?''list',
        'list*''list*of''list->bytes''list->mutable-set',
        'list->mutable-seteq''list->mutable-seteqv''list->set',
        'list->seteq''list->seteqv''list->string''list->vector',
        'list->weak-set''list->weak-seteq''list->weak-seteqv',
        'list-contract?''list-prefix?''list-ref''list-set''list-tail',
        'list-update''list/c''list?''listen-port-number?''listof',
        'load''load-extension''load-on-demand-enabled''load-relative',
        'load-relative-extension''load/cd''load/use-compiled',
        'local-expand''local-expand/capture-lifts',
        'local-transformer-expand''local-transformer-expand/capture-lifts',
        'locale-string-encoding''log''log-all-levels''log-level-evt',
        'log-level?''log-max-level''log-message''log-receiver?',
        'logger-name''logger?''magnitude''make-arity-at-least',
        'make-base-empty-namespace''make-base-namespace''make-bytes',
        'make-channel''make-chaperone-contract',
        'make-continuation-mark-key''make-continuation-prompt-tag',
        'make-contract''make-custodian''make-custodian-box',
        'make-custom-hash''make-custom-hash-types''make-custom-set',
        'make-custom-set-types''make-date''make-date*',
        'make-derived-parameter''make-directory''make-directory*',
        'make-do-sequence''make-empty-namespace',
        'make-environment-variables''make-ephemeron''make-exn',
        'make-exn:break''make-exn:break:hang-up''make-exn:break:terminate',
        'make-exn:fail''make-exn:fail:contract',
        'make-exn:fail:contract:arity''make-exn:fail:contract:blame',
        'make-exn:fail:contract:continuation',
        'make-exn:fail:contract:divide-by-zero',
        'make-exn:fail:contract:non-fixnum-result',
        'make-exn:fail:contract:variable''make-exn:fail:filesystem',
        'make-exn:fail:filesystem:errno''make-exn:fail:filesystem:exists',
        'make-exn:fail:filesystem:missing-module',
        'make-exn:fail:filesystem:version''make-exn:fail:network',
        'make-exn:fail:network:errno''make-exn:fail:object',
        'make-exn:fail:out-of-memory''make-exn:fail:read',
        'make-exn:fail:read:eof''make-exn:fail:read:non-char',
        'make-exn:fail:syntax''make-exn:fail:syntax:missing-module',
        'make-exn:fail:syntax:unbound''make-exn:fail:unsupported',
        'make-exn:fail:user''make-file-or-directory-link',
        'make-flat-contract''make-fsemaphore''make-generic',
        'make-handle-get-preference-locked''make-hash',
        'make-hash-placeholder''make-hasheq''make-hasheq-placeholder',
        'make-hasheqv''make-hasheqv-placeholder',
        'make-immutable-custom-hash''make-immutable-hash',
        'make-immutable-hasheq''make-immutable-hasheqv',
        'make-impersonator-property''make-input-port',
        'make-input-port/read-to-peek''make-inspector',
        'make-keyword-procedure''make-known-char-range-list',
        'make-limited-input-port''make-list''make-lock-file-name',
        'make-log-receiver''make-logger''make-mixin-contract',
        'make-mutable-custom-set''make-none/c''make-object',
        'make-output-port''make-parameter''make-parent-directory*',
        'make-phantom-bytes''make-pipe''make-pipe-with-specials',
        'make-placeholder''make-plumber''make-polar''make-prefab-struct',
        'make-primitive-class''make-proj-contract',
        'make-pseudo-random-generator''make-reader-graph''make-readtable',
        'make-rectangular''make-rename-transformer',
        'make-resolved-module-path''make-security-guard''make-semaphore',
        'make-set!-transformer''make-shared-bytes''make-sibling-inspector',
        'make-special-comment''make-srcloc''make-string',
        'make-struct-field-accessor''make-struct-field-mutator',
        'make-struct-type''make-struct-type-property',
        'make-syntax-delta-introducer''make-syntax-introducer',
        'make-temporary-file''make-tentative-pretty-print-output-port',
        'make-thread-cell''make-thread-group''make-vector',
        'make-weak-box''make-weak-custom-hash''make-weak-custom-set',
        'make-weak-hash''make-weak-hasheq''make-weak-hasheqv',
        'make-will-executor''map''match-equality-test',
        'matches-arity-exactly?''max''mcar''mcdr''mcons''member',
        'member-name-key-hash-code''member-name-key=?''member-name-key?',
        'memf''memq''memv''merge-input''method-in-interface?''min',
        'mixin-contract''module->exports''module->imports',
        'module->language-info''module->namespace',
        'module-compiled-cross-phase-persistent?''module-compiled-exports',
        'module-compiled-imports''module-compiled-language-info',
        'module-compiled-name''module-compiled-submodules',
        'module-declared?''module-path-index-join',
        'module-path-index-resolve''module-path-index-split',
        'module-path-index-submodule''module-path-index?''module-path?',
        'module-predefined?''module-provide-protected?''modulo''mpair?',
        'mutable-set''mutable-seteq''mutable-seteqv''n->th',
        'nack-guard-evt''namespace-anchor->empty-namespace',
        'namespace-anchor->namespace''namespace-anchor?',
        'namespace-attach-module''namespace-attach-module-declaration',
        'namespace-base-phase''namespace-mapped-symbols',
        'namespace-module-identifier''namespace-module-registry',
        'namespace-require''namespace-require/constant',
        'namespace-require/copy''namespace-require/expansion-time',
        'namespace-set-variable-value!''namespace-symbol->identifier',
        'namespace-syntax-introduce''namespace-undefine-variable!',
        'namespace-unprotect-module''namespace-variable-value''namespace?',
        'nan?''natural-number/c''negate''negative?''never-evt',
        'new-∀/c''new-∃/c''newline''ninth''non-empty-listof',
        'non-empty-string?''none/c''normal-case-path''normalize-arity',
        'normalize-path''normalized-arity?''not''not/c''null''null?',
        'number->string''number?''numerator''object%''object->vector',
        'object-info''object-interface''object-method-arity-includes?',
        'object-name''object-or-false=?''object=?''object?''odd?',
        'one-of/c''open-input-bytes''open-input-file',
        'open-input-output-file''open-input-string''open-output-bytes',
        'open-output-file''open-output-nowhere''open-output-string',
        'or/c''order-of-magnitude''ormap''other-execute-bit',
        'other-read-bit''other-write-bit''output-port?''pair?',
        'parameter-procedure=?''parameter/c''parameter?',
        'parameterization?''parse-command-line''partition''path->bytes',
        'path->complete-path''path->directory-path''path->string',
        'path-add-suffix''path-convention-type''path-element->bytes',
        'path-element->string''path-element?''path-for-some-system?',
        'path-list-string->path-list''path-only''path-replace-suffix',
        'path-string?''path'path?''pathlist-closure''peek-byte',
        'peek-byte-or-special''peek-bytes''peek-bytes!''peek-bytes!-evt',
        'peek-bytes-avail!''peek-bytes-avail!*''peek-bytes-avail!-evt',
        'peek-bytes-avail!/enable-break''peek-bytes-evt''peek-char',
        'peek-char-or-special''peek-string''peek-string!',
        'peek-string!-evt''peek-string-evt''peeking-input-port',
        'permutations''phantom-bytes?''pi''pi.f''pipe-content-length',
        'place-break''place-channel''place-channel-get',
        'place-channel-put''place-channel-put/get''place-channel?',
        'place-dead-evt''place-enabled?''place-kill''place-location?',
        'place-message-allowed?''place-sleep''place-wait''place?',
        'placeholder-get''placeholder-set!''placeholder?',
        'plumber-add-flush!''plumber-flush-all',
        'plumber-flush-handle-remove!''plumber-flush-handle?''plumber?',
        'poll-guard-evt''port->bytes''port->bytes-lines''port->lines',
        'port->list''port->string''port-closed-evt''port-closed?',
        'port-commit-peeked''port-count-lines!''port-count-lines-enabled',
        'port-counts-lines?''port-display-handler''port-file-identity',
        'port-file-unlock''port-next-location''port-number?',
        'port-print-handler''port-progress-evt',
        'port-provides-progress-evts?''port-read-handler',
        'port-try-file-lock?''port-write-handler''port-writes-atomic?',
        'port-writes-special?''port?''positive?''predicate/c',
        'prefab-key->struct-type''prefab-key?''prefab-struct-key',
        'preferences-lock-file-mode''pregexp''pregexp?''pretty-display',
        'pretty-format''pretty-print''pretty-print-.-symbol-without-bars',
        'pretty-print-abbreviate-read-macros''pretty-print-columns',
        'pretty-print-current-style-table''pretty-print-depth',
        'pretty-print-exact-as-decimal''pretty-print-extend-style-table',
        'pretty-print-handler''pretty-print-newline',
        'pretty-print-post-print-hook''pretty-print-pre-print-hook',
        'pretty-print-print-hook''pretty-print-print-line',
        'pretty-print-remap-stylable''pretty-print-show-inexactness',
        'pretty-print-size-hook''pretty-print-style-table?',
        'pretty-printing''pretty-write''primitive-closure?',
        'primitive-result-arity''primitive?''print''print-as-expression',
        'print-boolean-long-form''print-box''print-graph',
        'print-hash-table''print-mpair-curly-braces',
        'print-pair-curly-braces''print-reader-abbreviations',
        'print-struct''print-syntax-width''print-unreadable',
        'print-vector-length''printable/c''printable<%>''printf',
        'println''procedure->method''procedure-arity',
        'procedure-arity-includes/c''procedure-arity-includes?',
        'procedure-arity?''procedure-closure-contents-eq?',
        'procedure-extract-target''procedure-keywords',
        'procedure-reduce-arity''procedure-reduce-keyword-arity',
        'procedure-rename''procedure-result-arity''procedure-specialize',
        'procedure-struct-type?''procedure?''process''process*',
        'process*/ports''process/ports''processor-count''progress-evt?',
        'promise-forced?''promise-running?''promise/c''promise/name?',
        'promise?''prop:arity-string''prop:arrow-contract',
        'prop:arrow-contract-get-info''prop:arrow-contract?''prop:blame',
        'prop:chaperone-contract''prop:checked-procedure''prop:contract',
        'prop:contracted''prop:custom-print-quotable''prop:custom-write',
        'prop:dict''prop:dict/contract''prop:equal+hash''prop:evt',
        'prop:exn:missing-module''prop:exn:srclocs',
        'prop:expansion-contexts''prop:flat-contract',
        'prop:impersonator-of''prop:input-port',
        'prop:liberal-define-context''prop:object-name',
        'prop:opt-chaperone-contract''prop:opt-chaperone-contract-get-test',
        'prop:opt-chaperone-contract?''prop:orc-contract',
        'prop:orc-contract-get-subcontracts''prop:orc-contract?',
        'prop:output-port''prop:place-location''prop:procedure',
        'prop:recursive-contract''prop:recursive-contract-unroll',
        'prop:recursive-contract?''prop:rename-transformer''prop:sequence',
        'prop:set!-transformer''prop:stream''proper-subset?',
        'pseudo-random-generator->vector''pseudo-random-generator-vector?',
        'pseudo-random-generator?''put-preferences''putenv''quotient',
        'quotient/remainder''radians->degrees''raise',
        'raise-argument-error''raise-arguments-error''raise-arity-error',
        'raise-blame-error''raise-contract-error''raise-mismatch-error',
        'raise-not-cons-blame-error''raise-range-error',
        'raise-result-error''raise-syntax-error''raise-type-error',
        'raise-user-error''random''random-seed''range''rational?',
        'rationalize''read''read-accept-bar-quote''read-accept-box',
        'read-accept-compiled''read-accept-dot''read-accept-graph',
        'read-accept-infix-dot''read-accept-lang''read-accept-quasiquote',
        'read-accept-reader''read-byte''read-byte-or-special',
        'read-bytes''read-bytes!''read-bytes!-evt''read-bytes-avail!',
        'read-bytes-avail!*''read-bytes-avail!-evt',
        'read-bytes-avail!/enable-break''read-bytes-evt''read-bytes-line',
        'read-bytes-line-evt''read-case-sensitive''read-cdot''read-char',
        'read-char-or-special''read-curly-brace-as-paren',
        'read-curly-brace-with-tag''read-decimal-as-inexact',
        'read-eval-print-loop''read-language''read-line''read-line-evt',
        'read-on-demand-source''read-square-bracket-as-paren',
        'read-square-bracket-with-tag''read-string''read-string!',
        'read-string!-evt''read-string-evt''read-syntax',
        'read-syntax/recursive''read/recursive''readtable-mapping',
        'readtable?''real->decimal-string''real->double-flonum',
        'real->floating-point-bytes''real->single-flonum''real-in',
        'real-part''real?''reencode-input-port''reencode-output-port',
        'regexp''regexp-match''regexp-match*''regexp-match-evt',
        'regexp-match-exact?''regexp-match-peek',
        'regexp-match-peek-immediate''regexp-match-peek-positions',
        'regexp-match-peek-positions*',
        'regexp-match-peek-positions-immediate',
        'regexp-match-peek-positions-immediate/end',
        'regexp-match-peek-positions/end''regexp-match-positions',
        'regexp-match-positions*''regexp-match-positions/end',
        'regexp-match/end''regexp-match?''regexp-max-lookbehind',
        'regexp-quote''regexp-replace''regexp-replace*',
        'regexp-replace-quote''regexp-replaces''regexp-split',
        'regexp-try-match''regexp?''relative-path?''relocate-input-port',
        'relocate-output-port''remainder''remf''remf*''remove',
        'remove*''remove-duplicates''remq''remq*''remv''remv*',
        'rename-contract''rename-file-or-directory',
        'rename-transformer-target''rename-transformer?''replace-evt',
        'reroot-path''resolve-path''resolved-module-path-name',
        'resolved-module-path?''rest''reverse''round''second',
        'seconds->date''security-guard?''semaphore-peek-evt',
        'semaphore-peek-evt?''semaphore-post''semaphore-try-wait?',
        'semaphore-wait''semaphore-wait/enable-break''semaphore?',
        'sequence->list''sequence->stream''sequence-add-between',
        'sequence-andmap''sequence-append''sequence-count',
        'sequence-filter''sequence-fold''sequence-for-each',
        'sequence-generate''sequence-generate*''sequence-length',
        'sequence-map''sequence-ormap''sequence-ref''sequence-tail',
        'sequence/c''sequence?''set''set!-transformer-procedure',
        'set!-transformer?''set->list''set->stream''set-add''set-add!',
        'set-box!''set-clear''set-clear!''set-copy''set-copy-clear',
        'set-count''set-empty?''set-eq?''set-equal?''set-eqv?',
        'set-first''set-for-each''set-implements/c''set-implements?',
        'set-intersect''set-intersect!''set-map''set-mcar!''set-mcdr!',
        'set-member?''set-mutable?''set-phantom-bytes!',
        'set-port-next-location!''set-remove''set-remove!''set-rest',
        'set-some-basic-contracts!''set-subtract''set-subtract!',
        'set-symmetric-difference''set-symmetric-difference!''set-union',
        'set-union!''set-weak?''set/c''set=?''set?''seteq''seteqv',
        'seventh''sgn''shared-bytes''shell-execute''shrink-path-wrt',
        'shuffle''simple-form-path''simplify-path''sin',
        'single-flonum?''sinh''sixth''skip-projection-wrapper?''sleep',
        'some-system-path->string''sort''special-comment-value',
        'special-comment?''special-filter-input-port''split-at',
        'split-at-right''split-common-prefix''split-path''splitf-at',
        'splitf-at-right''sqr''sqrt''srcloc''srcloc->string',
        'srcloc-column''srcloc-line''srcloc-position''srcloc-source',
        'srcloc-span''srcloc?''stop-after''stop-before''stream->list',
        'stream-add-between''stream-andmap''stream-append''stream-count',
        'stream-empty?''stream-filter''stream-first''stream-fold',
        'stream-for-each''stream-length''stream-map''stream-ormap',
        'stream-ref''stream-rest''stream-tail''stream/c''stream?',
        'string''string->bytes/latin-1''string->bytes/locale',
        'string->bytes/utf-8''string->immutable-string''string->keyword',
        'string->list''string->number''string->path',
        'string->path-element''string->some-system-path''string->symbol',
        'string->uninterned-symbol''string->unreadable-symbol',
        'string-append''string-append*''string-ci<=?''string-ci,
        'string-ci=?''string-ci>=?''string-ci>?''string-contains?',
        'string-copy''string-copy!''string-downcase',
        'string-environment-variable-name?''string-fill!''string-foldcase',
        'string-join''string-len/c''string-length''string-locale-ci,
        'string-locale-ci=?''string-locale-ci>?''string-locale-downcase',
        'string-locale-upcase''string-locale'string-locale=?',
        'string-locale>?''string-no-nuls?''string-normalize-nfc',
        'string-normalize-nfd''string-normalize-nfkc',
        'string-normalize-nfkd''string-normalize-spaces''string-port?',
        'string-prefix?''string-ref''string-replace''string-set!',
        'string-split''string-suffix?''string-titlecase''string-trim',
        'string-upcase''string-utf-8-length''string<=?''string,
        'string=?''string>=?''string>?''string?''struct->vector',
        'struct-accessor-procedure?''struct-constructor-procedure?',
        'struct-info''struct-mutator-procedure?',
        'struct-predicate-procedure?''struct-type-info',
        'struct-type-make-constructor''struct-type-make-predicate',
        'struct-type-property-accessor-procedure?''struct-type-property/c',
        'struct-type-property?''struct-type?''struct:arity-at-least',
        'struct:arrow-contract-info''struct:date''struct:date*',
        'struct:exn''struct:exn:break''struct:exn:break:hang-up',
        'struct:exn:break:terminate''struct:exn:fail',
        'struct:exn:fail:contract''struct:exn:fail:contract:arity',
        'struct:exn:fail:contract:blame',
        'struct:exn:fail:contract:continuation',
        'struct:exn:fail:contract:divide-by-zero',
--> --------------------

--> maximum size reached

--> --------------------

Messung V0.5
C=84 H=87 G=85

¤ Dauer der Verarbeitung: 0.23 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge