File: augmentgrammar.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-- 481 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "rules.ih"

    // following this call, d_currentRule points to the augmented grammar's 
    // startrule, which derives the startrule and has EOF in its FOLLOW set.

void Rules::augmentGrammar(Symbol *start)
{
    string augment = start->name() + "_$";

    newRule(insert(new NonTerminal(augment)), "-N.A.-", 0);
    addProduction(0);

    s_acceptProductionNr = d_currentProduction->nr();
    s_startSymbol = start;

    addElement(start);
    d_currentRule->used();
}