Ignoring errors in yacc/lex

半世苍凉 提交于 2019-12-20 06:32:50

问题


I'm new to yacc/lex and I'm working on a parser that was written by someone else. I notice that when an undefined token is found, the parser returns an error and stops. Is there a simple way to just make it ignore completely lines that it cannot parse and just move on to the next one?


回答1:


just add a rule that looks like

. {
  // do nothing
}

at the bottom of all of your rules, and it will just ignore everything it comes across that doesn't fit any of the previous rules.

Edit: if you have multiple states, then a catch-all that works in any state would then look like:

<*>. {

}


来源:https://stackoverflow.com/questions/4063455/ignoring-errors-in-yacc-lex

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!