EngelsFransSpaans

Ad


OnWorks-favicon

fst-compiler-utf8 - Online in de cloud

Voer fst-compiler-utf8 uit in de gratis hostingprovider van OnWorks via Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

Dit is de opdracht fst-compiler-utf8 die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

PROGRAMMA:

NAAM


fst-compiler, fst-compiler-utf8 - Twee compilers voor SFST-programma's

KORTE INHOUD


fst-compiler grammatica-bestand [ output-bestand ]
fst-compiler-utf8 grammatica-bestand [ output-bestand ]

OPTIES


-c Bewaar de transducer in een compact formaat dat wordt gebruikt door fst-infl2.

-l Bewaar de transducer in lowmem-formaat.

-s Schakel oppervlak en analyselaag van de transducer. Deze schakelaar moet je gebruiken
bestelling te gebruiken eerste-infl (fst-infl2, eerste-infl3) voor generatie in plaats van analyse.

PRODUCTBESCHRIJVING


fst-compiler is een compiler voor finite-state transducerprogramma's. Het genereert een geminimaliseerd
eindige toestandstransducer die kan worden gebruikt met eerste morgen, eerste-infl, eerste afdruk, eerst vergelijken,
eerste-ontleden, en eerste rooster. De compacte transducerweergave die wordt gegenereerd met
de vlag -c wordt ondersteund door eerste-infl2, eerste trein, en eerste wedstrijd. De geheugen-efficiënt
transducerrepresentatie die wordt gegenereerd met de vlag -l, wordt alleen ondersteund door eerste-
infl3.

Het eerste programmaargument is de naam van een bestand dat het transducerprogramma bevat.
De programmeertaal wordt hieronder beschreven. Het tweede argument is de naam van het bestand
waarnaar de resulterende transducer in binaire vorm zal worden geschreven. Als een tweede argument is
ontbreekt, wordt er naar de uitvoer geschreven stevig.

fst-compiler-utf8 verschilt fst-compiler alleen in de tekencodering. fst-compiler-
utf8 ondersteunt UTF8-codering van de bronbestanden terwijl fst-compiler voor gebruikt moet worden
8-bits karaktercodes zoals latin1 die een uitbreiding zijn van de ASCII-code. Informatie
over de codering wordt opgeslagen in de transducerbestanden en gebruikt door de andere SFST-programma's.

FILE FORMATS


Een transducerprogramma bestaat uit een (optionele) reeks van alfabet en variabele
definities gevolgd door een enkele omzetter uitdrukking die het resultaat bepaalt
omvormer.

Alfabet

Een alfabetdefinitie bestaat uit het sleutelwoord ALPHABET gevolgd door = en een transducer
uitdrukking bijv

ALFABET = [az]:[AZ]

Deze opdracht herdefinieert het alfabet als de set symboolparen die voorkomt op de
overgangen van de transducer. Voorkomen van operatoren op twee niveaus, ontkenningsoperatoren en
niet-geciteerde perioden moeten altijd worden voorafgegaan door een alfabetische definitie.

Variabelen

