File: setprecedence.cc

package info (click to toggle)
bisonc%2B%2B 6.09.02-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 5,984 kB
  • sloc: cpp: 9,375; ansic: 1,505; fortran: 1,134; makefile: 1,062; sh: 526; yacc: 84; lex: 60
file content (18 lines) | stat: -rw-r--r-- 535 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "rules.ih"

// called from parser/setprecedence to set the precedence of the 
// current production rule

void Rules::setPrecedence(Terminal const *terminal)
{
    if (not d_currentProduction->precedence())
    {
        d_currentProduction->setPrecedence(terminal);
        terminal->used();
    }
    else
        emsg << "%prec " << terminal << ": precedence already set to " <<
                &Terminal::quotedName << 
                d_currentProduction->precedence() << 
                &Terminal::plainName << endl;
}