GF软件系统实现了GF编程语言。其组件包括
- 这个编译器,正在翻译
.gf(平方英尺)
源文件到.gfo型
对象文件,到.pgf(磅/平方英尺)
运行时语法,以及各种其他格式
- 这个运行时系统,使用执行解析、生成、翻译和其他功能
.pgf(磅/平方英尺)
语法
- 这个命令解释器,也称为GF外壳,通过调用编译器和运行时系统执行用户命令
本页描述了GF shell的命令,以及在批处理模式下编译器的使用。
GF外壳
GF shell由命令调用玻璃纤维
,它根据以下语法接受参数和选项:
gf(选项|标志)*文件*
外壳保持状态,属于
- 多语言PGF语法
- 可选地,一组已编译的GF模块(保留
操作人员
定义)
- 以前命令的历史记录
- 一组字符串、树和命令宏
除非将文件参数提供给玻璃纤维
命令,shell以空状态启动,没有语法和历史记录。
在shell中,有一组命令可用。其中一些命令可能会更改状态中的语法。命令的一般语法由以下BNF语法给出:
COMMAND_LINE::=命令_管道COMMAND_LINE::=COMMAND_PIPE“;”命令行COMMAND_PIPE::=命令COMMAND_PIPE::=命令“|”COMMAND-PIPECOMMAND::=COMMAND_ID(OPTION|FLAG)*参数?选项::=“-”OPTION_ID标志::=“-”OPTION_ID“=”VALUE参数::=QUOTED_STRING|TREE值::=识别符|QUOTED_STRING
命令管道是一系列命令,其解释方式是将每个命令的输出作为输入发送给下一个命令。选项-信托收据
使GF显示跟踪,即它所附加的命令的中间结果。
命令行是由;
。这些管道按照外观顺序逐一执行。
GF shell命令
下面列出了全套GF shell命令及其解释。此列表也可以通过以下命令在GF shell中获得帮助-完整
.
!
!
:系统命令:转义到系统shell。
语法:! SYSTEMCOMMAND系统管理员
示例:
?
?
:系统管道:将上一个命令的值发送到系统命令。
语法:? SYSTEMCOMMAND系统管理员
示例:
ai=抽象信息
人工智能
=摘要信息
:从抽象语法中提供有关函数、表达式或类别的信息。
该命令有一个参数,该参数可以是函数、表达式,也可以是在当前语法的抽象语法中定义的类别。如果参数是函数,那么?它的字体打印出来了。如果是类别,则打印类别定义。如果给定了一个完整的表达式,它将打印包含优化元变量和表达式类型的表达式。
aw=对齐字
哦
=对齐单词
:以图形方式显示语言之间的单词对齐方式。
以.dot格式(graphviz格式)打印一组字符串。通常,可以使用wf命令将图形保存在文件中。如果定义了-view标志,图形将保存在一个临时文件中,该文件由“点”(graphviz)处理,并由view标志指示的程序显示。除非被标志格式覆盖,否则目标格式为png。多棵树的结果通过convert(ImageMagick)组合成pdf格式。
-格式 |
可视化文件的格式(默认为“png”) |
-朗 |
此语言列表的对齐方式(默认:全部) |
-视图 |
打开结果文件的程序 |
gr|aw(毛重) |
生成树并将单词对齐显示为图形脚本 |
gr|aw-view=“打开” |
在Mac上生成树并显示对齐 |
gr|aw-view=“eog” |
在Ubuntu上生成树并显示对齐 |
gt|aw-giza|wf-file=对齐 |
生成树,将giza路线发送到文件 |
ca=阴蒂分析
加利福尼亚州
=阴蒂分析
:将所有单词的分析打印到词干和阴蒂中。
将所有单词分析为所有可能的词干+阴蒂组合。分析以stem&+clitic1&+clitic2格式返回。。。因此,它是“pt-bind”的倒数。阴蒂列表由“-clitics”标志给出。词干列表是由“-lang”标志给出的语言单词列表。
-阴蒂 |
可能的阴蒂列表(逗号分隔,没有空格) |
-朗 |
分析的语言 |
ca-lang=Fin-clitics=ko,ni“nukkuuko minun vaimoni”|p |
解析芬兰语 |
cc=计算混凝土
复写的副本
=计算机_混凝土
:使用源语法计算具体的语法项。
通过具体语法定义计算TERM。使用最顶层的模块(最后导入的模块)来解析常量名称。注意:如果您希望在编译后保留定义,则在导入语法时需要保留标记。注意:由此产生的术语不是抽象语法意义上的树,因此不是树预期命令的有效输入。此命令必须是自己的一行,因此不能是管道的一部分。
- 语法:
cc(-all |-table |-unqual)?期限
选项:
-全部 |
从记录和表中选取所有字符串(表单和变量) |
-列表 |
所有字符串,在一行中以逗号分隔 |
-一个 |
从记录和表中选择第一个字符串(如果有) |
-表格 |
显示由参数标记的所有字符串 |
-不分性别的 |
隐藏限定模块名称 |
-轨迹 |
跟踪计算 |
dc=定义命令
直流电
=定义命令
:定义命令宏。
将IDENT定义为COMMANDLINE的宏,直到重新定义IDENT。命令调用的格式为%IDENT。该命令可能带有一个参数,在COMMANDLINE中该参数标记为?0。字符串和树都可以是参数。目前最多只能有一个论点。此命令必须是自己的一行,因此不能是管道的一部分。
dg=依赖关系图
分布式电源
=依赖关系图
:打印模块依赖关系图。
打印源模块的依赖关系图。要求已使用-retain标志完成导入。图形写在_gfdepgraph.dot文件中,可以通过Graphviz(系统命令“dot”)进行进一步处理。默认情况下,会显示所有模块,但-only标志通过模式的逗号分隔列表对其进行限制,其中“name*”匹配名称前缀为“name”的模块,其他模式匹配名称完全相同的模块。图形约定为:实心框=抽象,实心椭圆=具体,虚线椭圆=其他实心箭头空头=的,实心箭头=**,虚线箭头=开放虚线箭头=其他依赖项
-仅限 |
包含的模块列表(默认值:all),按字面意思或前缀* |
dg-only=语法工程,食品* |
只显示SyntaxEng和前缀为Food的 |
dt=定义树
日期
=define_tree(定义树)
:定义树或字符串宏。
将IDENT定义为TREE或STRING的宏,直到重新定义IDENT。定义值也可以来自前面加有“<”的命令。如果命令提供了许多值,则选择第一个值。宏的使用形式为%IDENT。当前,此用法不能是另一棵树的子树。此命令必须是自己的一行,因此不能是管道的一部分。
语法:dt标识(树|字符串|“<”命令行)
示例:
dt-ex“你好世界” |
将ex定义为字符串 |
dt ex UseN手册编号 |
将ex定义为字符串 |
dt-ex<p-cat=NP“车里的男人” |
将ex定义为解析结果 |
l-lang=LangSwe%ex|ps-to_utf8 |
将树线性化 |
e=空
e(电子)
=空的
:清空环境(命令历史记录除外)。
eb=基于示例
电子束
=基于示例
:通过将示例解析为树,将.gfe文件转换为.gf文件。
读取FILE.gfe并写入FILE.gf。FILE.gfe中格式为“%ex CAT QUOTEDSTRING”的每个表达式都被语法树替换。这个树是解析器返回的第一个树;有偏见的排名可以用来调整顺序。如果有多个解析,其余的将显示在注释中,如果顺序有偏差,则显示概率。概率标志和配置文件类似于命令gr和rt。请注意,该命令不会更改环境,但生成的.gf文件必须单独导入。
- 语法:
eb(-probs=FILE|-lang=lang)*-FILE=FILE.gfe
选项:
-应用程序接口 |
将树转换为重载API表达式(使用Syntax而不是Lang) |
-文件 |
要转换的文件(必须提供后缀.gfe) |
-朗 |
解析所用的语言 |
-问题 |
用概率对解析进行排序的文件 |
eh=执行历史记录
嗯
=执行历史记录
:从文件中读取命令并执行它们。
gr=生成_随机
克
=生成_随机
:用当前抽象语法生成随机树。
生成随机树列表,默认情况下为一棵树。如果给定树参数,该命令将使用树中所有元变量的值来完成树。生成可能会受到概率的影响,概率在-probs标志中的文件中给出。
-猫 |
生成类别 |
-朗 |
只使用在所有这些语言中具有线性化的函数 |
-数字 |
生成的树数 |
-深度 |
最大生成深度 |
-问题 |
带有偏差概率的文件(格式为“f 0.4”,逐行显示) |
克 |
当前语法startcat中的一棵树 |
gr-cat=NP-数量=16 |
NP类16棵树 |
gr-lang=LangHin,LangTha-cat=Cl |
Cl,用LangHin和LangTha表示 |
gr-probs=文件 |
产生偏差 |
gr(调整CN?(使用N?)) |
生成形式的树(AdjCN?(UseN?) |
gt=生成树
gt公司
=生成树
:生成树列表,默认情况下是穷举的。
生成给定类别的所有树。默认情况下,深度限制为4,但可以通过标志进行更改。如果给定Tree参数,该命令将使用树中所有元变量的值来完成树。
-猫 |
生成类别 |
-深度 |
最大生成深度 |
-朗 |
排除此语言中没有线性化的函数 |
-数字 |
生成的树数 |
gt公司 |
startcat中的所有树,深度为4 |
gt-cat=NP-数量=16 |
NP类16棵树 |
gt-cat=NP-深度=2 |
NP类到深度2的树 |
gt(调整CN?(使用N?)) |
形状树(AdjCN?(UseN?) |
h=帮助
小时
=帮助
:获取命令的描述或命令的完整列表。
显示有关命令的信息。不带参数,显示所有命令的概要。
-更改 |
总结GF 2.9的变更 |
-编码 |
给出关于字符编码的建议 |
-完全 |
提供命令的全部信息 |
-许可证 |
显示版权和许可证信息 |
-t2吨 |
以txt2tags格式输出帮助 |
i=导入
我
=进口
:从源代码或编译的.pgf文件导入语法。
从File中读取语法并将其编译为GF运行时语法。如果其抽象与当前状态不同,则会丢弃旧模块。如果它的抽象是相同的,并且具有相同名称的具体已经处于状态,那么它将被覆盖,但只有在编译成功时才被覆盖。语法分析器依赖于文件名后缀:.cf context-free(标签为BNF)source.ebnf extended BNF source.gfm multi-module GF source.GF normal GF socket.gfo compiled GF so源.pgf Portable grammar Format中的预编译语法
-保留 |
保留操作(用于cc命令) |
-型钢混凝土 |
从源代码强制编译 |
-v(v) |
详细-显示中间状态信息 |
l=线性化
我
=使线性化
:将抽象语法表达式转换为字符串。
通过范围内的语法显示树的线性化。可以使用-lang标志将其限制在较少的语言中。字符串操作序列(参见命令ps)可以作为选项提供,然后像管道一样连接到ps命令,只是它只影响字符串,而不影响表标签。可以使用unlexer标志分别为每种语言提供这些信息,其结果将添加到其他lexer标记之前。unlexer标志的值是以空格分隔的逗号分隔的字符串操作序列列表;请参见示例。
-全部 |
逐行显示所有形式和变体(参见l-list) |
-支架 |
用括号和节点路径显示树结构 |
-组 |
所有语言(按语言分组)都会删除重复的字符串 |
-列表 |
显示所有形式和变体,在一行中用逗号分隔(参见l-all) |
-多个 |
线性化到所有语言(默认) |
-表格 |
显示由参数标记的所有窗体 |
-tabtreebank(标签库) |
在标签分隔的行上显示树及其线性化 |
-树库 |
用语言名称显示树和标签线性化 |
-绑定 |
绑定由Prelude.bind分隔的标记,即&+ |
-焦炭 |
使每个非空格字符都成为标记的lexer |
-来自大气 |
从unicode到GF Amharic音译 |
-来自古希腊语 |
从unicode到GF古希腊音译 |
-来自_狂犬病 |
从unicode到GF阿拉伯语音译 |
-from_arabic_unvocalized |
从unicode到GF非发音阿拉伯语音译 |
-来自_cp1251 |
从cp1251解码(保加利亚资源中使用的西里尔语) |
-来自_devanagari |
从unicode到GF梵文音译 |
-来自希腊语 |
从unicode到GF现代希腊音译 |
-来自希伯来语 |
从unicode到GF非发音希伯来语音译 |
-发件人_电子邮件 |
从unicode到GF Nepali音译 |
-来自persian |
从unicode到GF波斯语/波斯语音译 |
-来自梵语 |
从unicode到GF梵语音译 |
-发件人_辛迪 |
从unicode到GF Sindhi音译 |
-来自_图卢古 |
从unicode到GF泰卢固语音译 |
-from_thai(来自大海) |
从unicode到GF泰语音译 |
-来自urdu |
从unicode到GF乌尔都语音译 |
-来自utf8 |
从utf8解码(默认) |
-词汇代码 |
类代码lexer |
-词汇希腊语 |
lexer规范化古希腊重音 |
-词汇希腊2 |
lexer规范化带有元音长度注释的文本的古希腊重音 |
-词汇混合 |
文本和代码的混合,如LaTeX(代码介于$…$、\(…)\、\[…]之间) |
-词汇文本 |
类似文本的lexer |
-to_am高压 |
从GF Amharic音译到unicode |
-到古希腊语(_A) |
从GF古希腊音译到unicode |
-狂犬病 |
从GF阿拉伯语音译到unicode |
-到_arabic_unvocalized |
从GF非发音阿拉伯语音译到unicode |
-至_cp1251 |
编码为cp1251(保加利亚资源中使用的西里尔文) |
-to_devanagari公司 |
从GF梵文音译到unicode |
-希腊语 |
从GF现代希腊音译到unicode |
-希伯来语 |
从GF非发音希伯来语音译到unicode |
-到html |
用换行符包装html文件 |
-删除(_N) |
从GF尼泊尔语音译到unicode |
-给persian |
从GF波斯语/波斯语音译到unicode |
-to_梵语 |
从GF梵语音译到unicode |
-到信德 |
从GF Sindhi音译到unicode |
-到图卢古 |
从GF泰卢固语音译到unicode |
-to_thai公司 |
从GF泰语音译到unicode |
-到urdu(_U) |
从GF乌尔都语音译到unicode |
-到utf8 |
编码为utf8(默认) |
-无变化的 |
在标记之间不加空格的unlexer |
-无编码 |
代码式解锁器 |
-非希腊语 |
非标准化古希腊重音 |
-未混合的 |
文本和代码的混合(代码介于$…$、\(…)\、\[…]之间) |
-非文本 |
文本式解锁器 |
-解除武装 |
在标记之间放置一个空格的unxer(默认) |
-单词 |
假定标记由空格分隔的lexer(默认) |
-朗 |
线性化语言(逗号分隔,无空格) |
-未经授权的人 |
将unlexers分别设置为每种语言(空格分隔) |
l-lang=LangSwe,LangNor-no_Utt |
将树线性化为LangSwe和LangNor |
gr-lang=LangHin-cat=Cl | l-table-to_devanagari |
印地语表 |
l-unlexer=“LangAra=to_arabic LangHin=to_devanagari” |
不同的非英语学习者 |
lc=线性区块
信用证
=linearize_chunks(线性区块)
:线性化最大块中包含元变量的树,而不包含元变量。
一个希望是临时的命令,用于绕过类型检查器,该类型检查器会使树失败,其中功能节点是元变量。
-树库 |
用语言名称显示树和标签线性化 |
-绑定 |
绑定由Prelude.bind分隔的标记,即&+ |
-焦炭 |
使每个非空格字符都成为标记的lexer |
-来自大气 |
从unicode到GF Amharic音译 |
-来自古希腊语 |
从unicode到GF古希腊音译 |
-来自_狂犬病 |
从unicode到GF阿拉伯语音译 |
-from_arabic_unvocalized |
从unicode到GF非发音阿拉伯语音译 |
-来自_cp1251 |
从cp1251解码(保加利亚资源中使用的西里尔语) |
-来自_devanagari |
从unicode到GF梵文音译 |
-来自希腊语 |
从unicode到GF现代希腊音译 |
-来自希伯来语 |
从unicode到GF非发音希伯来语音译 |
-发件人_电子邮件 |
从unicode到GF Nepali音译 |
-来自persian |
从unicode到GF波斯语/波斯语音译 |
-来自梵语 |
从unicode到GF梵语音译 |
-发件人_辛迪 |
从unicode到GF Sindhi音译 |
-来自_图卢古 |
从unicode到GF泰卢固语音译 |
-from_thai(来自大海) |
从unicode到GF泰语音译 |
-来自urdu |
从unicode到GF乌尔都语音译 |
-来自utf8 |
从utf8解码(默认) |
-词汇代码 |
类代码lexer |
-词汇希腊语 |
lexer规范化古希腊重音 |
-词汇希腊2 |
lexer规范化带有元音长度注释的文本的古希腊重音 |
-词汇混合 |
文本和代码的混合,如LaTeX(代码介于$…$、\(…)\、\[…]之间) |
-词汇文本 |
类似文本的lexer |
-to_am高压 |
从GF Amharic音译到unicode |
-到古希腊语(_A) |
从GF古希腊音译到unicode |
-狂犬病 |
从GF阿拉伯语音译到unicode |
-到_arabic_unvocalized |
从GF非发音阿拉伯语音译到unicode |
-至_cp1251 |
编码为cp1251(保加利亚资源中使用的西里尔文) |
-to_devanagari公司 |
从GF梵文音译到unicode |
-希腊语 |
从GF现代希腊音译到unicode |
-希伯来语 |
从GF非发音希伯来语音译到unicode |
-到html |
用换行符包装html文件 |
-删除(_N) |
从GF尼泊尔语音译到unicode |
-给persian |
从GF波斯语/波斯语音译到unicode |
-to_梵语 |
从GF梵语音译到unicode |
-到信德 |
从GF Sindhi音译到unicode |
-到图卢古 |
从GF泰卢固语音译到unicode |
-to_thai公司 |
从GF泰语音译到unicode |
-到urdu(_U) |
从GF乌尔都语音译到unicode |
-到utf8 |
编码为utf8(默认) |
-无变化的 |
在标记之间不加空格的unlexer |
-无编码 |
代码式解锁器 |
-非希腊语 |
非标准化古希腊重音 |
-未混合的 |
文本和代码的混合(代码介于$…$、\(…)\、\[…]之间) |
-非文本 |
文本式解锁器 |
-解除武装 |
在标记之间放置一个空格的unxer(默认) |
-单词 |
假定标记由空格分隔的lexer(默认) |
l-lang=LangSwe,LangNor-chunks?a b(?c d) |
ma=形态分析
妈妈
=形态分析
:打印字符串中所有单词的形态分析。
使用实际语法的形态分析仪打印输入字符串中空格分隔单词的所有分析(参见命令pg)
-已知 |
只返回已知单词,按出现的顺序 |
-缺少 |
按出现顺序显示未知单词列表 |
mq=形态测验
mq(平方米)
=形态测验
:开始形态学测验。
-朗 |
测验的语言 |
-猫 |
测验的类别 |
-数字 |
最大问题数 |
-问题 |
生成概率有偏差的文件 |
p=解析
第页
=解析
:解析字符串以抽象语法表达式。
显示通过分析范围内语法中的字符串返回的所有树。可以使用-lang标志将其限制在较少的语言中。默认的开始类别可以被-cat标志覆盖。另请参阅ps命令以了解词法分析和字符编码。
-openclass标志是实验性的,允许解析器具有一定的健壮性。例如,如果给定-openclass=“A,N,V”,解析器将接受带有资源语法的未知形容词、名词和动词。
-猫 |
解析的目标类别 |
-朗 |
解析语言(逗号分隔,无空格) |
-公开课 |
健壮解析的开放类类别列表 |
-深度 |
抽象语法树有元变量时证明搜索的最大深度 |
pg=打印语法
前列腺素
=打印语法
:用给定的打印机打印实际语法。
打印所有相关语言的实际语法。在某些打印机中,这可以限制为带有-lang=X,Y标志(逗号分隔,没有空格)的语言子集。-printer=P标志设置语法的打印格式。N.B.1由于语法是在导入时编译的,因此此命令通常显示与源代码截然不同的语法。N.B.2生成不同格式的另一种方法是使用批处理编译器“gf-make”。以下值可用于批处理编译器(flag-output-format)和print_grammar命令(flag-printer):
bnf bnf(context-free grammar)ebnf以graphviz格式扩展的bnf fa有限自动机gsl Nuance语音识别格式haskell haskell(抽象语法)java java(抽象语法正则表达式slf slf语音识别格式srgs_abnf srgs语音识别格式在abnf中srgs_abnf_norec srgs abnf,递归消除srgs_xml srgs语言识别格式在xml中srgs_xml_nonrec SRGSXML,递归消除vxml语音xml基于抽象语法
-猫 |
只显示抽象语法类别的名称 |
-完整形式 |
打印完整词典 |
-娱乐 |
只显示抽象语法函数的名称和类型 |
-兰斯 |
只显示顶级具体语法模块的名称 |
-雷克萨斯语 |
以Xerox LEXC格式打印词典 |
-缺少 |
只显示没有线性化的函数的名称 |
-选择 |
优化生成的pgf |
-前列腺素f |
在文件中写入当前pgf图像 |
-单词 |
打印单词列表 |
-文件 |
使用-pgf选项打印时设置文件名 |
-朗 |
为一些选项选择语言(默认为所有语言) |
-打印机 |
选择打印格式(参见上面的标志值) |
pg-funs |?grep“S;” |
显示值为cat S的函数 |
ph=打印历史
酸碱度
=打印历史记录
:打印命令历史记录。
打印GF会话期间发出的命令。eh命令可以读取结果。启动GF时,结果可用作脚本。
ph|wf-file=foo.gfs |
将历史记录保存到文件中 |
ps=输入字符串
秒
=输入字符串
:返回一个字符串,可能用函数处理。
返回通过按命令行选项列表中给定的顺序应用字符串处理函数从参数字符串中获取的字符串。因此,“ps-f-gs”返回g(fs)。典型的字符串处理器是lexers和unlexers,但也可以进行字符编码转换。不及格者保留输入到行的除法。要查看音译表,请使用命令ut。
-行 |
将操作分别应用于每个输入行,返回行列表 |
-绑定 |
绑定由Prelude.bind分隔的标记,即&+ |
-焦炭 |
使每个非空格字符都成为标记的lexer |
-来自大气 |
从unicode到GF Amharic音译 |
-来自古希腊语 |
从unicode到GF古希腊音译 |
-来自_狂犬病 |
从unicode到GF阿拉伯语音译 |
-from_arabic_unvocalized |
从unicode到GF非发音阿拉伯语音译 |
-来自_cp1251 |
从cp1251解码(保加利亚资源中使用的西里尔语) |
-来自_devanagari |
从unicode到GF梵文音译 |
-来自希腊语 |
从unicode到GF现代希腊音译 |
-来自希伯来语 |
从unicode到GF非发音希伯来语音译 |
-发件人_电子邮件 |
从unicode到GF Nepali音译 |
-来自persian |
从unicode到GF波斯语/波斯语音译 |
-来自梵语 |
从unicode到GF梵语音译 |
-发件人_辛迪 |
从unicode到GF Sindhi音译 |
-来自_图卢古 |
从unicode到GF泰卢固语音译 |
-from_thai(来自大海) |
从unicode到GF泰语音译 |
-来自urdu |
从unicode到GF乌尔都语音译 |
-来自utf8 |
从utf8解码(默认) |
-词汇代码 |
类代码lexer |
-词汇希腊语 |
lexer规范化古希腊重音 |
-词汇希腊2 |
lexer规范化带有元音长度注释的文本的古希腊重音 |
-词汇混合 |
文本和代码的混合,如LaTeX(代码介于$…$、\(…)\、\[…]之间) |
-词汇文本 |
类似文本的lexer |
-to_am高压 |
从GF Amharic音译到unicode |
-到古希腊语(_A) |
从GF古希腊音译到unicode |
-狂犬病 |
从GF阿拉伯语音译到unicode |
-到_arabic_unvocalized |
从GF非发音阿拉伯语音译到unicode |
-至_cp1251 |
编码为cp1251(保加利亚资源中使用的西里尔文) |
-to_devanagari公司 |
从GF梵文音译到unicode |
-希腊语 |
从GF现代希腊音译到unicode |
-希伯来语 |
从GF非发音希伯来语音译到unicode |
-到html |
用换行符包装html文件 |
-删除(_N) |
从GF尼泊尔语音译到unicode |
-给persian |
从GF波斯语/波斯语音译到unicode |
-to_梵语 |
从GF梵语音译到unicode |
-到信德 |
从GF Sindhi音译到unicode |
-到图卢古 |
从GF泰卢固语音译到unicode |
-to_thai公司 |
从GF泰语音译到unicode |
-到urdu(_U) |
从GF乌尔都语音译到unicode |
-到utf8 |
编码为utf8(默认) |
-无变化的 |
在标记之间不加空格的unlexer |
-无编码 |
代码式解锁器 |
-非希腊语 |
非标准化古希腊重音 |
-未混合的 |
文本和代码的混合(代码介于$…$、\(…)\、\[…]之间) |
-非文本 |
文本式解锁器 |
-解除武装 |
在标记之间放置一个空格的unxer(默认) |
-单词 |
假定标记由空格分隔的lexer(默认) |
-环境价值 |
仅适用于此环境 |
-来自 |
反向应用此文件中定义的音译(每行格式为“unicode translit”) |
-至 |
转发应用此文件中定义的音译 |
l(EAdd 3 4)|ps-取消代码 |
线性化类码输出 |
ps-lexcode | p-cat=扩展 |
解析类代码输入 |
gr-cat=QCl | l | ps-绑定 |
LangFin的线性化输出 |
ps-to_devanagari“A-p” |
用UTF8终端显示梵文 |
rf-file=Hin.gf | ps-env=引号-to_devanagari |
将translit转换为UTF8 |
rf-file=Ara.gf | ps-from_utf8-env=引号-from_arabic |
将UTF8转换为音译 |
ps-to=中文翻译“abc” |
应用文件chinese.trans中定义的音译 |
ps-lexgreek“a)gavoi`a)'nvrwpoi'齿*” |
规范古希腊重音 |
pt=输入树
pt(磅)
=输入树(_T)
:返回树,可能用函数处理。
返回通过按命令行选项列表中给定的顺序应用树处理函数从参数树中获取的树。因此,“pt-f-g s”返回g(f s)。典型的树处理器是类型检查和语义计算。
-计算 |
使用语义定义进行计算(def) |
-最大的 |
按节点数从最大到最小对树进行排序 |
-节点 |
删除重复的树 |
-最小的 |
按节点数从最小到最大对树进行排序 |
-子树 |
返回所有完全应用的子树(在抽象处停止),默认情况下按最大值排序 |
-娱乐 |
返回树中出现的所有有趣的函数,并带有重复项 |
q=退出
q个
=退出
:退出GF解释器。
r=重新加载
第页
=重新加载
:重复最新的导入命令。
rf=读取文件
射频
=读取文件(_F)
:从文件中读取字符串或树输入。
从文件中读取输入。文件名必须用双引号括起来。默认情况下,输入被解释为字符串,因此可以通过管道传输到解析命令。选项树将输入解释为一棵树,可以将其提供给线性化命令。选项-lines将逐行生成字符串或树的列表。
-行 |
返回行列表,而不是所有内容的单一项 |
-树 |
将字符串转换为树 |
rt=等级树
rt(右)
=等级树(_T)
:按概率递减的顺序显示树。
按照从最大到最小的概率对树进行排序,在每个类别中使用均匀分布(默认),或者按照flag-probs=file给定的文件的指定进行偏置,其中每行的形式为“函数概率”,例如“youPol_Pron 0.01”。
-问题 |
来自此文件的概率(每行格式为“f 0.6”) |
p“你在这里”|rt-probs=probs|pt-number=1 |
最可能的结果 |
sd=显示依赖项
标准偏差
=显示依赖项(_D)
:显示给定常数所依赖的所有常数。
通过追溯遇到的每个常量的类型和定义,递归显示所有限定的常量名称,但只列出每个名称一次。此命令要求源语法位于范围内,使用“import-retain”导入。注意,如果使用标记-optimize=noexpand编译模块,则精度会更好。此命令必须是自己的一行,因此不能是管道的一部分。
sd范型Eng.mkV范型Eng-mkN |
显示mkV和mkN依赖的所有常数 |
sd尺寸ParadigmsEng.mkV |
显示mkV依赖的所有常数以及大小 |
se=集合编码
东南方
=集合编码
:设置当前终端中使用的编码。
标准cp1251 |
将编码设置为cp1521 |
使用utf8 |
将编码设置为utf8(默认值) |
so=显示操作
所以
=显示操作(_O)
:显示范围中的所有操作,可能仅限于值类型。
显示当前资源中所有可用操作的名称和类型签名。此命令要求源语法位于范围内,使用“import-retain”导入。这些操作包括范围内的参数构造函数。可选TYPE根据值类型进行筛选。grep STRINGs根据类型签名的其他子字符串进行筛选。
-格雷普 |
用于过滤的子字符串(该命令可以有许多这样的子字符串) |
所以Det |
显示创建Det的所有操作员 |
so-grep=准备 |
查找与Prep相关的操作 |
所以|wf-file=/tmp/opers |
将操作列表写入文件 |
sp=系统管道
服务提供商
=系统管道
:向系统命令发送参数。
ss=显示源
不锈钢
=show_source(显示源)
:显示作用域中模块的源代码,可能只显示标题。
显示编译后的源代码,即它包含在GF对象文件中。此命令要求源语法位于范围内,使用“import-retain”导入。可选的MODULE参数导致只显示这些模块。-size和-detailedsize选项将代码大小显示为构造函数节点的数量。此命令必须是自己的一行,因此不能是管道的一部分。
- 语法:
ss(-strip)?(保存)?模块*
选项:
-详细尺寸 |
显示所有判断和模块的大小,而不是代码 |
-保存 |
将每个MODULE保存在文件MODULE.gfh中,而不是打印在终端上 |
-尺寸 |
显示所有模块的大小而不是代码 |
-带材 |
只显示oper和lin的类型签名,而不显示它们的定义 |
不锈钢 |
在终端上打印完整的当前源语法 |
ss-strip-保存MorphoFin |
打印文件MorphoFin.gfh中的标题 |
tq=翻译测验
tq(总质量)
=翻译测验
:开始一个翻译测验。
-来自 |
用这种语言翻译 |
-至 |
翻译成这种语言 |
-猫 |
在这个类别中翻译 |
-数字 |
最大问题数 |
-问题 |
生成概率有偏差的文件 |
tq-从=工程-到=瑞典 |
startcat中有树吗 |
tq-from=Eng-to=Swe(调整CN(位置A?2)(使用N?)) |
只有这种形式的树 |
tt=目标
tt公司
=to_trie(T)
:将树列表合并为trie。
ut=unicode表
美国犹他州
=unicode表
:显示unicode字符集的音译表。
-阿姆哈拉语 |
阿姆哈拉语 |
-古希腊语 |
古希腊语 |
-阿拉伯语的 |
阿拉伯语 |
-阿拉伯语化的 |
未发音的阿拉伯语 |
-德瓦纳加里 |
梵文 |
-希腊语 |
现代希腊语 |
-希伯来语 |
未发音的希伯来语 |
-尼泊尔语 |
尼泊尔语 |
-波斯人 |
波斯语/波斯语 |
-梵语 |
梵语 |
-信德人 |
信德省 |
-泰卢固语 |
泰卢固语 |
-泰国语 |
泰国人 |
-乌尔杜 |
乌尔都语 |
vd=可视化依赖项
虚拟数据
=可视化依赖项
:以图形方式显示单词依赖关系树。
以.dot格式(默认为graphviz格式)或LaTeX(flag-output=LaTeX)或CoNLL/MaltParser格式(flag-output=CoNLL用于训练,malt_input用于未分析的输入)打印依赖关系树。默认情况下,最后一个参数是每个抽象语法函数的头;此外,头部取决于上述函数的头部。通常,可以使用wf命令将图形保存在文件中。如果定义了-view标志,图形将保存在一个临时文件中,该文件由点(graphviz)处理,并由view标志指示的程序显示。除非被标志格式覆盖,否则目标格式为png。多棵树的结果通过convert(ImageMagick)组合成pdf格式。另请参阅“vp-showdep”以了解依赖关系的另一种可视化。
-v(v) |
显示额外信息 |
-conll2胶乳 |
将conll转换为latex |
-abs标签 |
标签的抽象配置文件,每行格式为“fun label*” |
-cnclabels公司 |
标签的具体配置文件,每行格式'fun{words|*}pos标签头' |
-文件 |
与abslabels(抽象配置文件)相同 |
-格式 |
使用点的可视化文件格式(默认为“png”) |
-输出 |
图形源的输出格式(latex、conll、dot(默认但已弃用)) |
-视图 |
打开结果图形文件的程序(默认为“打开”) |
-朗 |
分析的语言 |
gr|vd公司 |
生成树并在.dot中显示依赖关系树 |
gr|vd-view=打开 |
生成树并在Mac的“open”上显示依赖关系树 |
gr | vd-view=open-output=乳胶 |
生成树并用Mac的“open”显示乳胶依赖关系树 |
gr-number=1000|vd-abslabels=Lang.labels-cnclabels=LangSwe.labels-output=conll |
生成随机树库 |
rf-file=ex.concll | vd-conll2latex | wf-file=ex.tex |
将conll文件转换为latex |
vp=可视化解析
副总裁
=可视化解析
:以图形方式显示解析树。
以.dot格式(graphviz格式)打印解析树。通常,可以使用wf命令将图形保存在文件中。如果定义了-view标志,图形将保存在一个临时文件中,该文件由点(graphviz)处理,并由view标志指示的程序显示。除非被标志格式覆盖,否则目标格式为png。多棵树的结果通过convert(ImageMagick)组合成pdf格式。
-表演 |
在树节点中显示类别(默认) |
-诺卡特 |
不显示类别 |
-表演 |
显示依赖项标签 |
-娱乐节目 |
在树节点中显示函数名 |
-没有乐趣 |
不显示函数名(默认) |
-展示 |
显示树的叶子(默认) |
-诺列夫 |
不要显示树的叶子(即只显示抽象树) |
-朗 |
可视化的语言 |
-文件 |
带有-deps的依赖项标签的配置文件,每行格式为“fun-label*” |
-格式 |
可视化文件的格式(默认为“png”) |
-视图 |
打开结果文件的程序(默认为“打开”) |
-节点(nodefont) |
树节点的字体(默认:Times--graphviz标准字体) |
-叶子字体 |
树叶的字体(默认:nodefont) |
-节点颜色 |
树节点的颜色(默认值:黑色--graphviz标准颜色) |
-叶色 |
树叶的颜色(默认值:节点颜色) |
-节点格式 |
树节点之间的边样式(实线/虚线/点线/粗体,默认值:实线) |
-叶状花纹 |
叶子链接的边缘样式(实线/虚线/点线/粗体,默认值:虚线) |
p“John walks”|副总裁 |
生成树并将解析树显示为.dot脚本 |
gr|vp-view=打开 |
在Mac上生成树并显示解析树 |
p“她爱我们”|vp-view=open-showdep-file=uddeps.labels-nocat |
显示依赖关系树的可视变体 |
vt=可视化树
及物动词
=可视化树
:以图形方式显示一组树。
以.dot格式(graphviz格式)打印一组树。通常,可以使用wf命令将图形保存在文件中。如果定义了-view标志,图形将保存在一个临时文件中,该文件由点(graphviz)处理,并由view标志指示的命令显示。除非被标志格式覆盖,否则目标格式为postscript。多棵树的结果通过convert(ImageMagick)组合成pdf格式。使用选项-mk,用于显示形式为“mkC”的库样式函数名。
-应用程序接口 |
使用值cats C显示函数名转换为“mkC”的树 |
-百万 |
类似于-api,已弃用 |
-没有乐趣 |
不显示函数,只显示类别 |
-诺卡特 |
不显示类别,只显示函数 |
-格式 |
可视化文件的格式(默认为“png”) |
-视图 |
打开结果文件的程序(默认为“打开”) |
p“你好”| vt |
解析字符串并将树显示为图形脚本 |
p“hello”|vt-view=“打开” |
解析字符串并在Mac上显示树 |
wf=写入文件
世界粮食计划署
=写入文件
:将字符串或树发送到文件。
GF批处理编译器
使用选项-批处理
,可以在批处理模式下调用GF,即无需打开shell即可从中编译文件.gf(平方英尺)
到.gfo型
. The-秒
选项(“silent”)消除除错误之外的所有消息。
$gf-批次-s LangIta.gf
使用选项-制造
,作为一组顶级语法文件(具有相同的抽象语法)作为参数,GF生成一个.pgf(磅/平方英尺)
文件。国旗-优化-pgf
最小化.pgf(磅/平方英尺)
文件,对于要发布的语法,建议使用。
$gf-制造-优化-pgf LangIta.gf LangEng.gf Lang Ger.gf
国旗-输出形式
更改输出格式.pgf(磅/平方英尺)
其他格式。例如
$gf-制造-输出格式=js LangEng.pgf LangGer.pgf
注意,参数可以是.pgf(磅/平方英尺)
文件,在本例中,这些文件被合并并写入JavaScript语法文件。
可通过以下方式获得更多选项和说明
$gf-帮助
从运行GF脚本,可以使用标准输入的重定向:
$gf<脚本.gfs
文件脚本.gfs
然后应该包含一系列GF命令,每行一个。跳过无法识别的命令行而不终止GF。