英语法语西班牙语

Ad


OnWorks 网站图标

fst-compiler - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 fst-compiler

这是命令 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 格。 生成的紧凑换能器表示
-c 标志,由支持 fst-infl2, 第一列火车,第一场比赛。 内存效率高
使用 -l 标志生成的转换器表示仅支持 快-
通货膨胀3。

第一个程序参数是包含传感器程序的文件名。
编程语言描述如下。 第二个参数是文件名
生成的换能器将以二进制形式写入其中。 如果第二个参数是
丢失,输出将被写入 标准输出。

fst-编译器-utf8 不同于 fst 编译器 仅在字符编码中。 fst-编译器-
utf8 支持源文件的 UTF8 编码,而 fst 编译器 用于
8 位字符代码,如 latin1,是 ASCII 代码的扩展。 信息
关于编码的信息存储在传感器文件中,并由其他 SFST 程序使用。

文件 FORMATS


传感器程序由(可选的)序列组成 字母变量
定义后跟一个 传感器 表达 这定义了结果
传感器。

字母

字母表定义由关键字 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。
它是 [az]:[az] 的缩写形式。

- 用大括号括起来并用冒号分隔的两个符号序列是
吃。 {a[bc]}:{def} 等价于 a:db:e <>:f | a:dc:e <>:f。

- 如果 X 和 Y 是 TE,则 XY 是 TE。
(空格会被忽略,除非被引用。)

- 如果 X 是 TE,则 (X) 是 TE。

- X op 是 TE 是 X 是 TE 并且 op 是 *(Kleene 的星形运算符),+
(Kleene 的加号运算符),或 ? (可选运算符)

- op X 是 TE 是 X 是 TE 并且 op 是两者之一! (否定运算符),^
(目标语言提取运算符)、_(源语言提取运算符)或 ^_
(源和目标切换运算符)。

- X op Y is a TE is X and Y is TEs and op is any & (conjunction
运算符), | (析取运算符), || (组合运算符),或 - (减法
操作员)

- 如果 L 和 R 是 TE,则 L x op y R 是 TE,x 和 y 是符号范围并且
op 是 =>(两级限制)、<=(两级强制)或 <=>(两级限制)
限制和强制)。

- X op L__R 是 TE 如果 X、L 和 R 是 TE 并且 op 是 ^->(向上
替换)、_->(向下替换)、/->(向左替换)或 \->(向右替换)
替代品)。 此外,L 和 R 必须定义自动机(即映射它们的字符串
自己)。 这些运算符对应于 Karttunen 的替换运算符。 如果
箭头后跟一个问号 (?),替换成为可选的。

- 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 是 =>(一般限制)、<=(一般强制)、^=>
(一般表面限制),^<=(一般表面强制),^<=>(一般表面
限制和强制),_=>(一般深度限制),_<=(一般深度强制),
_<=>(一般深度限制和强制)。 (这些运算符是在以下实现的
Anssi Yli-Jyra 的建议。)

- "fname" 是一个 TE。 编译器读取名为 fname 的文件并转
将其转换为 line1|line2|line3|... 形式的转换器,其中 linex 是
文件。 除 : 和 \ 以外的所有字符都按字面解释(即不作为
运营商)。 该 TE 通常用于例如从文件中读取语素列表。

——” " 是一个 TE。编译器从
名为 fname 的文件。 这个

更多功能

注释以符号 % 开始,一直延伸到行尾。 空白被忽略
除非他们被引用。 表达式在行尾终止,除非行尾
前面有一个反斜杠。 命令

#include "fname"

可用于从名为 fname 的文件插入源代码。 命令

RE >> "fname"

将正则表达式 RE 存储在文件 fname 中。 命令

#使用霍普克罗夫特

告诉编译器从现在开始使用 Hopcroft 最小化算法,并且

#默认情况下使用

切换回默认的最小化算法 (Brzozowski)。 命令


这是一个简单的转换器程序的示例。 假设文件“adj-stems”
包含两行


晚了


这个转换器将正确地分析形容词形式easy,easy,easy和late,
后来,最新。

字母表 = [a-zA-Z] y:ie:<> :<>

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

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

$R$ = $R$ & $R2$

$Stems$ = "词干"

$S$ = $Stems$ ( :<>| :{er}| :{美东时间})

$S$ || $R$

退出 状态


fst 编译器 除非发生错误,否则返回 0。

使用 onworks.net 服务在线使用 fst-compiler


免费服务器和工作站

下载 Windows 和 Linux 应用程序

  • 1
    移相器
    移相器
    Phaser 是一个快速、免费且有趣的开放式
    源 HTML5 游戏框架,提供
    WebGL 和 Canvas 渲染
    桌面和移动网络浏览器。 游戏
    可以共...
    下载移相器
  • 2
    附庸引擎
    附庸引擎
    VASSAL 是一个游戏引擎,用于创建
    电子版传统板
    和纸牌游戏。 它提供支持
    游戏块渲染和交互,
    和...
    下载 VASSAL 引擎
  • 3
    OpenPDF - iText 的分支
    OpenPDF - iText 的分支
    OpenPDF 是一个 Java 库,用于创建
    以及使用 LGPL 编辑 PDF 文件和
    MPL 开源许可证。 OpenPDF 是
    iText 的 LGPL/MPL 开源继承者,
    一个...
    下载 OpenPDF - iText 的分支
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - 自动化系统
    地球科学分析 - 是地理
    信息系统 (GIS) 软件
    地理数据的强大功能
    加工和分析...
    下载 SAGA GIS
  • 5
    Java/JTOpen 工具箱
    Java/JTOpen 工具箱
    IBM Toolbox for Java / JTOpen 是一个
    Java类库支持
    客户端/服务器和互联网编程
    模型到运行 OS/400 的系统,
    i5/OS, 哦...
    下载 Java/JTOpen 工具箱
  • 6
    D3.js
    D3.js
    D3.js(或数据驱动文档的 D3)
    是一个 JavaScript 库,它允许你
    生成动态的交互式数据
    Web 浏览器中的可视化。 与D3
    您...
    下载 D3.js
  • 更多 ”

Linux 命令

Ad