2012-02-15 83 views
-1
global{ 
    verb 
    test 
    rl0 
    rand (or) rand =0  [Two cases] 
} 

thread{ 
    frac_value = (0.2,(0.1,0.5)) 
    random_thread 

} 

输出应该是这样的:解析配置文件

如果我得到上述输入lex和yacc,基于的检查[兰特(或)兰特= 0]

  1. 如果是 “兰特”,那么它应该打印为 “verb测试RL0兰特frac_value:L = 0.1 frac_value:H = 0.5”,如果它是 “兰特= 0”
  2. ,那么它应该打印为“verb测试rl0 rand = 0 frac_value = 0.2“。

为此,有人可以告诉我如何编写lex和yacc程序。

+0

我真的不明白你在找什么。我假设你正在展示的是你想要分析的输入内容?您能否更具体地了解输入的外观以及期望输出的外观? – Dervall 2012-02-15 09:56:42

+0

输入:全局{ 动词 测试 RL0 兰特(或)兰特= 0 [两例] } 线程{ frac_value =(0.2,(0.1,0.5)) random_thread } 输出应这个: 如果我给了lex和yacc,基于[rand(or)rand = 0] 如果它是“rand”的检查,那么它应该打印为“verb test rl0 rand frac_value: L = 0.1 frac_value:H = 0.5“ 如果它是”rand = 0“,那么它应该打印为”verb test rl0 rand = 0 frac_value = 0.2“。 – sunsoftmohan 2012-04-25 09:01:12

回答

1

你问:“对于这一点可能有人请告诉我如何写lex和yacc程序”

这是一个非常广泛的话题,过于庞大的堆栈溢出几段被覆盖。我建议读一本关于lex和yacc的书,比如这个:http://shop.oreilly.com/product/9781565920002.do