InglésFrancésEspañol

Ad


icono de página de OnWorks

fst-compiler: en línea en la nube

Ejecute el compilador fst en el proveedor de alojamiento gratuito de OnWorks sobre Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS

Este es el comando fst-compiler 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


fst-compiler, fst-compiler-utf8: dos compiladores para programas SFST

SINOPSIS


compilador fst archivo de gramática [ archivo de salida ]
fst-compilador-utf8 archivo de gramática [ archivo de salida ]

CAMPUS


-c Guarde el transductor en un formato compacto que utiliza fst-infl2.

-l Guarde el transductor en formato lowmem.

-s Cambie la superficie y la capa de análisis del transductor. Tienes que usar este interruptor en
orden de usar fst-infl (fst-infl2, fst-infl3) para generación en lugar de análisis.

DESCRIPCIÓN


compilador fst es un compilador para programas de transductores de estado finito. Genera un minimizado
transductor de estado finito que se puede utilizar con primer mor, fst-infl, impresión fst, fst-comparar,
primer análisis, y fst-celosía. La representación compacta del transductor que se genera con
la bandera -c, es compatible con fst-infl2, primer tren, y primer partido. La memoria eficiente
La representación del transductor que se genera con la bandera -l, solo es compatible con primero-
infl3.

El primer argumento del programa es el nombre de un archivo que contiene el programa del transductor.
El lenguaje de programación se describe a continuación. El segundo argumento es el nombre del archivo.
en el que se escribirá el transductor resultante en forma binaria. Si un segundo argumento es
falta, la salida se escribirá en salida estándar.

fst-compilador-utf8 difiere de compilador fst solo en la codificación de caracteres. compilador fst-
utf8 admite la codificación UTF8 de los archivos fuente, mientras que compilador fst se va a utilizar para
Códigos de caracteres de 8 bits como latin1 que son una extensión del código ASCII. Información
acerca de la codificación se almacena en los archivos del transductor y se utiliza en los otros programas SFST.

ARCHIVO FORMATOS


Un programa de transductor consta de una secuencia (opcional) de alfabeto y variable
definiciones seguidas de una sola transductor expresión que define el resultado
transductor.

Alphabet

Una definición alfabética consta de la palabra clave ALFABETO seguida de = y algún transductor
expresión, por ejemplo

ALFABETO = [az]: [AZ]

Este comando redefine el alfabeto como el conjunto de pares de símbolos que ocurren en el
transiciones del transductor. Ocurrencias de operadores de dos niveles, operadores de negación y
los puntos sin comillas siempre deben ir precedidos de una definición alfabética.

Variables

