InglêsFrancêsEspanhol

Ad


favicon do OnWorks

fst-compiler-utf8 - Online na nuvem

Execute fst-compiler-utf8 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-utf8 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 online Windows ou emulador online MAC OS

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 fst-compiler-utf8 online usando serviços onworks.net


Servidores e estações de trabalho gratuitos

Baixar aplicativos Windows e Linux

  • 1
    GOLE
    GOLE
    SWIG é uma ferramenta de desenvolvimento de software
    que conecta programas escritos em C e
    C ++ com uma variedade de alto nível
    linguagens de programação. SWIG é usado com
    diferente...
    Baixar SWIG
  • 2
    Tema WooCommerce Nextjs React
    Tema WooCommerce Nextjs React
    Tema React WooCommerce, construído com
    Próxima JS, Webpack, Babel, Node e
    Express, usando GraphQL e Apollo
    Cliente. Loja WooCommerce em React(
    contém: Produtos...
    Baixe o tema WooCommerce Nextjs React
  • 3
    archlabs_repo
    archlabs_repo
    Repositório de pacotes para ArchLabs Este é um
    aplicativo que também pode ser obtido
    da
    https://sourceforge.net/projects/archlabs-repo/.
    Ele foi hospedado no OnWorks em...
    Baixar archlabs_repo
  • 4
    Projeto Zephyr
    Projeto Zephyr
    O Projeto Zephyr é uma nova geração
    sistema operacional em tempo real (RTOS) que
    suporta vários hardwares
    arquiteturas. É baseado em um
    kernel de pequena pegada ...
    Baixar Projeto Zephyr
  • 5
    SCons
    SCons
    SCons é uma ferramenta de construção de software
    essa é uma alternativa superior ao
    clássica ferramenta de construção "Make" que
    todos nós conhecemos e amamos. SCons é
    implementou um ...
    Baixar SCons
  • 6
    PSeIntGenericName
    PSeIntGenericName
    PSeInt é um interpretador de pseudo-código para
    alunos de programação que falam espanhol.
    Seu principal objetivo é ser uma ferramenta para
    aprender e compreender o básico
    concep ...
    Baixar PSeInt
  • Mais "

Comandos Linux

Ad