2013-01-03 81 views
1

我想寫一個解析器的日誌文件,其中有與每個標題相關的標題和值的數量。格式類似於以下內容:Lex/Yacc解析器解析文件,其中包含標題和值列

Field1 Field2 Field3 
--------------------- 
Val1 Val2 Val3 

任何人都可以幫助我與lex文件掃描以下格式?

+4

lex/yacc可能是矯枉過正的問題。你可以用大約5行C++來完成。 –

回答

1

這將在lex識別標記「標識符」

id [a-z A-Z_][a-zA-Z0-9_]* 

您可以使用此語法解析器。

S : E '\n' V {printf("Accepted\n");} 
    E : E ' ' ID; 
    V : V ' ' ID; 

ID必須從法的形式返回令牌

但我認爲你應該比較研究Flex和野牛教程。這就夠了。如果您使用的是Linux,Bison的信息頁面有豐富的細節。

+0

感謝您的信息...但我需要lex文件的幫助..我如何將每個字段與其值進行映射? – Angel

+0

只有在可以考慮語法的情況下,纔可以使用值映射字段。我給你的語法只會將標題和值標識爲單獨的字段。 – Ajoy

+0

如果您有一個固定數量的標題,這是可能的。否則,最好使用@ loki-astari說的一些c代碼。 – Ajoy