InglêsFrancêsEspanhol

Ad


favicon do OnWorks

fst-compiler - Online na nuvem

Execute o fst-compiler no provedor de hospedagem gratuita OnWorks no Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

Este é o comando fst-compiler que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador Windows online ou emulador MAC OS online

PROGRAMA:

NOME


fst-compiler, fst-compiler-utf8 - Dois compiladores para programas SFST

SINOPSE


fst-compilador arquivo de gramática [ arquivo de saída ]
fst-compiler-utf8 arquivo de gramática [ arquivo de saída ]

OPÇÕES


-c Armazene o transdutor em formato compacto que é usado por fst-infl2.

-l Armazene o transdutor em formato lowmem.

-s Troque a superfície e a camada de análise do transdutor. Você tem que usar esta opção em
ordem de usar fst-infl (fst-infl2, fst-infl3) para geração em vez de análise.

DESCRIÇÃO


fst-compilador é um compilador para programas de transdutores de estado finito. Ele gera um minimizado
transdutor de estado finito que pode ser usado com primeiro dia, fst-infl, impressão rápida, fst-comparar,
primeira análise, e fst-rede. A representação compacta do transdutor que é gerada com
o sinalizador -c, é suportado por fst-infl2, fst-trem, e primeira partida. A memória eficiente
representação do transdutor que é gerada com o sinalizador -l, só é suportada por primeiro
infl3.

O primeiro argumento do programa é o nome de um arquivo que contém o programa do transdutor.
A linguagem de programação é descrita abaixo. O segundo argumento é o nome do arquivo
para o qual o transdutor resultante será escrito na forma binária. Se um segundo argumento for
ausente, a saída será gravada em saída padrão.

fst-compiler-utf8 difere fst-compilador apenas na codificação de caracteres. compilador-fst-
utf8 suporta codificação UTF8 dos arquivos de origem, enquanto fst-compilador deve ser usado para
Códigos de caracteres de 8 bits, como latin1, que são uma extensão do código ASCII. Em formação
sobre a codificação é armazenado nos arquivos do transdutor e usado por outros programas SFST.

ARQUIVO FORMATOS


Um programa transdutor consiste em uma sequência (opcional) de alfabeto e variável
definições seguidas por um único transdutor expressão que define o resultado
transdutor.

Alfabeto

Uma definição de alfabeto consiste na palavra-chave ALFABETO seguido por = e algum transdutor
expressão por exemplo

ALFABETO = [az]: [AZ]

Este comando redefine o alfabeto como o conjunto de pares de símbolos que ocorrem no
transições do transdutor. Ocorrências de operadores de dois níveis, operadores de negação e
os pontos não citados sempre devem ser precedidos por uma definição de alfabeto.

Variáveis

