简体   繁体   中英

error with bison

I have a simple rule in my grammar which looks for sequence of whitespaces:

    ws: ws|' ';

When bison sees this rule, it complains:

warning: rule useless in parser due to conflicts: ws: ws

Why it is so? Cant I have a simple rule in grammar which looks for a regex?

what you are declaring is 'ws is ws or ws is a space', not 'ws is one or more spaces'.

If you want the latter, try something like:

ws:   ' '
    | ' ' ws;

See also http://www.gnu.org/software/bison/manual/bison.html#Recursion

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM