From 2151fe3663929632b60d2b0e3d4d230731fe31ae Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Tue, 4 Oct 2016 00:23:07 -0400 Subject: [PATCH] Fix spacing --- docs/api/scheme/cyclone/ast.md | 10 +++ docs/api/scheme/cyclone/cgen.md | 21 +++++ docs/api/scheme/cyclone/common.md | 12 +++ docs/api/scheme/cyclone/cps-optimizations.md | 35 +++++++++ docs/api/scheme/cyclone/libraries.md | 26 +++++++ docs/api/scheme/cyclone/macros.md | 8 ++ docs/api/scheme/cyclone/pretty-print.md | 3 + docs/api/scheme/cyclone/primitives.md | 14 ++++ docs/api/scheme/cyclone/test.md | 26 +++++++ docs/api/scheme/cyclone/transforms.md | 80 ++++++++++++++++++++ docs/api/scheme/cyclone/util.md | 61 +++++++++++++++ 11 files changed, 296 insertions(+) diff --git a/docs/api/scheme/cyclone/ast.md b/docs/api/scheme/cyclone/ast.md index cbb6f1b2..3c0efb6f 100644 --- a/docs/api/scheme/cyclone/ast.md +++ b/docs/api/scheme/cyclone/ast.md @@ -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) + diff --git a/docs/api/scheme/cyclone/cgen.md b/docs/api/scheme/cyclone/cgen.md index 8bacae49..f0276380 100644 --- a/docs/api/scheme/cyclone/cgen.md +++ b/docs/api/scheme/cyclone/cgen.md @@ -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. + diff --git a/docs/api/scheme/cyclone/common.md b/docs/api/scheme/cyclone/common.md index 703091f0..83aee601 100644 --- a/docs/api/scheme/cyclone/common.md +++ b/docs/api/scheme/cyclone/common.md @@ -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. + diff --git a/docs/api/scheme/cyclone/cps-optimizations.md b/docs/api/scheme/cyclone/cps-optimizations.md index 3d8a3b10..aa004321 100644 --- a/docs/api/scheme/cyclone/cps-optimizations.md +++ b/docs/api/scheme/cyclone/cps-optimizations.md @@ -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! + diff --git a/docs/api/scheme/cyclone/libraries.md b/docs/api/scheme/cyclone/libraries.md index 32cf2de8..4ea08c06 100644 --- a/docs/api/scheme/cyclone/libraries.md +++ b/docs/api/scheme/cyclone/libraries.md @@ -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 + diff --git a/docs/api/scheme/cyclone/macros.md b/docs/api/scheme/cyclone/macros.md index d5d345cb..264ba047 100644 --- a/docs/api/scheme/cyclone/macros.md +++ b/docs/api/scheme/cyclone/macros.md @@ -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 + diff --git a/docs/api/scheme/cyclone/pretty-print.md b/docs/api/scheme/cyclone/pretty-print.md index af18d4d3..d0e815fd 100644 --- a/docs/api/scheme/cyclone/pretty-print.md +++ b/docs/api/scheme/cyclone/pretty-print.md @@ -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. + diff --git a/docs/api/scheme/cyclone/primitives.md b/docs/api/scheme/cyclone/primitives.md index 0465ac17..e70909fa 100644 --- a/docs/api/scheme/cyclone/primitives.md +++ b/docs/api/scheme/cyclone/primitives.md @@ -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?) + diff --git a/docs/api/scheme/cyclone/test.md b/docs/api/scheme/cyclone/test.md index 333b7415..966bc5b9 100644 --- a/docs/api/scheme/cyclone/test.md +++ b/docs/api/scheme/cyclone/test.md @@ -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 + diff --git a/docs/api/scheme/cyclone/transforms.md b/docs/api/scheme/cyclone/transforms.md index 89cf0581..d5a59365 100644 --- a/docs/api/scheme/cyclone/transforms.md +++ b/docs/api/scheme/cyclone/transforms.md @@ -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!? + # symbolexp + # 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 +