Modules | Files | Inheritance Tree | Inheritance Graph | Name Index | Config
module Synopsis::Config
class Base:: Parser:: CXX
Files: Synopsis/Config.py

Config object for the C++ parser.

Attributes:
nameName of this config object: 'C++'
verboseVerbosity flag. This attribute is set by __init__(), but only if 'verbose' was passed as a config option.
main_fileFlag that selects if should only store the AST generated from the file(s) being processed, and not included files. This attribute is set by __init__ always
basenameA file path to strip from the start of all filenames before storing. Setting this option for example will remove any redundant parent directories in the HTML FileListing page.
include_pathA list of strings, each specifying a path to add to the include path. For example: ['/usr/local/corba/']
definesA list of strings, each specifying a define to pass to the preprocessor. For example: ['FOO', 'BAR=true']
preprocessorWhich preprocessor to use. Not setting this causes the builtin ucpp to be used, which can track macro expansions when doing SXR stuff and extract macro definitions for the documentation. Setting it to 'gcc' will cause gcc (well, really g++) to be used instead, for use only in cases when ucpp can't parse your standard libraries (usually because of compiler specific syntax).
extract_tailsIf set to true, then the parser will look for trailing comments before close braces. If it finds them, it will create dummy declarations to hold the comments. If you set this, you should probably also use the 'dummy' or 'prev' comment processors in the Linker options.
storageIf set, this must be a string which defines the file to store links into. Setting this also causes the parser to look more carefully at the input file, so that it can generate the links from inside blocks of code (otherwise it skips over them). Note that you usually set this from the command-line with your Makefile via "-Wp,-s,$@.links" or something. (deprecated)
syntax_prefixIf set, must be a string which defines a prefix to store syntax info into. The source filenames are appended to the prefix to create the output filename, so it should be a directory name to avoid clashes (there is no suffix!). For example, if your file is "src/foo.cc" and prefix is "syn/" then the syntax information will be stored in "syn/src/foo.cc".
xref_prefixIf set, must be a string which defines a prefix to store xref info into. See syntax_prefix.
syntax_fileIf set, must be a string with the file to store syntax info into. Note that the syntax info can only hold syntax information about one source file, so this option is of limited use.
xref_fileIf set, must be a string with the file to store xref info into. Note that the xref info can only hold xref information about one source file, so this option is of limited yse.
fake_stdIf set, this causes the parser to construct a fake using directive from the std namespace to the global namespace. In effect, this fixes problems seen with using the stdc++ headers for gcc 2.95.x where most things dont get placed in the std namespace.
multiple_filesIf set to true then the parser handles multiple files included from the main file at the same time. This option can only be used with the Project file. If syntax_prefix or xref_prefix is set then the extra files will get syntax and xref info recorded into the appropriate files. Only one AST is output, but it is as if the ASTs for the individual files were already linked. To use this option, your Project file must have a single SourceAction connected to this ParserAction. The SourceAction should have a Simple rule first which is the main sourcefile, and any number of other rules to select other files to record the AST for.
See Also:
Synopsis.Parser.C++.__init__


Operations Summary:
 __init__(self, argv) [Source]