mirror of
https://github.com/justinethier/cyclone.git
synced 2025-05-23 20:15:05 +02:00
Fix spacing
This commit is contained in:
parent
5cb20182da
commit
2151fe3663
11 changed files with 296 additions and 0 deletions
|
@ -21,12 +21,22 @@ The `(scheme cyclone ast)` library defines abstract syntax tree types used durin
|
|||
(ast:lambda? obj)
|
||||
|
||||
# ast:lambda-id
|
||||
|
||||
(ast:lambda-id lambda-obj)
|
||||
|
||||
# ast:lambda-args
|
||||
|
||||
(ast:lambda-args lambda-obj)
|
||||
|
||||
# ast:set-lambda-args!
|
||||
|
||||
(ast:set-lambda-args! lambda-obj args)
|
||||
|
||||
# ast:lambda-body
|
||||
|
||||
(ast:lambda-body lambda-obj)
|
||||
|
||||
# ast:set-lambda-body!
|
||||
|
||||
(ast:set-lambda-body! lambda-obj body)
|
||||
|
||||
|
|
|
@ -11,23 +11,44 @@ The `(scheme cyclone cgen)` library compiles scheme code to a Cheney-on-the-MTA
|
|||
- [`string-join`](#string-join)
|
||||
|
||||
# mta:code-gen
|
||||
|
||||
(mta:code-gen input-program program? lib-name lib-exports imported-globals globals c-headers required-libs src-file)
|
||||
|
||||
Convert the given input program - as pre-processed Scheme AST - into C code. This function cannot be called directly on a Scheme program, but must be called on Scheme code that has already been processed by all of the compiler's Scheme transformations, including CPS and closure conversions.
|
||||
|
||||
# emit
|
||||
|
||||
(emit string)
|
||||
|
||||
`display` the string to the output port with a trailing newline.
|
||||
|
||||
# emit\*
|
||||
|
||||
(emit* string ...)
|
||||
|
||||
Emit all of the given strings and add a trailing newline.
|
||||
|
||||
# emits
|
||||
|
||||
(emits string)
|
||||
|
||||
`display` the string to the output port.
|
||||
|
||||
# emits\*
|
||||
|
||||
(emits* string ...)
|
||||
|
||||
Call `emits` for each of the given strings.
|
||||
|
||||
# emit-newline
|
||||
|
||||
(emit-newline)
|
||||
|
||||
`display` a newline to the current output port.
|
||||
|
||||
# string-join
|
||||
|
||||
(string-join list deliminator)
|
||||
|
||||
Create a single string from a list of strings, adding `deliminator` between each of the strings.
|
||||
|
||||
|
|
|
@ -10,14 +10,26 @@ The `(scheme cyclone common)` library contains definitions used by the compiler
|
|||
- [`*c-file-header-comment*`](#c-file-header-comment)
|
||||
|
||||
# \*Cyc-version-banner\*
|
||||
|
||||
The version banner printed when `icyc` starts.
|
||||
|
||||
# \*version\*
|
||||
|
||||
The version number and name.
|
||||
|
||||
# \*version-number\*
|
||||
|
||||
The current version number.
|
||||
|
||||
# \*version-name\*
|
||||
|
||||
The current version name.
|
||||
|
||||
# \*version-banner\*
|
||||
|
||||
The version banner printed when `icyc` starts.
|
||||
|
||||
# \*c-file-header-comment\*
|
||||
|
||||
The header comment added to C files.
|
||||
|
||||
|
|
|
@ -39,37 +39,72 @@ The `(scheme cyclone optimizations)` library performs CPS analysis and optimizat
|
|||
- [`adbf:set-unused-params!`](#adbfset-unused-params)
|
||||
|
||||
# optimize-cps
|
||||
|
||||
# analyze-cps
|
||||
|
||||
# opt:contract
|
||||
|
||||
# opt:inline-prims
|
||||
|
||||
# adb:clear!
|
||||
|
||||
# adb:get
|
||||
|
||||
# adb:get/default
|
||||
|
||||
# adb:set!
|
||||
|
||||
# adb:get-db
|
||||
|
||||
# simple-lambda?
|
||||
|
||||
# one-instance-of-new-mutable-obj?
|
||||
|
||||
# adb:make-var
|
||||
|
||||
# %adb:make-var
|
||||
|
||||
# adb:variable?
|
||||
|
||||
# adbv:global?
|
||||
|
||||
# adbv:set-global!
|
||||
|
||||
# adbv:defined-by
|
||||
|
||||
# adbv:set-defined-by!
|
||||
|
||||
# adbv:reassigned?
|
||||
|
||||
# adbv:set-reassigned!
|
||||
|
||||
# adbv:assigned-value
|
||||
|
||||
# adbv:set-assigned-value!
|
||||
|
||||
# adbv:const?
|
||||
|
||||
# adbv:set-const!
|
||||
|
||||
# adbv:const-value
|
||||
|
||||
# adbv:set-const-value!
|
||||
|
||||
# adbv:ref-by
|
||||
|
||||
# adbv:set-ref-by!
|
||||
|
||||
# adb:make-fnc
|
||||
|
||||
# %adb:make-fnc
|
||||
|
||||
# adb:function?
|
||||
|
||||
# adbf:simple
|
||||
|
||||
# adbf:set-simple!
|
||||
|
||||
# adbf:unused-params
|
||||
|
||||
# adbf:set-unused-params!
|
||||
|
||||
|
|
|
@ -29,28 +29,54 @@ The `(scheme cyclone libraries)` library implements r7rs libraries.
|
|||
- [`lib:idb:id->import`](#libidb:id-import)
|
||||
|
||||
# library?
|
||||
|
||||
(library? obj)
|
||||
|
||||
# lib:list->import-set
|
||||
|
||||
# lib:name
|
||||
|
||||
# lib:name->string
|
||||
|
||||
# lib:name->symbol
|
||||
|
||||
# lib:result
|
||||
|
||||
# lib:exports
|
||||
|
||||
# lib:rename-exports
|
||||
|
||||
# lib:imports
|
||||
|
||||
# lib:body
|
||||
|
||||
# lib:includes
|
||||
|
||||
# lib:include-c-headers
|
||||
|
||||
# lib:import->filename
|
||||
|
||||
# lib:import->metalist
|
||||
|
||||
# lib:import->path
|
||||
|
||||
# lib:read-imports
|
||||
|
||||
# lib:import->export-list
|
||||
|
||||
# lib:resolve-imports
|
||||
|
||||
# lib:resolve-meta
|
||||
|
||||
# lib:get-all
|
||||
|
||||
# lib:get-all-import-deps
|
||||
|
||||
# lib:get-dep-list
|
||||
|
||||
# lib:imports->idb
|
||||
|
||||
# lib:idb:ids
|
||||
|
||||
# lib:idb:id->import
|
||||
|
||||
|
|
|
@ -12,10 +12,18 @@ The `(scheme cyclone macro)` library contains code to deal with macros.
|
|||
- [`macro:get-defined-macros`](#macroget-defined-macros)
|
||||
|
||||
# define-syntax?
|
||||
|
||||
# macro:macro?
|
||||
|
||||
# macro:expand
|
||||
|
||||
# macro:add!
|
||||
|
||||
# macro:cleanup
|
||||
|
||||
# macro:load-env!
|
||||
|
||||
# macro:get-env
|
||||
|
||||
# macro:get-defined-macros
|
||||
|
||||
|
|
|
@ -5,6 +5,9 @@ The `(scheme cyclone pretty-print)` library provides a pretty-printer for code f
|
|||
- [`pretty-print`](#pretty-print)
|
||||
|
||||
# pretty-print
|
||||
|
||||
(pretty-print obj)
|
||||
(pretty-print obj port)
|
||||
|
||||
Outputs object to the given output port, or the current output port if none is given. The output is automatically indented just like it would be in a source code file, to make it easier to read.
|
||||
|
||||
|
|
|
@ -18,16 +18,30 @@ The `(scheme cyclone primitives)` library contains information about Cyclone's s
|
|||
- [`prim:allocates-object?)`](#primallocates-object)
|
||||
|
||||
# prim?
|
||||
|
||||
# \*primitives\*
|
||||
|
||||
# \*primitives-num-args\*
|
||||
|
||||
# prim-call?
|
||||
|
||||
# prim->c-func
|
||||
|
||||
# prim/data-arg?
|
||||
|
||||
# prim/c-var-assign
|
||||
|
||||
# prim/cvar?
|
||||
|
||||
# prim:check-arg-count
|
||||
|
||||
# prim:mutates?
|
||||
|
||||
# prim:cont?
|
||||
|
||||
# prim:cont/no-args?
|
||||
|
||||
# prim:arg-count?
|
||||
|
||||
# prim:allocates-object?)
|
||||
|
||||
|
|
|
@ -30,28 +30,54 @@ The `(scheme cyclone test)` library contains a testing framework ported from `(c
|
|||
- [`current-test-comparator`](#current-test-comparator)
|
||||
|
||||
# warning
|
||||
|
||||
# test-group-inc!
|
||||
|
||||
# print-exception
|
||||
|
||||
# test
|
||||
|
||||
# test-equal
|
||||
|
||||
# test-error
|
||||
|
||||
# test-assert
|
||||
|
||||
# test-not
|
||||
|
||||
# test-values
|
||||
|
||||
# test-group
|
||||
|
||||
# current-test-group
|
||||
|
||||
# test-begin
|
||||
|
||||
# test-end
|
||||
|
||||
# test-syntax-error
|
||||
|
||||
# test-propagate-info
|
||||
|
||||
# test-vars
|
||||
|
||||
# test-run
|
||||
|
||||
# test-exit
|
||||
|
||||
# current-test-verbosity
|
||||
|
||||
# current-test-applier
|
||||
|
||||
# current-test-handler
|
||||
|
||||
# current-test-skipper
|
||||
|
||||
# current-test-group-reporter
|
||||
|
||||
# test-failure-count
|
||||
|
||||
# current-test-epsilon
|
||||
|
||||
# current-test-comparator
|
||||
|
||||
|
|
|
@ -84,82 +84,162 @@ The `(scheme cyclone transforms)` library performs Scheme-to-Scheme transformati
|
|||
- [`wrap-mutables `](#wrap-mutables)
|
||||
|
||||
# \*defined-macros\*
|
||||
|
||||
# \*do-code-gen\*
|
||||
|
||||
# \*primitives\*
|
||||
|
||||
# \*trace-level\*
|
||||
|
||||
# alpha-convert
|
||||
|
||||
# analyze-mutable-variables
|
||||
|
||||
# app->args
|
||||
|
||||
# app->fun
|
||||
|
||||
# assq-remove-key
|
||||
|
||||
# assq-remove-keys
|
||||
|
||||
# ast:lambda-formals->list
|
||||
|
||||
# ast:lambda-formals-type
|
||||
|
||||
# azip
|
||||
|
||||
# basename
|
||||
|
||||
# begin->exps
|
||||
|
||||
# built-in-syms
|
||||
|
||||
# cell->value
|
||||
|
||||
# cell-get->cell
|
||||
|
||||
# cell-get?
|
||||
|
||||
# cell?
|
||||
|
||||
# clear-mutables
|
||||
|
||||
# closure->env
|
||||
|
||||
# closure->fv
|
||||
|
||||
# closure->lam
|
||||
|
||||
# closure-convert
|
||||
|
||||
# closure?
|
||||
|
||||
# cps-convert
|
||||
|
||||
# cyc:error
|
||||
|
||||
# define->lambda
|
||||
|
||||
# define-lambda?
|
||||
|
||||
# difference
|
||||
|
||||
# env-get->env
|
||||
|
||||
# env-get->field
|
||||
|
||||
# env-get->id
|
||||
|
||||
# env-get?
|
||||
|
||||
# env-make->fields
|
||||
|
||||
# env-make->id
|
||||
|
||||
# env-make->values
|
||||
|
||||
# env-make?
|
||||
|
||||
# expand
|
||||
|
||||
# expand-lambda-body
|
||||
|
||||
# filter-unused-variables
|
||||
|
||||
# free-vars
|
||||
|
||||
# get-macros
|
||||
|
||||
# global-vars
|
||||
|
||||
# has-global?
|
||||
|
||||
# insert
|
||||
|
||||
# is-mutable?
|
||||
|
||||
# isolate-globals
|
||||
|
||||
# lambda-num-args
|
||||
|
||||
# let->args
|
||||
|
||||
# let->bindings
|
||||
|
||||
# let->bound-vars
|
||||
|
||||
# let->exp
|
||||
|
||||
# let=>lambda
|
||||
|
||||
# let?
|
||||
|
||||
# letrec->args
|
||||
|
||||
# letrec->bindings
|
||||
|
||||
# letrec->bound-vars
|
||||
|
||||
# letrec->exp
|
||||
|
||||
# letrec?
|
||||
|
||||
# list->lambda-formals
|
||||
|
||||
# list->pair
|
||||
|
||||
# list-index
|
||||
|
||||
# mark-mutable
|
||||
|
||||
# pos-in-list
|
||||
|
||||
# precompute-prim-app?
|
||||
|
||||
# reduce
|
||||
|
||||
# remove
|
||||
|
||||
# set-cell!->cell
|
||||
|
||||
# set-cell!->value
|
||||
|
||||
# set-cell!?
|
||||
|
||||
# symbol<?
|
||||
|
||||
# trace
|
||||
|
||||
# trace:debug
|
||||
|
||||
# trace:error
|
||||
|
||||
# trace:info
|
||||
|
||||
# trace:warn
|
||||
|
||||
# union
|
||||
|
||||
# wrap-mutables
|
||||
|
||||
|
|
|
@ -65,63 +65,124 @@ The `(scheme cyclone util`) library contains various utility functions.
|
|||
- [`take `](#take)
|
||||
|
||||
# Cyc-er-compare?
|
||||
|
||||
# Cyc-er-rename
|
||||
|
||||
# app?
|
||||
|
||||
# begin?
|
||||
|
||||
# const?
|
||||
|
||||
# define->exp
|
||||
|
||||
# define->var
|
||||
|
||||
# define-c?
|
||||
|
||||
# define?
|
||||
|
||||
# delete
|
||||
|
||||
# delete-duplicates
|
||||
|
||||
# env:\_lookup-variable-value
|
||||
|
||||
# env:add-binding-to-frame!
|
||||
|
||||
# env:all-values
|
||||
|
||||
# env:all-variables
|
||||
|
||||
# env:define-variable!
|
||||
|
||||
# env:enclosing-environment
|
||||
|
||||
# env:extend-environment
|
||||
|
||||
# env:first-frame
|
||||
|
||||
# env:frame-values
|
||||
|
||||
# env:frame-variables
|
||||
|
||||
# env:lookup
|
||||
|
||||
# env:lookup-variable-value
|
||||
|
||||
# env:make-frame
|
||||
|
||||
# env:set-variable-value!
|
||||
|
||||
# env:the-empty-environment
|
||||
|
||||
# filter
|
||||
|
||||
# flatten
|
||||
|
||||
# formals->list
|
||||
|
||||
# gensym
|
||||
|
||||
# identifier->symbol
|
||||
|
||||
# identifier=?
|
||||
|
||||
# identifier?
|
||||
|
||||
# if->condition
|
||||
|
||||
# if->else
|
||||
|
||||
# if->then
|
||||
|
||||
# if-else?
|
||||
|
||||
# if?
|
||||
|
||||
# lambda->exp
|
||||
|
||||
# lambda->formals
|
||||
|
||||
# lambda-formals->list
|
||||
|
||||
# lambda-formals-type
|
||||
|
||||
# lambda-varargs-var
|
||||
|
||||
# lambda-varargs?
|
||||
|
||||
# lambda?
|
||||
|
||||
# length/obj
|
||||
|
||||
# list-index2
|
||||
|
||||
# list-insert-at!
|
||||
|
||||
# list-prefix?
|
||||
|
||||
# mangle
|
||||
|
||||
# mangle-global
|
||||
|
||||
# pack-lambda-arguments
|
||||
|
||||
# pair->list
|
||||
|
||||
# quote?
|
||||
|
||||
# ref?
|
||||
|
||||
# set!->exp
|
||||
|
||||
# set!->var
|
||||
|
||||
# set!?
|
||||
|
||||
# string-replace-all
|
||||
|
||||
# tagged-list?
|
||||
|
||||
# take
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue