АнглийскийФранцузскийИспанский

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 (фст-инфл2, фст-инфл3) для генерации, а не для анализа.

ОПИСАНИЕ


fst-компилятор - компилятор программ преобразователей с конечным числом состояний. Создает минимизированный
конечный преобразователь, который может использоваться с фст-мор, фст-инфл, фст-принт, fst-сравнить,
fst-анализ, и fst-решетка. Компактное представление преобразователя, созданное с помощью
флаг -c поддерживается фст-infl2, fst-поезд, и fst-матч. Эффективный с точки зрения памяти
представление преобразователя, созданное с помощью флага -l, поддерживается только фст-
инфл3.

Первый аргумент программы - это имя файла, содержащего программу преобразователя.
Язык программирования описан ниже. Второй аргумент - это имя файла.
в который будет записан полученный преобразователь в двоичной форме. Если второй аргумент
отсутствует, вывод будет записан в стандартный вывод.

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

ФАЙЛОВ ФОРМАТЫ


Программа преобразователя состоит из (необязательной) последовательности алфавит и переменная
определения, за которыми следует один преобразователь выражение что определяет результат
преобразователь.

Алфавит

Определение алфавита состоит из ключевого слова ALPHABET, за которым следует = и некоторый преобразователь.
выражение например

ALPHABET = [az]: [AZ]

Эта команда переопределяет алфавит как набор пар символов, встречающихся на
переходы преобразователя. Вхождения двухуровневых операторов, операторов отрицания и
периодам, не заключенным в кавычки, всегда должно предшествовать определение алфавита.

Переменные

Есть два разных типа переменных. Символ набор переменные заключены в хэш
знаки (#) и принимают последовательности символов (см. ниже) в качестве значений:

# UC # = AZ
# LC # = az

Преобразователь переменные заключены в знаки доллара и принимают выражения преобразователя как
ценности:

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

Переменные, имя которых начинается с символа "=", являются особенными. соглашение переменные. Если
переменная согласования встречается в выражении преобразователя более одного раза, она всегда будет иметь
такое же значение. Рассмотрим следующую программу преобразователя:

$ = 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.
Это короткая форма для [аз]: [аз].

- Две последовательности символов, заключенные в фигурные скобки и разделенные двоеточием, являются
ели. {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. Команда

#используйте хопкрофт

сообщает компилятору использовать алгоритм минимизации Хопкрофта с этого момента, и

#использовать по умолчанию

возвращается к алгоритму минимизации по умолчанию (Brzozowski). Команда

ПРИМЕР


Вот пример простой программы преобразователя. Предполагая, что файл "adj-stems"
содержит две строки

легко
поздно
big

этот преобразователь правильно проанализирует формы прилагательных легко, проще, проще и позже,
позже и в последний раз.

АЛФАВИТ = [a-zA-Z] y: то есть: <> : <>

$ R $ = у <=> я ( : <> e)

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

$ R $ = $ R $ и $ R2 $

$ Stems $ = "adj-stems"

$ S $ = $ Стебли $ ( : <> | : {er} | :{стандартное восточное время})

$ S $ || $ R $

ВЫХОД статус


fst-компилятор возвращает 0, если не возникнет ошибка.

Используйте fst-compiler-utf8 онлайн с помощью сервисов onworks.net


Бесплатные серверы и рабочие станции

Скачать приложения для Windows и Linux

  • 1
    Сковорода
    Сковорода
    SWIG - это инструмент для разработки программного обеспечения
    который соединяет программы, написанные на C, и
    C ++ с множеством высокоуровневых
    языки программирования. SWIG используется с
    разные...
    Скачать SWIG
  • 2
    Тема WooCommerce Nextjs React
    Тема WooCommerce Nextjs React
    Тема React WooCommerce, созданная с помощью
    Далее JS, Webpack, Babel, Node и
    Экспресс, используя 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), которая
    поддерживает несколько аппаратных средств
    архитектуры. Он основан на
    компактное ядро ​​...
    Скачать проект Зефир
  • 5
    SCons
    SCons
    SCons - инструмент для создания программного обеспечения
    это лучшая альтернатива
    классический инструмент сборки "Make",
    мы все знаем и любим. SCons - это
    реализовал ...
    Скачать SCons
  • 6
    PSInt
    PSInt
    PSeInt - интерпретатор псевдокода для
    испаноязычные студенты-программисты.
    Его основная цель - быть инструментом для
    изучение и понимание основных
    концепция ...
    Скачать PSInt
  • Больше »

Команды Linux

  • 1
    7z
    7z
    7z - файловый архиватор с самым высоким
    степень сжатия ...
    Беги 7z
  • 2
    7za
    7za
    7za - файловый архиватор с самым высоким
    степень сжатия ...
    Беги 7за
  • 3
    пресмыкающийся
    пресмыкающийся
    ЖУТКО - Информация о геолокации
    ОПИСАНИЕ агрегатора: Creepy — это
    приложение, позволяющее собирать
    информация, связанная с геолокацией, о
    пользователи из...
    Беги жутко
  • 4
    сборник сверчков
    сборник сверчков
    крикет — программа для управления
    сбор и отображение временных рядов
    данные ...
    Запустите команду cricket-compile
  • 5
    g-wrap-config
    g-wrap-config
    g-wrap-config - скрипт для получения
    информация об установленной версии
    G-Wrap ...
    Запустите g-wrap-config
  • 6
    г.accessgrass
    г.accessgrass
    g.access — контролирует доступ к
    текущий набор карт для других пользователей на
    система. Если опция не указана, печатает
    Текущее состояние. КЛЮЧЕВЫЕ СЛОВА: общее, карта.
    руководство, п...
    Запустите g.accessgrass
  • Больше »

Ad