Este es el comando scm que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
scm: un intérprete de lenguaje de esquema
SINOPSIS
SCM [-un kbytes ] [-muvqib] [--versión] [--ayuda]
[[-] - no-init-file] [--no-symbol-case-fold]
[-pag int ] [-r característica ] [-h característica ]
[-D nombre de archivo ] [-f nombre de archivo ] [-l nombre de archivo ]
[-C expresión ] [-e expresión ] [-o nombre de volcado ]
[- | - | -s] [ nombre de archivo ] [ argumentos ... ]
DESCRIPCIÓN
SMC es un intérprete de Scheme.
Al inicio SCM carga el archivo especificado por la variable de entorno SCM_INIT_PATH o
por el parámetro IMPLINIT en el archivo MAKE (o scmfig.h) si SCM_INIT_PATH no está definido.
Los archivos MAKE intentan establecer IMPLINIT en "Init.scm" en el directorio de origen.
A menos que la opción -no-archivo-de-inicio or --no-init-archivo ocurre en la línea de comando o si SCM is
se invoca como un script, "Init.scm" comprueba si hay un archivo "ScmInit.scm" en el
ruta especificada por la variable de entorno HOME (o en el directorio actual si HOME es
indefinido). Si encuentra un archivo de este tipo, se carga.
"Init.scm" luego busca la entrada de comando de una de tres fuentes: Desde una opción en el
línea de comando, desde un archivo nombrado en la línea de comando, o desde la entrada estándar.
OPCIONES
Las opciones se procesan en el orden especificado en la línea de comando.
-akbytes
especifica que SCM debería asignar un tamaño inicial de kbytes. Esta opción, si
presente, debe ser el primero en la línea de comando.
--no-init-archivo
Inhibe la carga de "ScmInit.scm" como se describe arriba.
--no-símbolo-case-fold
Los nombres de los símbolos (e identificadores) distinguen entre mayúsculas y minúsculas.
-eexpresión
-cexpresión
especifica que la expresión del esquema expresión se va a evaluar. Estas opciones
están inspirados por perl y sh respectivamente. En los sistemas Amiga, toda la opción y
El argumento debe estar entre comillas. Por ejemplo, "-e (nueva línea)".
-rcaracterística
requiere . Esto cargará un archivo de SLIB si eso característica no es ya
soportado. Si característica es 2, 3, 4 o 5 SCM requerirá las características necesarias para
admite R2RS, R3RS, R4RS o R5RS, respectivamente.
-hcaracterística
proporciona .
-lnombre de archivo
-fnombre de archivo
cargas nombre del archivo. SMC cargará el primer archivo (sin opción) nombrado en la línea de comando
si no la precede la opción -c, -e, -f, -l o -s.
-dnombre de archivo
abre (solo lectura) la base de datos relacional extendida nombre del archivo. If nombre de archivo contiene
código de inicialización, se ejecutará cuando se abra la base de datos.
-onombre de volcado
guarda la sesión SCM actual como programa ejecutable nombre de volcado. Esta opción funciona
solo en las compilaciones de SCM que admiten tugurio.
Si aparecen opciones en la línea de comando después -o nombre de volcado, entonces la sesión guardada
continúe procesando esas opciones cuando se invoca. De lo contrario, el (nuevo)
La línea de comando se procesa como de costumbre cuando se invoca la imagen guardada.
-pnivel
establece la prolijidad (verbosidad) en . Este es el mismo que el SCM comando
(verboso nivel ).
-v (modo detallado) especifica que SCM imprimirá indicaciones, tiempos de evaluación, aviso de
carga de archivos y estadísticas de recolección de basura. Esto es lo mismo que -p3.
-q (modo silencioso) especifica que SCM no imprimirá información adicional. Esto es lo mismo que
-p0.
-m especifica que las cargas, evaluaciones e interacciones del usuario posteriores serán con R4RS
capacidad macro. Para utilizar una implementación de macro R4RS específica de SLIB (en lugar de
SLIB por defecto) poner -r macropaquete antes -m en la línea de comando.
-u especifica que las cargas, evaluaciones e interacciones del usuario posteriores se realizarán sin
Capacidad macro R4RS. La capacidad de macros de R4RS se puede restaurar mediante un -m on
la línea de comando o desde el código Scheme.
-i especifica que SCM debe ejecutarse de forma interactiva. Eso significa que SCM no terminará
hasta el (dejar) or (Salida) se da el comando, incluso si hay errores. También establece
el nivel de prolijidad a 2 si es menor que 2. Esto imprimirá indicaciones, evaluación
tiempos y aviso de carga de archivos. El nivel de prolijidad se puede establecer mediante
opciones Si SCM se inicia desde un tty, asumirá que debe ser interactivo
a menos que se le dé una subsecuente -b .
-b especifica que SCM debe ejecutarse de forma no interactiva. Eso significa que SCM terminará
después de procesar la línea de comando o si hay errores.
-s especifica, por analogía con sh, que las opciones adicionales deben tratarse como un programa
argumentos
- -- especifica que no hay más opciones en la línea de comando.
MEDIO AMBIENTE VARIABLES
SCM_INIT_RUTA
es el nombre de la ruta donde SCM buscará su código de inicialización. El predeterminado es el
archivo "Init.scm" en el directorio de origen.
SCHEME_LIBRARY_PATH
es el directorio de la biblioteca del esquema SLIB.
INICIO es el directorio donde "Init.scm" buscará el archivo de inicialización del usuario
"ScmInit.scm".
ESQUEMA VARIABLES
* argv *
contiene la lista de argumentos del programa. * argv * puede cambiar durante la discusión
Procesando. Esta lista es adecuada para su uso como argumento para SLIB conseguiroptar
* R4RS-macro *
controla si la carga y la interacción admiten macros R4RS. Defina esto en
"ScmInit.scm" o archivos especificados en la línea de comando. Esto puede ser anulado por
opciones posteriores -my -u.
*interactivo*
controla la interactividad como se explica para las opciones -i y -b. Defina esto en
"ScmInit.scm" o archivos especificados en la línea de comando. Esto puede ser anulado por
opciones posteriores -i y -b.
EJEMPLOS
% scm foo.scm arg1 arg2 arg3
Cargue y ejecute el contenido de foo.scm. Los parámetros arg1 arg2 y arg3 se almacenan
en la lista global * argv *.
% scm -f foo.scm arg1 arg2 arg3
Lo mismo.
% scm -s foo.scm arg1 arg2
Establezca * argv * en ("foo.scm" "arg1" "arg2") e ingrese a la sesión interactiva.
% scm -e '(display (list-ref * argv * * optind *))' barra
Imprimir `` barra ''
% scm -rpretty-print -r formato -i
Cargue pretty-print y formatee y entre en modo interactivo.
% scm-r5
Cargue el viento dinámico, los valores y las macros R4RS e ingrese al modo interactivo (con macros).
% scm -r5 -r4
Como arriba, pero también se cargan los procedimientos-opcionales-rev4.
CARACTERÍSTICAS
Funciona con Amiga, Atari-ST, MacOS, MS-DOS, OS / 2, NOS / VE, Unicos, VMS, Unix y similares
sistemas. Soporte para juegos de caracteres ASCII y EBCDIC.
Cumple con el informe revisado ^ 5 sobre el esquema de lenguaje algorítmico y el IEEE P1178
especificación.
Soporte para el código de esquema SICP, R2RS, R3RS y R4RS.
Muchas funciones de Common Lisp: logand, logor, logxor, lognot, ash, logcount, integer-length,
bit-extract, defmacro, macroexpand, macroexpand1, gentemp, defvar, forzar salida, software-
tipo, get-decoded-time, get-internal-run-time, get-internal-real-time, delete-file,
rename-file, copy-tree, acons y eval.
Char-code-limit, most-positive-fixnum, most-negative-fixnum y unidades de tiempo internas por
segundas constantes. * Funciones * y * nombre de ruta de carga * variables.
Matrices y vectores de bits. Puertos de cadena y puertos de emulación de software. Extensiones de E / S
proporcionando la mayoría de las instalaciones ANSI C y POSIX.1.
Respuestas definibles por el usuario a interrupciones y errores, primitivas de sincronización de procesos,
Coincidencia de expresiones regulares de cadenas y el paquete de gestión de pantalla CURSES.
Paquetes de complementos disponibles que incluyen un depurador interactivo, base de datos, gráficos de ventana X,
Gráficos BGI, Motif y paquetes Open-Windows.
Un compilador (HOBBIT, disponible por separado) y enlace dinámico de módulos compilados.
Niveles configurables de información de seguimiento y sincronización impresos de forma interactiva (el
función). Reinicie, salga y ejecute.
Use scm en línea usando los servicios de onworks.net
