англійськафранцузькаіспанська

Ad


Значок OnWorks

fst-compiler - онлайн у хмарі

Запустіть fst-compiler у постачальнику безкоштовного хостингу OnWorks через Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS

Це команда fst-compiler, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн емулятор Windows або онлайн емулятор MAC OS

ПРОГРАМА:

ІМ'Я


fst-compiler, fst-compiler-utf8 - два компілятори для програм SFST

СИНТАКСИС


fst-компілятор граматичний файл [ вихідний файл ]
fst-компілятор-utf8 граматичний файл [ вихідний файл ]

ВАРІАНТИ


-c Зберігайте перетворювач у компактному форматі, який використовується fst-infl2.

-l Зберігайте перетворювач у форматі lowmem.

-s Поверхня перемикання та аналізовий шар перетворювача. Ви повинні використовувати цей перемикач
порядок використання fst-infl (fst-infl2, fst-infl3) для генерації, а не для аналізу.

ОПИС


fst-компілятор є компілятором кінцевих програм перетворювача. Він створює зведений до мінімуму
кінцевий перетворювач, який можна використовувати з перший день, fst-infl, fst-друк, fst-порівняти,
fst-parse, та fst-решітка. Компактне представлення перетворювача, яке створюється за допомогою
прапор -c підтримується fst-infl2, перший поїзд, та перший матч. Ефективна пам'ять
представлення перетворювача, яке генерується з прапором -l, підтримується лише перший-
infl3.

Перший аргумент програми - це ім'я файлу, який містить програму перетворювача.
Мова програмування описана нижче. Другим аргументом є ім'я файлу
до якого результуючий перетворювач буде записаний у двійковій формі. Якщо є другий аргумент
відсутня, вихід буде записано до стандартний вихід.

fst-компілятор-utf8 відрізняється від fst-компілятор тільки в кодуванні символів. fst-компілятор-
utf8 підтримує кодування UTF8 вихідних файлів fst-компілятор має використовуватися для
8-бітові коди символів, такі як latin1, які є розширенням коду ASCII. Інформація
про кодування зберігається у файлах перетворювача і використовується іншими програмами SFST.

Фото ФОРМАТИ


