Flex Rule将美国文字转换为英国读者

时间:2019-05-16 19:55:16

标签: flex-lexer

编写一个Flex程序,将美国文本转换为英国读者。文本包含(1)由小写或大写字母组成的任意英语单词; (2)货币符号,形式为符号$,后跟一个整数或浮点数; (3)华氏温度以整数或浮点数的形式,后跟两个字母°F。例如,可能的文字是

今晚我们去看一场足球比赛。门票只有6美元,外面是72°F。

您的程序根据以下规则转换文本:(1)以1美元= 0.64英镑的汇率将美元转换为英镑; (2)根据公式[°C] =([°F]-32)×5/9将华氏温度转换为摄氏温度; (3)将每次发生的“足球”转换为“足球”; (4)保留所有其他单词。例如,对于上述输入,程序的输出应为:

我们今晚去看足球比赛。门票只有3英镑,外面的温度是22°C。

指南:

(1)您只需要编写Flex代码的“规则”部分。也就是说,您可以省略标头(例如声明包含的.h文件)和主函数(在其中调用yylex的地方)。 (2)您可以假设Flex可以直接识别£和°之类的符号,并且可以通过“ printf”直接打印这些符号,就像$可以打印一样。无需引用其Unicode。 (3)如果转换前的数字是整数,则转换后的数字也是整数。如果转换前的数字是浮点数,那么转换后的数字也是浮点数。

0 个答案:

没有答案