File: setbasicstrings.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 (51 lines) | stat: -rw-r--r-- 1,770 bytes parent folder | download | duplicates (4)
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include "options.ih"

void Options::setBasicStrings()
{
        // classname/namespace can only be followed by IDENTIFIERs, 
        // so no undelimit is required.

    if (d_arg.option(&d_nameSpace, 'n'))
        d_warnOptions.insert("namespace");

    if (d_arg.option(&d_className, "class-name"))
        d_warnOptions.insert("class-name");
    else if (d_className.empty())           
        d_className = s_defaultClassName;


    if (d_arg.option(&d_scannerClassName, "scanner-class-name"))
        d_warnOptions.insert("scanner-class-name");
    else if (d_scannerClassName.empty()) 
        d_scannerClassName = s_defaultScannerClassName;

    setOpt(&d_scannerTokenFunction, "scanner-token-function",
                                    d_flex ?
                                        s_yylex
                                    :
                                        s_defaultScannerTokenFunction); 

    setOpt(&d_scannerMatchedTextFunction, "scanner-matched-text-function",
                                    d_flex ?
                                        s_YYText
                                    :
                                        s_defaultScannerMatchedTextFunction); 

    string nTokens;
    if (d_arg.option(&nTokens, "required-tokens"))
        d_requiredTokens = stoul(nTokens);
    
    d_arg.option(&d_genericFilename, 'f');
    if (d_genericFilename.empty())
        d_genericFilename = d_className;

     d_arg.option(&d_skeletonDirectory, 'S');
    if (d_skeletonDirectory.empty())
        d_skeletonDirectory = s_defaultSkeletonDirectory;
    cleanDir(d_skeletonDirectory, true);

    d_arg.option(&d_targetDirectory, "target-directory");

    if (not d_targetDirectory.empty())
        cleanDir(d_targetDirectory, true);
}