IngleseFranceseSpagnolo

Ad


Favicon di OnWorks

fst-compiler-utf8 - Online nel cloud

Esegui fst-compiler-utf8 nel provider di hosting gratuito OnWorks su Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

Questo è il comando fst-compiler-utf8 che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

PROGRAMMA:

NOME


fst-compiler, fst-compiler-utf8 - Due compilatori per programmi SFST

SINOSSI


fst-compilatore file-grammatica [ file di uscita ]
fst-compilatore-utf8 file-grammatica [ file di uscita ]

VERSIONI


-c Memorizzare il trasduttore in formato compatto utilizzato da fst-infl2.

-l Memorizzare il trasduttore in formato lowmem.

-s Scambia la superficie e lo strato di analisi del trasduttore. Devi usare questo interruttore in
per usare fst-infla (fst-infl2, fst-infl3) per la generazione piuttosto che per l'analisi.

DESCRIZIONE


fst-compilatore è un compilatore per programmi di trasduttori a stati finiti. Genera una riduzione al minimo
trasduttore a stato finito che può essere utilizzato con prima mattina, prima-infl, prima stampa, fst-confronto,
fst-analisi, ed primo reticolo. La rappresentazione del trasduttore compatto che viene generata con
il flag -c, è supportato da fst-infl2, fst-treno, ed prima partita. La memoria efficiente
la rappresentazione del trasduttore che viene generata con il flag -l, è supportata solo da prima
infl3.

Il primo argomento del programma è il nome di un file che contiene il programma del trasduttore.
Il linguaggio di programmazione è descritto di seguito. Il secondo argomento è il nome del file
in cui il trasduttore risultante verrà scritto in forma binaria. Se un secondo argomento è
mancante, l'output verrà scritto in normale.

fst-compilatore-utf8 differisce dalla fst-compilatore solo nella codifica dei caratteri. fst-compilatore-
utf8 supporta la codifica UTF8 dei file sorgente mentre fst-compilatore deve essere utilizzato per
Codici di caratteri a 8 bit come latin1 che sono un'estensione del codice ASCII. Informazione
sulla codifica è memorizzato nei file del trasduttore e utilizzato dagli altri programmi SFST.

RISORSE FORMATI


Un programma trasduttore consiste in una sequenza (opzionale) di alfabeto ed variabile
definizioni seguite da un singolo trasduttore espressione che definisce il risultato
trasduttore.

Alfabeto

Una definizione alfabetica è costituita dalla parola chiave ALPHABET seguita da = e da qualche trasduttore
espressione eg

ALFABETO = [az]:[AZ]

Questo comando ridefinisce l'alfabeto come l'insieme di coppie di simboli che si verificano sul
transizioni del trasduttore. Occorrenze di operatori a due livelli, operatori di negazione e
i periodi non quotati devono essere sempre preceduti da una definizione alfabetica.

Variabili

