Hello Ondrej, On Thu, May 29, 2014 at 11:13 PM, Ondrej Zajicek <santiago@crfreenet.org> wrote:
Thanks, merged. Strictly speaking they should not accept symbols as value, but string constants denoted by symbols.
Thank you. I missed one option, in interface patterns string constants denoted by symbols aren't allowed yet. But it's a little more complicated. The relevant grammar: iface_patt_node_body: TEXT { this_ipn->pattern = $1; this_ipn->prefix = IPA_NONE; this_ipn->pxlen = 0; } | prefix_or_ipa { this_ipn->pattern = NULL; this_ipn->prefix = $1.addr; this_ipn->pxlen = $1.len; } | TEXT prefix_or_ipa { this_ipn->pattern = $1; this_ipn->prefix = $2.addr; this_ipn->pxlen = $2.len; } The last alternative "TEXT prefix_or_ipa" can be eaily converted to "text prefix_or_ipa". But simply changing the first alternative (just "TEXT") to "text" causes a conflict as both "text" and "prefix_or_ipa" might be a symbol. I've never worked with bison grammars before but to me it looks like the only way to fix this is to create a new SYM alternative and handle the different types of it in the actions part of it. Can you think of an easier way? Best Regards, Freddy