Hay dos tipos diferentes de variables. Símbolo set las variables están encerrados por hash
signos (#) y tomar secuencias de símbolos (ver más abajo) como valores:

# UC # = AZ
# LC # = az

transductor las variables están encerrados por signos de dólar y toman las expresiones del transductor como
valores:

$ MAP $ = [az]: [AZ] +
$ MAP $ = [#LC #]: [# UC #] +

Las variables cuyo nombre comienza con el símbolo '=' son especiales acuerdo variables. Si una
La variable de concordancia ocurre más de una vez en una expresión de transductor, siempre tendrá
el mismo valor. Considere el siguiente programa de transductores:

$ = 1 $ = [abc]
$ = 1 $ X $ = 1 $

El transductor de resultados reconoce las cadenas aXa, bXb y cXc. Solo transductores acíclicos
(es decir, transductores con un conjunto finito de asignaciones de cadenas) se pueden asignar por acuerdo
variables.

Símbolos

Un símbolo es

- un solo carácter como A s 5,

- un carácter entre comillas como \ * o \ _,

- un símbolo de varios caracteres como o (que es siempre
entre paréntesis angulares) o

- una barra invertida seguida de un número que es el código numérico del
personaje designado

- el símbolo nulo <>.

Secuencia de símbolos

Una secuencia de símbolos es una secuencia de caracteres, símbolos de varios caracteres y caracteres.
rangos, por ejemplo, az \. .

rango de símbolo

Un rango de símbolo es

- un solo símbolo

- una secuencia de símbolos entre corchetes como [A-Za-z] o

- una secuencia de símbolos que comienza con ^ y encerrada entre corchetes como [^ A-Za-z]
(que designa el complemento de [a-zA-Z]) o

- el punto (que representa cualquier símbolo del alfabeto)

Expresiones de transductores

Una expresión de transductor (TE) se define de forma recursiva de la siguiente manera:

- Un par de dos rangos de símbolos separados por dos puntos es un TE.

[az]: [aZ]

- Un rango de símbolo único como [az] es un TE.
Es una forma abreviada de [az]: [az].

- Se muestran dos secuencias de símbolos entre llaves y separadas por dos puntos.
comió. {a [bc]}: {def} es equivalente a a: db: e <>: f | a: dc: e <>: f.

- XY es un TE si X e Y son TE.
(Los espacios en blanco se ignoran a menos que se citen).

- (X) es un TE si X es un TE.

- X op es un TE es X es un TE y op es * (operador estrella de Kleene), +
(Operador plus de Kleene), o? (operador de opcionalidad)

- ¡op X es un TE es X es un TE y op es cualquiera! (operador de negación), ^
(operador de extracción del idioma de destino), _ (operador de extracción del idioma de origen) o ^ _
(operador de conmutador de origen y destino).

- X op Y es un TE es X e Y son TEs y op es & (conjunción
operador), | (operador de disyunción), || (operador de composición), o - (resta
operador)

- L x op y R es un TE si L y R son TE, xey son rangos de símbolos y
op es => (restricción de dos niveles), <= (coerción de dos niveles) o <=> (dos niveles
restricción y coacción).

- X op L__R es un TE si X, L y R son TE y op es ^ -> (hacia arriba
reemplazo), _-> (reemplazo hacia abajo), / -> (reemplazo hacia la izquierda) o \ -> (hacia la derecha
reemplazo). Además, L y R deben definir autómatas (es decir, que mapean sus cadenas
sobre sí mismos). Estos operadores corresponden a los operadores de reemplazo de Karttunen. Si el
La flecha va seguida de un signo de interrogación (?), el reemplazo se vuelve opcional.

- X << l es un TE si X es un TE, y l es cualquiera de las formas
a o la forma a: b donde ayb son caracteres o símbolos individuales. El resultado es un
transductor donde l se insertó libremente en X. El transductor ab << c, por ejemplo, es
equivalente a c * ac * bc *.

- X op Y L1__R2, ..., LN__RN es un TE si X, Y, L1 a través de LN y R1
a través de RN son TE, y op es => (restricción general), <= (coerción general), ^ =>
(restricción general de la superficie), ^ <= (coerción general de la superficie), ^ <=> (superficie general
restricción y coerción), _ => (restricción general profunda), _ <= (coerción general profunda),
_ <=> (restricción general profunda y coerción). (Estos operadores se implementaron siguiendo
una sugerencia de Anssi Yli-Jyra.)

- "fname" es un TE. El compilador lee el archivo llamado fname y gira
en un transductor de la forma línea1 | línea2 | línea3 | ... donde líneax es la x-ésima línea de
el archivo. Todos los caracteres que no sean: y \ se interpretan literalmente (es decir, no como
operadores). Este TE se utiliza normalmente, por ejemplo, para leer la lista de morfemas de un archivo.

- " "es un TE. El compilador lee un transductor precompilado de
el archivo llamado fname. Esta

Otras caracteristicas

Los comentarios comienzan con el símbolo% y se extienden hasta el final de la línea. Los espacios en blanco se ignoran
a menos que estén cotizados. Las expresiones terminan al final de una línea a menos que el final de la línea
está precedido por una barra invertida. El comando

#include "fname"

se puede utilizar para insertar código fuente desde un archivo llamado fname. El comando

RE >> "fname"

almacena la expresión regular RE en el archivo fname. El comando

#usar hopcroft

le dice al compilador que use el algoritmo de minimización de Hopcroft a partir de ahora, y

#uso por defecto

vuelve al algoritmo de minimización predeterminado (Brzozowski). El comando

EJEMPLO


A continuación se muestra un ejemplo de un programa de transductor simple. Suponiendo que el archivo "adj-stems"
contiene las dos líneas

de forma sencilla
tarde
a lo grande

este transductor analizará correctamente las formas de los adjetivos fácil, más fácil, más fácil y tarde,
más tarde y más reciente.

ALFABETO = [a-zA-Z] y: es decir: <> : <>

$ R $ = y <=> i ( : <> e)

$ R2 $ = e <=> <> ( : <> e)

$ R $ = $ R $ y $ R2 $

$ Stems $ = "adj-stems"

$ S $ = $ Tallos $ ( : <> | : {er} | :{est})

$ S $ || $ R $

SALIR ESTADO


compilador fst devuelve 0 a menos que ocurra algún error.

Utilice el compilador fst en línea utilizando los servicios de onworks.net


Servidores y estaciones de trabajo gratuitos

Descargar aplicaciones de Windows y Linux

  • 1
    Phaser
    Phaser
    Phaser es una apertura rápida, gratuita y divertida
    marco de juego HTML5 de origen que ofrece
    Representación de WebGL y Canvas en
    navegadores web de escritorio y móviles. Juegos
    puede ser co ...
    Descargar Phaser
  • 2
    Motor VASSAL
    Motor VASSAL
    VASSAL es un motor de juego para crear
    Versiones electrónicas de tablero tradicional.
    y juegos de cartas. Proporciona soporte para
    representación e interacción de las piezas del juego,
    y ...
    Descargar motor VASSAL
  • 3
    OpenPDF - Bifurcación de iText
    OpenPDF - Bifurcación de iText
    OpenPDF es una biblioteca de Java para crear
    y edición de archivos PDF con LGPL y
    Licencia MPL de código abierto. OpenPDF es el
    LGPL/MPL sucesor de código abierto de iText,
    un ...
    Descargar OpenPDF - Bifurcación de iText
  • 4
    SIG SAGA
    SIG SAGA
    SAGA - Sistema para automatizado
    Análisis geocientíficos - es un análisis geográfico
    Software del sistema de información (GIS) con
    inmensas capacidades para geodatos
    procesamiento y ana ...
    Descargar SIG SAGA
  • 5
    Caja de herramientas para Java / JTOpen
    Caja de herramientas para Java / JTOpen
    IBM Toolbox para Java / JTOpen es un
    biblioteca de clases de Java que soporta el
    programacion cliente/servidor e internet
    modelos a un sistema que ejecuta OS/400,
    i5/OS, o...
    Descargar Toolbox para Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (o D3 para documentos basados ​​en datos)
    es una biblioteca de JavaScript que le permite
    para producir datos dinámicos e interactivos
    visualizaciones en navegadores web. con D3
    tú...
    Descargar D3.js
  • Más "

Comandos de Linux

  • 1
    arbitro
    arbitro
    abidiff - comparar ABI de archivos ELF
    abidiff compara el binario de la aplicación
    Interfaces (ABI) de dos bibliotecas compartidas
    en formato ELF. emite un significado
    informar ...
    Ejecutar abidiff
  • 2
    cumplir
    cumplir
    abidw - serializa el ABI de un ELF
    archivo abidw lee una biblioteca compartida en ELF
    formato y emite una representación XML
    de su ABI a la salida estándar. El
    emitido...
    Ejecutar abidw
  • 3
    copac2xml
    copac2xml
    bibutils - conversión de bibliografía
    utilidades...
    Ejecutar copac2xml
  • 4
    copto
    copto
    copt - optimizador de mirilla SYSNOPIS:
    archivo copt.. DESCRIPCIÓN: copt es un archivo
    optimizador de mirilla de uso general. Él
    lee el código de su entrada estándar y
    escribe un...
    Ejecutar copia
  • 5
    reunir_stx_títulos
    reunir_stx_títulos
    reunir_stx_titles - recopilar título
    declaraciones de documentos Stx ...
    Ejecute reunir_stx_títulos
  • 6
    banco-gatling
    banco-gatling
    banco - punto de referencia http ...
    Ejecutar gatling-banco
  • Más "

Ad