Este es el comando camlmix 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
camlmix: preprocesador que convierte texto con OCaml incrustado
SINOPSIS
cammelix [Opciones ...] archivos...
DESCRIPCIÓN
cammelix procesa plantillas de texto con incrustaciones OCaml código para generar texto nuevamente. De uno
o varios archivos de entrada genera un OCaml programa de generación de texto y lo ejecuta para
obtener el resultado. Opción de uso -divertido también se puede convertir la plantilla de texto en un OCaml
función de generación de texto.
CAMPUS
-o salida
escribe el texto generado en un archivo salida
-c Solo genere el programa de generación de texto, no lo ejecute. Por defecto, el
el programa se llama últimoarchivo.ml cuando último archivo es el último argumento del archivo.
-co presentar
especificar el nombre del programa de generación de texto
-divertido generar OCaml código para la función de generación de texto desde la entrada (ver ADVANCED USO
a continuación)
-e ocamlc
establecer el nombre del ejecutable OCaml
-limpiar eliminar el programa de generación de texto después de la ejecución
-insertar código_ocaml
insertar código_ocaml al comienzo del programa de generación de texto
-remezclar prueba una conversión a la sintaxis camlremix
-versión
imprimir versión y salir
-ayuda | --ayuda
Imprimir ayuda y salir (esta página de manual se escribió a partir de la salida de -ayuda)
ED. BÁSICA USO
Texto encerrado con ## marcadores se considera como un bloque de OCaml código. Puede ser de cualquier tipo
de expresiones de nivel superior como definiciones o aplicación de funciones de impresión:
Esta es la versión de ocaml ## print Sys.ocaml_version ##
Si OCaml el código comienza con = luego se interpreta como una expresión de tipo cadena
que se imprimirá como el resto del texto:
Esta es la versión de ocaml ## = Sys.ocaml_version ##
El bloque de texto se imprime junto con el evaluado OCaml piezas usando el Imprimir
función. Incluir ### imprimir ##.
El espacio en blanco se puede controlar con ##. y . ##:
##. no imprima los espacios en blanco que aparecen a la izquierda
. ## No imprima espacios en blanco hasta la primera línea nueva inclusive, siguiendo a la
tenía razón.
ADVANCED USO
instrucciones
Bloques de código que comienzan con el @ carácter (posiblemente precedido por espacios) son
directivas para Camlmix. Hay dos directivas. incluir inserta un archivo camlmix y
omitir salta el siguiente bloque. Por ejemplo
Hola ## @include "world.mlx"; saltar. ## ## sea x = 123 ##!
Conversión dentro a texto generación de AHSS función para lugar de trabajo dinámico representación
El -divertido opción, usada en combinación con -c Y a menudo -co produce un OCaml archivo fuente
que proporciona una función ceder con la siguiente firma:
val render:? print: (cadena -> unidad) -> 'a -> unidad
El argumento polimórfico se llama detener en el código generado y se puede utilizar para pasar
argumentos en tiempo de ejecución en el ceder función. los Imprimir La función se utiliza para establecer la
valor de Camlmix.printer (ver más abajo). Su valor predeterminado es:
fun s -> print_string s; enjuague estándar
Runtime manos
El programa de generación de texto, que cammelix genera, contiene un módulo camlmix en el
principio, que se puede utilizar en bloques de código. Este módulo tiene la siguiente firma.
módulo camlmix : firma
val fuente : ref de cuerda
val línea : referencia interna
val tanque : referencia interna
Ubicación del primer carácter del bloque actual en su archivo fuente.
Los números de línea y carácter cuentan desde 1. Estas referencias se actualizan mediante
cammelix al comienzo de cada bloque.
val impresora : (cadena -> unidad) ref
función para imprimir bloques de texto
val imprimir_con : (cadena -> unidad) -> unidad
imprimir_con f hace que el siguiente bloque de texto se imprima con f en vez de
impresora actual. Su comportamiento es indefinido si se llama varias veces en
el mismo bloque de código.
val imprimir_si : bool -> unidad
imprimir_si cond imprime el siguiente bloque de texto solo si la condición cond es verdad. Eso
usos imprimir_con internamente.
final
Use camlmix en línea usando los servicios de onworks.net