3
我有以下flex規則。Flex在默認規則匹配上打印換行符到標準輸出 - 想要改變該行爲
"#"{name} {printf(" HASH | %s\n", yytext);}
. {}
它適用於我的目的,並符合第一條規則的輸出;
HASH | some matched string
什麼令我困擾的是,flex還在第二條規則的每個匹配上打印換行符。所以我得到一個充滿換行符的stdout。 C中沒有任何操作嗎?我是否隱式地告訴flex打印一個帶有空白規則操作的換行符?省略「{}」會導致相同的行爲。我可以使用sed或其他來過濾新行,但我寧願告訴flex停止打印換行符。
我很高興提供後續示例和數據。