File: parsefunction.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 (25 lines) | stat: -rw-r--r-- 774 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include "generator.ih"

// The parser's parse() member defines the S/R parsing algorithm as well as
// the parsing tables. 

// Writing the parse() member may be prevented by the --no-parse-member
// option. Otherwise, it's rewritten each time bisonc++ is called to process a
// grammar. Providing the --no-parse-member option should not be
// necessary, as it contains the essential information about the
// grammar. Calling bisonc++ with the --no-parse-member basically renders the
// call useless.

void Generator::parseFunction() const
{
    if (d_arg.option(0, "no-parse-member"))
        return;

    ofstream out;
    ifstream in;

    Exception::open(in,  d_options.parseSkeleton()); 
    Exception::open(out, d_options.parseSource()); 

    filter(in, out);    
}