Програма перетворювача складається з (необов'язково) послідовності alphabet та змінна
визначення, за якими слідує одиничний перетворювач вираз що визначає результат
перетворювач.

Алфавіт

Визначення алфавіту складається з ключового слова ALPHABET, за яким слідує = і деякого перетворювача
вираз напр

АЛФАВІТ = [az]:[AZ]

Ця команда перевизначає алфавіт як набір пар символів, що зустрічаються на
переходи перетворювача. Входження дворівневих операторів, операторів заперечення і
Крапкам без лапок завжди має передувати алфавітне визначення.

Змінні

Є два різних типи змінних. Symbol комплект змінні укладені хешем
знаки (#) і приймайте послідовності символів (див. нижче) як значення:

#UC# = AZ
#LC# = az

Перетворювач змінні охоплені знаками долара і приймають вирази перетворювача як
значення:

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

Змінні, назва яких починається з символу `=', є особливими угоду змінні. Якщо an
Змінна узгодження зустрічається більше одного разу у виразі перетворювача, вона буде мати місце завжди
те саме значення. Розглянемо таку програму перетворювача:

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

Результативний перетворювач розпізнає рядки aXa, bXb і cXc. Тільки ациклічні перетворювачі
(тобто перетворювачі зі скінченним набором відображень рядків) можуть бути призначені для узгодження
змінні.

Символи

Символ або

- один символ, наприклад A s 5,

- символ у лапках, наприклад \* або \_,

- багатозначний символ, як або (що завжди
у кутових дужках) або

- зворотний слеш, за яким слідує число, яке є цифровим кодом
призначений персонаж

- нульовий символ <>.

Послідовність символів

Послідовність символів — це послідовність символів, багатосимвольних символів і символів
діапазони, наприклад az \. .

діапазон символів

Діапазон символів є або

- один символ

- послідовність символів, укладена в квадратні дужки, наприклад [A-Za-z] або

- послідовність символів, що починається з ^ і укладається в квадратні дужки, наприклад [^A-Za-z]
(позначення доповнення до [a-zA-Z]) або

- крапка (що позначає будь-який символ з алфавіту)

Вирази перетворювача

Вираз перетворювача (TE) рекурсивно визначається наступним чином:

- Пара з двох діапазонів символів, розділених двокрапкою, є TE.

[az]:[aZ]

- Один діапазон символів, наприклад [az], є TE.
Це коротка форма для [az]:[az].

- Дві послідовності символів, укладені в дужки та розділені двокрапкою
ТЕ. {a[bc]}:{def} еквівалентно a:db:e <>:f | a:dc:e <>:f.

- XY є TE, якщо X і Y є TE.
(Пропуски ігноруються, якщо вони не в лапках.)

- (X) є TE, якщо X є TE.

- X op - це TE - це X - це TE, а op - це або * (оператор зірка Клін), +
(оператор Клін плюс), чи ? (оператор додатковості)

- op X є TE це X є TE і op є або ! (оператор заперечення), ^
(оператор вилучення цільової мови), _ (оператор вилучення вихідної мови) або ^_
(оператор перемикання джерела та цілі).

- X op Y - це TE - це X, а Y - це TE, а op - це або & (з'єднання
оператор), | (оператор диз'юнкції), || (оператор композиції) або - (віднімання
оператор)

- L x op y R є TE, якщо L і R є TE, x і y є діапазонами символів і
op - це або => (дворівневе обмеження), <= (дворівневе примус) або <=> (дворівневе
обмеження і примус).

- X op L__R є TE, якщо X, L і R є TE, а op або ^-> (вгору
заміна), _-> (заміна вниз), /-> (заміна ліворуч) або \-> (праворуч
заміна). Крім того, L і R повинні визначити автомати (тобто які відображають їх рядки
на себе). Ці оператори відповідають операторам заміни Картунена. Якщо
За стрілкою стоїть знак питання (?), заміна стає необов’язковою.

- X << l є TE, якщо X є TE, а l є будь-якою з форм
a або у формі a:b, де a і b – окремі символи або символи. Результатом є а
перетворювач, де l було вільно вставлено в X. Наприклад, перетворювач ab << c є
еквівалентно c*ac*bc*.

- X op Y L1__R2, ... , LN__RN є TE, якщо X,Y, L1 через LN і R1
через RN є TE, а op є або => (загальне обмеження), <= (загальний примус), ^=>
(загальне обмеження поверхні), ^<= (загальне поверхневе примус), ^<=> (загальне поверхневе
обмеження та примус), _=> (загальне глибоке обмеження), _<= (загальне глибоке обмеження),
_<=> (загальне глибоке обмеження і примус). (Ці оператори були реалізовані наступним чином
пропозиція Анссі Ілі-Джира.)

- "fname" - це TE. Компілятор читає файл з іменем fname і повертає
його в перетворювач у вигляді line1|line2|line3|... де linex - це x-й рядок
файл. Усі символи, крім : і \, інтерпретуються буквально (тобто не як
оператори). Цей TE зазвичай використовується, наприклад, для читання списку морфем із файлу.

- " " є TE. Компілятор зчитує попередньо скомпільований перетворювач з
файл з назвою fname. Це

Додаткові можливості

Коментарі починаються із символу % і продовжуються до кінця рядка. Пропуски ігноруються
якщо вони не цитуються. Вирази закінчуються в кінці рядка, якщо не кінець рядка
передує зворотний слеш. Команда

#include "fname"

можна використовувати для вставки вихідного коду з файлу з іменем fname. Команда

RE >> "fname"

зберігає регулярний вираз RE у файлі fname. Команда

#використовуйте hopcroft

повідомляє компілятору використовувати алгоритм мінімізації Хопкрофта відтепер, і

#використовувати за замовчуванням

повертається до стандартного алгоритму мінімізації (Бжозовський). Команда

приклад


Ось приклад простої програми перетворювача. Припускаючи, що файл "adj-stems"
містить два рядки

легко
пізно
великий

цей перетворювач правильно аналізуватиме форми прикметників легкий, легший, найлегший і пізній,
пізніше і найпізніше.

АЛФАВЕТ = [a-zA-Z] y:ie:<> :<>

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

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

$R$ = $R$ і $R2$

$Stems$ = "adj-stems"

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

$S$ || $R$

EXIT СТАТУС


fst-компілятор повертає 0, якщо не станеться якась помилка.

Використовуйте fst-compiler онлайн за допомогою служб onworks.net


Безкоштовні сервери та робочі станції

Завантажте програми для Windows і Linux

  • 1
    Phaser
    Phaser
    Phaser — це швидке, безкоштовне та веселе відкриття
    вихідний ігровий фреймворк HTML5, який пропонує
    Взаємовідображення WebGL і Canvas
    настільні та мобільні веб-браузери. Ігри
    можна спільно...
    Завантажити Phaser
  • 2
    Двигун ВАССАЛ
    Двигун ВАССАЛ
    VASSAL — ігровий движок для створення
    електронні версії традиційної дошки
    і карткові ігри. Він забезпечує підтримку для
    рендеринг і взаємодія ігрових елементів,
    і ...
    Завантажити VASSAL Engine
  • 3
    OpenPDF - форк iText
    OpenPDF - форк iText
    OpenPDF - це бібліотека Java для створення
    і редагування файлів PDF за допомогою LGPL і
    Ліцензія з відкритим кодом MPL. OpenPDF - це
    LGPL/MPL з відкритим кодом наступник iText,
    має ...
    Завантажте OpenPDF - Fork of iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - Система для автоматизації
    Географічні аналізи - це географічні
    Програмне забезпечення інформаційної системи (ГІС) с
    величезні можливості для геоданих
    обробка та ана...
    Завантажити SAGA GIS
  • 5
    Панель інструментів для Java/JTOpen
    Панель інструментів для Java/JTOpen
    IBM Toolbox для Java / JTOpen є a
    бібліотека класів Java, що підтримують
    програмування клієнт/сервер та Інтернет
    моделі до системи під керуванням OS/400,
    i5/OS, o...
    Завантажте Toolbox для Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (або D3 для документів, керованих даними)
    це бібліотека JavaScript, яка дозволяє вам
    створювати динамічні інтерактивні дані
    візуалізації у веб-браузерах. З D3
    ти ...
    Завантажити D3.js
  • Детальніше »

Команди Linux

  • 1
    abidiff
    abidiff
    abidiff - порівняння ABI файлів ELF
    abidiff порівнює двійковий файл програми
    Інтерфейси (ABI) двох спільних бібліотек
    у форматі ELF. Воно випромінює змістовне
    звіт...
    Запустіть abidiff
  • 2
    abidw
    abidw
    abidw - серіалізує ABI ELF
    файл abidw читає спільну бібліотеку в ELF
    форматує та створює представлення XML
    свого ABI до стандартного виводу. The
    випущений ...
    Запустіть abidw
  • 3
    copac2xml
    copac2xml
    bibutils - перетворення бібліографії
    комунальні послуги ...
    Запустіть copac2xml
  • 4
    копт
    копт
    copt - оптимізатор вічка SYSNOPIS:
    файл copt.. ОПИС: copt - це a
    оптимізатор вічко загального призначення. Це
    читає код зі свого стандартного вводу та
    пише...
    Біг копт
  • 5
    gather_stx_titles
    gather_stx_titles
    gather_stx_titles - заголовок збірки
    декларації з документів Stx ...
    Запустіть gather_stx_titles
  • 6
    гатлінг-бенч
    гатлінг-бенч
    bench - http benchmark ...
    Лава для бігу Гатлінга
  • Детальніше »

Ad