This document is README for aescm 0.30 (either README or doc/readme.html).
Aescm is a filter tool to embed code in a document. The current version (0.30) is in alpha state and specifications may be changed. The stable version is escm 1.1, which is a tool for Scheme.
The body of aescm is a filter which converts part outside XML preprocessor instructions to code. It sends the code to an interpreter which has been invoked as child process. As you can change conversion rules flexibly, you will be able to use this tool with your favorite interpreter of your favorite scripting language.
aescm 0.30 is a downgraded version. Many experimental features have been removed, and the tool was divided into a filter tool and a CGI tool. By default, only the filter tool is compiled and installed. The CGI tool must be installed manually. See cgi.html for information on installation and configurations of the CGI tool.
If you want to use Gauche (Scheme interpreter written by Shiro Kawai, the author of the original escm) as default backend or Guile when Gauche is not installed, type as usual:
./configure make make install
With this setting, only Scheme code is preprocessed.
You cannot use SCM,
for it requires different translation rules
from those of other Scheme interpreters.
If you want to use this tool with other scripting languages,
add --enable-polyglot option to configure
.
See INSTALL(doc/install.html)
for more information.
You can change the default computer language
and the default backend.
You can specify the backend interpreter
by setting it with options
to environment vairable ESCM_BACKEND
.
Command line options for some popular Schme implementations
are listed in
doc/interpreter.html.
If you have run configure with --enable-polyglot
option, you can specify the default scripting languge
with environment variable ESCM_DEFAULT
.
This package comes with a CGI tool named
aescm.cgi,
which you should install manually.
The query string by POST method is bound to
escm_query_string
,
for you cannot directly get it in a CGI script.
It is also bound if the method is GET.
You can use it to process a handler CGI program. See the handler document of Apache for settings.
If you run ./configure with --enable-polyglot,
the filter reads the translation rules form
a language configuration file.
The language configuration files find themselves
in $(datadir)/aescm/lang
(e.g. /usr/local/share/aescm/lang
).
You can edit them to change translation rules.
and backend interpreters.
To edit or add a configuration file
consult doc/gimmick.html.