2012-08-01 63 views
0

我正在寫一個Flex/Bison分析器爲它包含了循環預處理器指令,它應該複製循環內容的語言展開。例如:循環使用Flex /野牛

for (i=0; i<2; i++) 
    record$i = value$i; 
endfor 

我的預處理器應該生成以下

record0 = value0; 
record1 = value1; 

我需要支持嵌套循環。 任何人都可以提出一個想法如何實現這個使用Flex/Bison。

THX很多!

回答

1

Flex和野牛正在分析工具。所以你可以用它們把你的語言解析成一些內部形式,然後你可以評估這個內部形式來產生你想要的輸出。這些實際上是兩個完全不同的任務,只與您選擇使用的內部表單有關(這可能與任何事情有關 - 最好取決於您的語言是什麼,以及您希望預處理器如何使用它) 。

總之你的問題太廣,這違背任何答案不是更詳細的只是「使用flex和bison來解析你的語言,並使用某種簡單的解釋,以評估結果」。至於你如何做到這一點,那大約有30或40個單獨的問題。

+0

感謝您的解釋。我會做更多的功課...我想看看一些代碼示例,實現類似的任務。 – alg 2012-08-03 15:51:54