UVA134 Loglan-A Logical Language
题目描述
Loglan 是一种综合的语言,旨在测试语言学的一些基本问题,比如萨皮尔-沃尔夫假说。它在语法上明确,在文化上中立,并且形而上学的节俭。它遵循既定的很小的大约 200 条规则的语法。
Loglan 句子由一系列单词和名称组成,用空格分隔,并以句号结尾(.)。Loglan 单词都以一个元音结尾;名称,从语言上派生,结束辅音。
Loglan 单词分为两类-指定结构的小单词,句子和谓词的形式为 `CCVCV` 或 `CVCV`,其中 `C` 表示辅音,`V` 代表一个元音(见后面的例子)。
我们所研究的洛格伦语(Loglan)子集,采用如下语法规则:
```
A ⇒ a | e | i | o | u
MOD ⇒ ga | ge | gi | go | gu
BA ⇒ ba | be | bi | bo | bu
DA ⇒ da | de | di | do | du
LA ⇒ la | le | li | lo | lu
NAM ⇒ {所有专有名词}
PREDA ⇒ {所有谓词}
⇒ |
⇒ BA | DA
⇒ | A
⇒ LA | 专有名词
⇒ 谓词 | 谓词
⇒ |
⇒ MOD 修饰词
```
我们正在考虑的 Loglan 子集使用以下语法: 编写一个程序,该程序将读取一系列字符串,并确定它们是否是形成的 Loglan 句子。
输入格式
每个 Loglan 句子将从一个新行开始,并以句点(.)结束。
句子可占用多行,单词可由多个空格分隔。输入以包含单个 `#` 的行结尾。你可以假设所有的单词都将被正确地构成。
输出格式
输出为每行包含一个 `good` 或 `bad` 的句子。