Er zijn twee verschillende soorten variabelen. Symbool reeks variabelen zijn ingesloten door hasj
tekens (#) en neem symboolreeksen (zie hieronder) als waarden:

#UC# = AZ
#LC# = az

Omzetter variabelen worden omsloten door dollartekens en nemen transduceruitdrukkingen als
waarden:

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

Variabelen waarvan de naam begint met het symbool `=' zijn speciaal overeenkomst variabelen. Als een
Als de overeenkomstvariabele meer dan eens voorkomt in een transduceruitdrukking, zal dit altijd zo zijn
dezelfde waarde. Beschouw het volgende transducerprogramma:

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

De resultaattransducer herkent de strings aXa, bXb en cXc. Alleen acyclische transducers
(dwz transducers met een eindige reeks stringtoewijzingen) kunnen worden toegewezen aan een overeenkomst
variabelen.

Symbolen

Een symbool is ofwel

- een enkel karakter zoals A s 5,

- een teken tussen aanhalingstekens zoals \* of \_,

- een symbool met meerdere tekens zoals of (wat altijd is
tussen punthaken) of

- een backslash gevolgd door een cijfer dat de numerieke code is van de
aangewezen karakter

- het nulsymbool <>.

Symbool volgorde

Een symboolreeks is een reeks tekens, symbolen met meerdere tekens en tekens
bereiken, bijv. az \. .

symbool bereik

Een symboolbereik is ofwel

- een enkel symbool

- een reeks symbolen tussen vierkante haken zoals [A-Za-z] of

- een reeks symbolen die begint met ^ en tussen vierkante haken staat, zoals [^A-Za-z]
(aanduiding van het complement van [a-zA-Z]) of

- de periode (die elk symbool uit het alfabet vertegenwoordigt)

Transducer uitdrukkingen

Een transducerexpressie (TE) wordt recursief als volgt gedefinieerd:

- Een paar van twee symboolbereiken gescheiden door een dubbele punt is een TE.

[az]:[aZ]

- Een enkel symboolbereik zoals [az] is een TE.
Het is een korte vorm voor [az]:[az].

- Twee symboolreeksen tussen accolades en gescheiden door een dubbele punt zijn
at. {a[bc]}:{def} is gelijk aan a:db:e <>:f | a:dc:e <>:f.

- XY is een TE als X en Y TE's zijn.
(Spaties worden genegeerd, tenzij ze tussen aanhalingstekens staan.)

- (X) is een TE als X een TE is.

- X op is een TE is X is een TE en op is ofwel * (Kleene's steroperator), +
(Kleene's plus-operator), of ? (optie-operator)

-op X is een TE is X is een TE en op is ofwel! (ontkenningsoperator), ^
(operator doeltaalextractie), _ (operator brontaalextractie) of ^_
(bron- en doelschakelaaroperator).

- X op Y is een TE is X en Y zijn TEs en op is of & (conjunctie
exploitant), | (disjunctie-operator), || (compositie-operator), of - (aftrekken
bediener)

- L x op y R is een TE als L en R TE's zijn, x en y symboolbereiken en zijn
op is ofwel => (beperking op twee niveaus), <= (dwang op twee niveaus) of <=> (beperking op twee niveaus)
beperking en dwang).

- X op L__R is een TE als X, L en R TE's zijn en op ofwel ^-> (opwaarts
vervanging), _-> (vervanging naar beneden), /-> (vervanging naar links) of \-> (vervanging naar rechts
vervanging). Bovendien moeten L en R automaten definiëren (dwz die hun strings in kaart brengen
op zichzelf). Deze operators komen overeen met de vervangende operators van Karttunen. Als de
pijl wordt gevolgd door een vraagteken (?), de vervanging wordt optioneel.

- X << l is een TE als X een TE is, en l een van beide is
a of de vorm a:b waarbij a en b enkele karakters of symbolen zijn. Het resultaat is een
transducer waar l vrij in X werd ingebracht. De transducer ab << c is bijvoorbeeld
gelijk aan c*ac*bc*.

- X op Y L1__R2, ... , LN__RN is een TE als X,Y, L1 tot en met LN en R1
via RN zijn TE's, en op is ofwel => (algemene beperking), <= (algemene dwang), ^=>
(algemene oppervlaktebeperking), ^<= (algemene oppervlaktedwang), ^<=> (algemene oppervlaktedwang).
beperking en dwang), _=> (algemene diepe beperking), _<= (algemene diepe dwang),
_<=> (algemene diepe beperking en dwang). (Deze operators zijn als volgt geïmplementeerd
een suggestie van Anssi Yli-Jyra.)

- "fnaam" is een TE. De compiler leest het bestand met de naam fname en draait
het in een transducer van de vorm lijn1|lijn2|lijn3|... waarbij linex de x-de lijn is van
het bestand. Alle tekens behalve : en \ worden letterlijk geïnterpreteerd (dus niet als
operatoren). Deze TE wordt meestal gebruikt om bijvoorbeeld een morfeemlijst uit een bestand te lezen.

- " " is een TE. De compiler leest een vooraf gecompileerde transducer uit
het bestand met de naam fname. Dit

Verdere functies

Opmerkingen beginnen met het symbool % en lopen door tot het einde van de regel. Spaties worden genegeerd
tenzij ze worden geciteerd. Uitdrukkingen eindigen aan het einde van een regel, tenzij aan het einde van een regel
wordt voorafgegaan door een backslash. Het bevel

#include "fnaam"

kan worden gebruikt om broncode in te voegen vanuit een bestand met de naam fname. Het bevel

RE >> "fnaam"

slaat de reguliere expressie RE op in het bestand fname. Het bevel

#gebruik hopcroft

vertelt de compiler om vanaf nu het Hopcroft-minimalisatie-algoritme te gebruiken, en

#gebruik standaard

schakelt terug naar het standaard minimalisatie-algoritme (Brzozowski). Het bevel

VOORBEELD


Hier is een voorbeeld van een eenvoudig transducerprogramma. Ervan uitgaande dat het bestand "adj-stams"
bevat de twee regels

En het is heel gemakkelijk
laat
groot

deze transducer zal de bijvoeglijke naamwoorden correct analyseren eenvoudig, gemakkelijker, gemakkelijkst en laat,
later en laatste.

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

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

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

$R$ = $R$ & $R2$

$Stems$ = "adj-stammen"

$S$ = $Stengels$ ( :<>| :{er}| :{Est})

$S$ || $R$

EXIT STATUS


fst-compiler geeft 0 terug, tenzij er een fout optreedt.

Gebruik fst-compiler-utf8 online met behulp van onworks.net-services


Gratis servers en werkstations

Windows- en Linux-apps downloaden

  • 1
    Beugels
    Beugels
    Brackets is een gratis, moderne open-source
    teksteditor speciaal gemaakt voor het web
    Ontwikkeling. Geschreven in HTML, CSS en
    JavaScript met gerichte visuele hulpmiddelen en
    voorbereiding...
    Download haakjes
  • 2
    Gratis Pascal-compiler
    Gratis Pascal-compiler
    Een 32/64/16-bit Pascal-compiler voor
    Win32/64/CE, Linux, Mac OS X/iOS,
    Android, FreeBSD, OS/2, Gameboy
    Advance, Nintendo NDS en DOS;
    semantisch compatibel met...
    Download de gratis Pascal-compiler
  • 3
    Canon EOS DIGITAL-info
    Canon EOS DIGITAL-info
    Canon heeft geen sluitertijd
    opgenomen in de EXIF-informatie van een
    afbeeldingsbestand, in tegenstelling tot Nikon en
    Pentax. Er is geen officiële Canon-basis
    sollicitatie ...
    Canon EOS DIGITAL-info downloaden
  • 4
    REFInd
    REFInd
    rEFInd is een vork van de rEFIt-laars
    manager. Net als rEFIt kan rEFInd dat ook
    detecteert automatisch uw geïnstalleerde EFI-opstart
    laders en het presenteert een mooie GUI
    menu van opstartoptie...
    rEFInd downloaden
  • 5
    ExpressLuke GSI
    ExpressLuke GSI
    Deze SourceForge-downloadpagina was om
    sta gebruikers toe om mijn gebouwde bron te downloaden
    GSI's, gebaseerd op Phhusson's Great
    werk. Ik bouw zowel Android Pie als
    Androïde 1...
    ExpressLuke GSI downloaden
  • 6
    Muziek Caster
    Muziek Caster
    Music Caster is een dienbladmuziekspeler
    waarmee je je lokale muziek kunt casten naar een
    Google Cast-apparaat. Op de eerste vlucht,
    u moet op de pijl in uw klikken
    tas...
    Musiccaster downloaden
  • Meer "

Linux-commando's

Ad