2009-11-04 115 views
4

我可以使用由flex/bison | lex/yacc生成的代碼在多線程環境中嗎?恐怕有很多全局變量。它如何被修復?flex/lex yacc/bison多線程環境

+0

你的意思是解析多個線程上的某些輸入的各種[無關的]部分? – mjv 2009-11-04 22:44:06

回答

8

使用flex,您可以使用%option reentrant和野牛%pure-parser生成沒有全局數據的重入代碼。您可能仍然需要某種同步來防止多個線程同時使用相同的數據塊。