Existem dois tipos diferentes de variáveis. Símbolo conjunto variáveis são cercados por hash
sinais (#) e tome as sequências de símbolos (veja abaixo) como valores:

# UC # = AZ
# LC # = az

Transdutor variáveis são cercados por cifrões e interpretam as expressões do transdutor como
valores:

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

Variáveis ​​cujo nome começa com o símbolo `= 'são especiais acordo variáveis. Se um
variável de concordância ocorre mais de uma vez em uma expressão de transdutor, ela sempre terá
o mesmo valor. Considere o seguinte programa de transdutor:

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

O transdutor de resultado reconhece as strings aXa, bXb e cXc. Apenas transdutores acíclicos
(ou seja, transdutores com um conjunto finito de mapeamentos de string) podem ser atribuídos para acordo
variáveis.

Símbolos

Um símbolo é ou

- um único caractere como A s 5,

- um caractere citado como \ * ou \ _,

- um símbolo de vários caracteres como ou (que é sempre
entre colchetes angulares) ou

- uma barra invertida seguida por um número que é o código numérico do
personagem designado

- o símbolo nulo <>.

Sequência de símbolos

Uma sequência de símbolos é uma sequência de caracteres, símbolos de vários caracteres e caracteres
intervalos, por exemplo, az \. .

gama de símbolos

Um intervalo de símbolo é

- um único símbolo

- uma sequência de símbolos entre colchetes como [A-Za-z] ou

- uma sequência de símbolos começando com ^ e entre colchetes como [^ A-Za-z]
(designando o complemento de [a-zA-Z]) ou

- o ponto (que representa qualquer símbolo do alfabeto)

Expressões de transdutor

Uma expressão de transdutor (TE) é recursivamente definida da seguinte forma:

- Um par de dois intervalos de símbolos separados por dois pontos é um TE.

[az]: [aZ]

- Um único intervalo de símbolo como [az] é um TE.
É uma forma abreviada de [az]: [az].

- Duas sequências de símbolos entre colchetes e separadas por dois pontos são
comi. {a [bc]}: {def} é equivalente a a: db: e <>: f | a: dc: e <>: f.

- XY é um TE se X e Y são TEs.
(Os espaços em branco são ignorados, a menos que sejam citados.)

- (X) é um TE se X for um TE.

- X op é um TE é X é um TE e op é * (operador estrela de Kleene), +
(Operador plus de Kleene), ou? (operador de opcionalidade)

- op X é um TE é X é um TE e op é qualquer um! (operador de negação), ^
(operador de extração do idioma de destino), _ (operador de extração do idioma de origem) ou ^ _
(operador de switch de origem e destino).

- X op Y é um TE é X e Y são TEs e op é & (conjunção
operador), | (operador de disjunção), || (operador de composição), ou - (subtração
operador)

- L x op y R é um TE se L e R são TEs, x e y são intervalos de símbolos e
op é => (restrição de dois níveis), <= (coerção de dois níveis) ou <=> (dois níveis
restrição e coerção).

- X op L__R é um TE se X, L e R são TEs e op é ^ -> (para cima
substituição), _-> (substituição para baixo), / -> (substituição para a esquerda) ou \ -> (substituição para a direita
substituição). Além disso, L e R devem definir autômatos (ou seja, que mapeiam suas strings
sobre si mesmos). Esses operadores correspondem aos operadores de substituição de Karttunen. Se o
a seta é seguida por um ponto de interrogação (?), a substituição torna-se opcional.

- X << l é um TE se X for um TE, e l é qualquer uma das formas
a ou a forma a: b, onde a e b são caracteres ou símbolos únicos. O resultado é um
transdutor onde l foi inserido livremente em X. O transdutor ab << c, por exemplo, é
equivalente ac * ac * bc *.

- X op Y L1__R2, ..., LN__RN é um TE se X, Y, L1 através de LN e R1
a RN são TEs e op é => (restrição geral), <= (coerção geral), ^ =>
(restrição de superfície geral), ^ <= (coerção de superfície geral), ^ <=> (superfície geral
restrição e coerção), _ => (restrição profunda geral), _ <= (coerção profunda geral),
_ <=> (restrição geral profunda e coerção). (Esses operadores foram implementados a seguir
uma sugestão de Anssi Yli-Jyra.)

- "fname" é um TE. O compilador lê o arquivo chamado fname e transforma
em um transdutor da forma linha1 | linha2 | linha3 | ... onde linhax é a x-ésima linha de
o arquivo. Todos os caracteres diferentes de: e \ são interpretados literalmente (ou seja, não como
operadores). Este TE é normalmente usado, por exemplo, para ler a lista de morfemas de um arquivo.

- " "é um TE. O compilador lê um transdutor pré-compilado de
o arquivo denominado fname. Esse

Recursos adicionais

Os comentários começam com o símbolo% e se estendem até o final da linha. Espaços em branco são ignorados
a menos que sejam citados. As expressões terminam no final de uma linha, a menos que o final da linha
é precedido por uma barra invertida. O comando

#include "fname"

pode ser usado para inserir o código-fonte de um arquivo denominado fname. O comando

RE >> "fname"

armazena a expressão regular RE no arquivo fname. O comando

#use hopcroft

diz ao compilador para usar o algoritmo de minimização de Hopcroft de agora em diante, e

#use o padrão

volta para o algoritmo de minimização padrão (Brzozowski). O comando

EXEMPLO


Aqui está um exemplo de um programa transdutor simples. Supondo que o arquivo "adj-stems"
contém as duas linhas

fácil
tarde
big

este transdutor irá analisar corretamente as formas do adjetivo fácil, fácil, mais fácil e tardio,
mais tarde, e mais recente.

ALFABETO = [a-zA-Z] y: ou seja: <> : <>

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

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

$ R $ = $ R $ e $ R2 $

$ Stems $ = "adj-stems"

$ S $ = $ hastes $ ( : <> | : {er} | :{Husa})

$ S $ || $ R $

SAIR STATUS


fst-compilador retorna 0, a menos que ocorra algum erro.

Use o fst-compiler online usando os serviços onworks.net


Servidores e estações de trabalho gratuitos

Baixar aplicativos Windows e Linux

  • 1
    Phaser
    Phaser
    Phaser é um aplicativo rápido, gratuito e divertido
    framework de jogo HTML5 de origem que oferece
    Renderização WebGL e Canvas em
    navegadores da web para desktop e celular. Jogos
    pode ser co ...
    Baixar Phaser
  • 2
    Motor VASSAL
    Motor VASSAL
    VASSAL é um motor de jogo para criar
    versões eletrônicas do tabuleiro tradicional
    e jogos de cartas. Ele fornece suporte para
    renderização e interação de peças do jogo,
    e ...
    Baixar VASSAL Engine
  • 3
    OpenPDF - Fork do iText
    OpenPDF - Fork do iText
    OpenPDF é uma biblioteca Java para criar
    e edição de arquivos PDF com LGPL e
    Licença de código aberto MPL. OpenPDF é o
    LGPL/MPL sucessor de código aberto do iText,
    um ...
    Baixar OpenPDF - Bifurcação do iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - Sistema para Automatizado
    Análises geocientíficas - é um geográfico
    Software de Sistema de Informação (GIS) com
    imensas capacidades para geodados
    processando e ana ...
    Baixar SAGA GIS
  • 5
    Caixa de ferramentas para Java / JTOpen
    Caixa de ferramentas para Java / JTOpen
    O IBM Toolbox for Java / JTOpen é um
    biblioteca de classes Java suportando o
    programação cliente/servidor e internet
    modelos para um sistema rodando OS/400,
    i5/OS, ou...
    Baixar Toolbox para Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (ou D3 para documentos baseados em dados)
    é uma biblioteca JavaScript que permite
    para produzir dados dinâmicos e interativos
    visualizações em navegadores da web. Com D3
    você...
    Baixar D3.js
  • Mais "

Comandos Linux

  • 1
    Abidiff
    Abidiff
    abidiff - comparar ABIs de arquivos ELF
    abidiff compara o aplicativo binário
    Interfaces (ABI) de duas bibliotecas compartilhadas
    em formato ELF. Ele emite um significativo
    relatorio ...
    Executar abidiff
  • 2
    abidw
    abidw
    abidw - serializar o ABI de um ELF
    arquivo abidw lê uma biblioteca compartilhada em ELF
    formato e emite uma representação XML
    de seu ABI para a saída padrão. O
    emitido ...
    Execute abidw
  • 3
    copac2xml
    copac2xml
    bibutils - conversão de bibliografia
    Serviços de utilidade pública ...
    Execute copac2xml
  • 4
    copta
    copta
    copt - otimizador de olho mágico SYSNOPIS:
    copt.. DESCRIÇÃO: copt é um
    otimizador de olho mágico de uso geral. Isto
    lê o código de sua entrada padrão e
    escreve um...
    Executar copia
  • 5
    collect_stx_titles
    collect_stx_titles
    collect_stx_titles - reunir título
    declarações de documentos Stx ...
    Executar collect_stx_titles
  • 6
    banco giratório
    banco giratório
    bancada - benchmark http ...
    Executar gatling-bench
  • Mais "

Ad