[英]flex/bison returning a character token from the scanner in C++
我將使用野牛文檔中的calc ++示例作為更復雜語法的起點。 我無法弄清的一件事是如何從flex到bison返回一個字符(文字)標記。
在純C示例中,我看到flex只是將令牌返回為:
"+" { count(); return('+'); }
calc ++示例僅使用令牌符號:
"+" return yy::parser::make_PLUS (loc);
但這迫使我在語法文件中使用PLUS而不是“ +”。
生成C ++代碼時,如何像C示例中那樣讓flex返回文字值?
根本不要定義它。 它會以原義形式返回,您將能夠在解析器中將其用作“ +”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.