2012-02-15 139 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