如何匹配bison语法中的字符串?

时间:2011-12-26 14:47:13

标签: bison flex-lexer

如何匹配bison语法中的字符串?一个代表自己的字符串就像“polySphere”一样。我是否必须在.lex文件中创建一个令牌,如POLYSPHERE,然后在野牛中使用它?我不能直接使用字符串吗?

由于

2 个答案:

答案 0 :(得分:1)

你无法识别语法中的字符串。你会有这样的错误:

multicharacter literal tokens not supported

你应该简单地添加你的lex

"polySphere" { return POLYSPHERE; }

答案 1 :(得分:1)

你可以逐字逐句识别野牛中的字符串,例如:

polysphere: 'p' 'o' 'l' 'y' 'S' 'p' 'h' 'e' 'r' 'e'

但这是相当无效的 - 通常它更好地识别词法分析器中的字符串并返回单个标记