Ci sono due diversi tipi di variabili. Simbolo set variabili sono racchiusi da hash
segni (#) e prendere sequenze di simboli (vedi sotto) come valori:

#UC# = AZ
#LC# = az

Trasduttore variabili sono racchiusi da simboli del dollaro e accettano le espressioni del trasduttore come
valori:

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

Le variabili il cui nome inizia con il simbolo `=' sono speciali accordo variabili. Se uno
variabile accordo si verifica più di una volta in un'espressione trasduttore, avrà sempre
lo stesso valore. Considera il seguente programma di trasduttori:

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

Il trasduttore del risultato riconosce le stringhe aXa, bXb e cXc. Solo trasduttori aciclici
(cioè trasduttori con un insieme finito di mappature di stringhe) possono essere assegnati all'accordo
variabili.

Simboli

Un simbolo è o

- un singolo carattere come A s 5,

- un carattere tra virgolette come \* o \_,

- un simbolo multi-carattere come o (che è sempre
racchiuso tra parentesi angolari) o

- una barra rovesciata seguita da un numero che è il codice numerico del
carattere designato

- il simbolo nullo <>.

Sequenza di simboli

Una sequenza di simboli è una sequenza di caratteri, simboli a più caratteri e caratteri
intervalli, ad esempio az \. .

gamma di simboli

Un intervallo di simboli è o

- un unico simbolo

- una sequenza di simboli racchiusa tra parentesi quadre come [A-Za-z] o

- una sequenza di simboli che inizia con ^ e racchiusa tra parentesi quadre come [^A-Za-z]
(che designa il complemento di [a-zA-Z]) o

- il punto (che rappresenta qualsiasi simbolo dell'alfabeto)

Espressioni del trasduttore

Un'espressione di trasduttore (TE) è definita ricorsivamente come segue:

- Una coppia di due intervalli di simboli separati da due punti è un TE.

[az]:[aZ]

- Un singolo intervallo di simboli come [az] è un TE.
È una forma abbreviata per [az]:[az].

- Due sequenze di simboli racchiuse tra parentesi graffe e separate da due punti sono
ha mangiato. {a[bc]}:{def} è equivalente a a:db:e <>:f | a:dc:e <>:f.

- XY è un TE se X e Y sono TE.
(Gli spazi vengono ignorati a meno che non vengano citati.)

- (X) è un TE se X è un TE.

- X op è un TE è X è un TE e op è o * (operatore stella di Kleene), +
(operatore più di Kleene), o ? (operatore opzionale)

- op X è un TE è X è un TE e op è o ! (operatore di negazione), ^
(operatore di estrazione della lingua di destinazione), _ (operatore di estrazione della lingua di origine) o ^_
(operatore di commutazione sorgente e destinazione).

- X op Y è un TE è X e Y sono TE e op è uno & (congiunzione
operatore), | (operatore di disgiunzione), || (operatore di composizione), o - (sottrazione
operatore)

- L x op y R è un TE se L e R sono TE, xey sono intervalli di simboli e
op è => (restrizione a due livelli), <= (coercizione a due livelli) o <=> (coercizione a due livelli)
restrizione e coercizione).

- X op L__R è un TE se X, L e R sono TE e op è ^-> (verso l'alto
sostituzione), _-> (sostituzione verso il basso), /-> (sostituzione verso sinistra) o \-> (sostituzione verso destra
sostituzione). Inoltre, L e R devono definire automi (cioè che mappano le loro stringhe
su se stessi). Questi operatori corrispondono agli operatori di sostituzione di Karttunen. Se la
la freccia è seguita da un punto interrogativo (?), la sostituzione diventa facoltativa.

- X << l è un TE se X è un TE e l è una delle due forme
a o la forma a:b dove aeb sono singoli caratteri o simboli. Il risultato è un
trasduttore dove l è stato inserito liberamente in X. Il trasduttore ab << c per esempio è
equivalente a c*ac*bc*.

- X op Y L1__R2, ... , LN__RN è un TE se X,Y, L1 tramite LN e R1
attraverso RN sono TE e op è => (restrizione generale), <= (coercizione generale), ^=>
(restrizione generale della superficie), ^<= (coercizione generale della superficie), ^<=> (superficie generale
restrizione e coercizione), _=> (restrizione generale profonda), _<= (coercizione generale profonda),
_<=> (restrizione generale profonda e coercizione). (Questi operatori sono stati implementati in seguito
un suggerimento di Anssi Yli-Jyra.)

- "fname" è un TE. Il compilatore legge il file denominato fname e gira
in un trasduttore della forma riga1|riga2|riga3|... dove rigax è la x-esima riga di
il file. Tutti i caratteri diversi da : e \ sono interpretati letteralmente (cioè non come
operatori). Questo TE è tipicamente usato, ad esempio, per leggere una lista di morfemi da un file.

- " " è un TE. Il compilatore legge un trasduttore precompilato da
il file denominato fname. Questo

Ulteriori caratteristiche

I commenti iniziano con il simbolo % e si estendono fino alla fine della riga. Gli spazi vuoti vengono ignorati
a meno che non siano citati. Le espressioni terminano alla fine di una riga a meno che alla fine della riga
è preceduto da una barra rovesciata. Il comando

#include "nomef"

può essere utilizzato per inserire il codice sorgente da un file denominato fname. Il comando

RE >> "fname"

memorizza l'espressione regolare RE nel file fname. Il comando

#usa hopcroft

dice al compilatore di usare l'algoritmo di minimizzazione Hopcroft d'ora in poi, e

#usa predefinito

torna all'algoritmo di minimizzazione predefinito (Brzozowski). Il comando

ESEMPIO


Ecco un esempio di un semplice programma di trasduttori. Supponendo che il file "adj-stems"
contiene le due righe

facile
in ritardo
big

questo trasduttore analizzerà correttamente le forme dell'aggettivo facile, facile, facile e tardiva,
più tardi, e più tardi.

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

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

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

$R$ = $R$ e $R2$

$Gambi$ = "radici-adj"

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

$S$ || $ R $

EXIT STATUS


fst-compilatore restituisce 0 a meno che non si verifichi qualche errore.

Usa fst-compiler-utf8 online utilizzando i servizi onworks.net


Server e workstation gratuiti

Scarica app per Windows e Linux

  • 1
    SWIG
    SWIG
    SWIG è uno strumento di sviluppo software
    che collega programmi scritti in C e
    C++ con una varietà di alto livello
    linguaggi di programmazione. SWIG è usato con
    diverso...
    Scarica SIG
  • 2
    Tema React di WooCommerce Nextjs
    Tema React di WooCommerce Nextjs
    Tema React WooCommerce, costruito con
    Avanti JS, Webpack, Babel, Node e
    Express, utilizzando GraphQL e Apollo
    Cliente. Negozio WooCommerce a React(
    contiene: Prodotti...
    Scarica il tema WooCommerce Nextjs React
  • 3
    archlabs_repo
    archlabs_repo
    Repository dei pacchetti per ArchLabs Questo è un file
    applicazione che può anche essere recuperata
    da
    https://sourceforge.net/projects/archlabs-repo/.
    È stato ospitato in OnWorks in...
    Scarica archlabs_repo
  • 4
    Progetto Zefiro
    Progetto Zefiro
    Il progetto Zephyr è una nuova generazione
    sistema operativo in tempo reale (RTOS) che
    supporta più hardware
    architetture. Si basa su a
    kernel a ingombro ridotto...
    Scarica il progetto zephyr
  • 5
    SCons
    SCons
    SCons è uno strumento di costruzione di software
    che è un'alternativa superiore al
    il classico strumento di costruzione "Make" che
    tutti conosciamo e amiamo. SCons è
    implementato un...
    Scarica SCons
  • 6
    PSInt
    PSInt
    PSeInt è un interprete di pseudo-codice per
    studenti di programmazione di lingua spagnola.
    Il suo scopo principale è quello di essere uno strumento per
    imparare e comprendere le basi
    concetto...
    Scarica PSInt
  • Di Più "

Comandi Linux

  • 1
    7z
    7z
    7z - Un archiviatore di file con la massima estensione
    rapporto di compressione ...
    Corri 7z
  • 2
    7za
    7za
    7za - Un archiviatore di file con la massima estensione
    rapporto di compressione ...
    Esegui 7za
  • 3
    raccapricciante
    raccapricciante
    CREEPY - Un'informazione di geolocalizzazione
    aggregatore DESCRIZIONE: raccapricciante è un
    applicazione che ti permette di raccogliere
    informazioni relative alla geolocalizzazione su
    utenti di...
    Corri inquietante
  • 4
    cricket-compila
    cricket-compila
    cricket - Un programma per gestire il
    raccolta e visualizzazione di serie temporali
    dati ...
    Esegui la compilazione di cricket
  • 5
    g-wrap-config
    g-wrap-config
    g-wrap-config - script da ottenere
    informazioni sulla versione installata
    di G-Wrap...
    Esegui g-wrap-config
  • 6
    g.accessgrass
    g.accessgrass
    g.access - Controlla l'accesso a
    mapset corrente per altri utenti sul
    sistema. Se non viene fornita alcuna opzione, viene stampato
    stato attuale. PAROLE CHIAVE: generale, mappa
    gestione, p...
    Esegui g.accessgrass
  • Di Più "

Ad