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

Ad


Значок OnWorks

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

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

Це команда fst-compiler-utf8, яку можна запустити в постачальнику безкоштовного хостингу 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-utf8 онлайн за допомогою служб onworks.net


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

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

  • 1
    ЛАГІТ
    ЛАГІТ
    SWIG – це інструмент розробки програмного забезпечення
    що з'єднує програми, написані на C і
    C++ з різноманітними високорівневими
    мови програмування. SWIG використовується з
    інший...
    Завантажити SWIG
  • 2
    Тема WooCommerce Nextjs React
    Тема WooCommerce Nextjs React
    Тема React WooCommerce, створена за допомогою
    Next JS, Webpack, Babel, Node і
    Express, використовуючи GraphQL і Apollo
    Клієнт. Магазин WooCommerce в React(
    містить: Продукти...
    Завантажте тему WooCommerce Nextjs React
  • 3
    archlabs_repo
    archlabs_repo
    Сховище пакетів для ArchLabs Це
    додаток, який також можна отримати
    від
    https://sourceforge.net/projects/archlabs-repo/.
    Його розміщено в OnWorks у...
    Завантажити archlabs_repo
  • 4
    Проект Зефір
    Проект Зефір
    Проект Zephyr – це нове покоління
    операційна система реального часу (RTOS).
    підтримує декілька апаратних засобів
    архітектури. Він заснований на а
    ядро малої площі...
    Завантажити Zephyr Project
  • 5
    SCONS
    SCONS
    SCons - це інструмент для створення програмного забезпечення
    що є кращою альтернативою
    класичний інструмент "Make" для створення
    ми всі знаємо і любимо. SCons є
    впроваджено...
    Завантажити SCons
  • 6
    PSeInt
    PSeInt
    PSeInt - це інтерпретатор псевдокоду для
    іспаномовні студенти програмування.
    Його головне призначення – бути інструментом для
    навчання та розуміння основ
    концепція...
    Завантажити PSeInt
  • Детальніше »

Команди Linux

  • 1
    7z
    7z
    7z - файловий архіватор з найвищими
    ступінь стиснення...
    Запустіть 7z
  • 2
    7за
    7за
    7za - файловий архіватор з найвищими
    ступінь стиснення...
    Виконати 7za
  • 3
    плазуни
    плазуни
    CREEPY - інформація про геолокацію
    агрегатор ОПИС: creepy is an
    додаток, що дозволяє збирати
    інформація про геолокацію
    користувачі з...
    Біг моторошно
  • 4
    cricket-compile
    cricket-compile
    cricket - програма для керування
    збір і відображення часових рядів
    дані ...
    Запустіть cricket-compile
  • 5
    g-wrap-config
    g-wrap-config
    g-wrap-config - скрипт для отримання
    інформація про встановлену версію
    G-Wrap ...
    Запустіть g-wrap-config
  • 6
    g.accessgrass
    g.accessgrass
    g.access – контролює доступ до
    поточний набір карт для інших користувачів на
    система. Якщо опції немає, друкує
    поточний стан. КЛЮЧОВІ СЛОВА: загальне, карта
    управління, п...
    Запустіть g.accessgrass
  • Детальніше »

Ad