NAME
occ - OpenC++ compiler
SYNOPSIS
occ [ -g ] [ -M option=value ] [ -l ] [ -S metaclass ] [ -s ] [ -V ] [
-v ] [ -w ]
[ -n ] [ -p ] [ -E ] [ -c ] [ -P ] [ -m file_name ]
[ -I directory ] [ -D name=def ] [ -d option ] [ -C ]
[ --regular-c++ ]
[ -- C++ compiler options ] source_file
DESCRIPTION
occ applying a meta-level program to an OpenC++ program, and compiles
the result program.
Full documentation can be found in /usr/share/doc/openc++.
OPTIONS
MAIN OPTIONS
-g Produce debugging information.
-M option=value
Specify an option with value. It is passed to metaobjects.
-l Print the list of statically loaded metaclasses.
-S metaclass
Load a metaclass.
-s Print the whole parse tree of the given source program. Don’t
perform translation or compilation. If no source file is given,
occ reads from the standard input.
-V Show the version number.
-v Specify the verbose mode.
-w Enable wide characters support.
BUILDING STAGES OPTIONS
-n Suppress invoking the preprocessor.
-p Stop after the parsing stage. No translation is done.
-E Don’t run the back-end C++ compiler. Stop after generating a
.ii file.
-c Suppress linking and produce a .o file.
-P Preprocess again after translation.
-m file_name
Produce a shared library (a .so file). This is used to compile a
metaclass. If file_name is specified, the name of the shared
library is file_name.so. If the -c option is specified
together, occ produces a .so file, which should be linked by the
user to be a shared library.
PREPROCESSOR OPTIONS
-I directory
Add a directory to the search path of the #include directive.
-D name=def
Define a macro name as def.
-d option
Specify a preprocessor option
-C Don’t discard comments
OTHER OPTIONS
--regular-c++
Inhibit the extended syntax. This enables the keyword metaclass
to be used as a variable name. This option is useful when
parsing legacy code being not intended to translation. When
this option is used, the symbol __opencxx is not defined.
-- The following options are interpreted as options for the back-
end C++ compiler. For example, if you type:
% occ -I.. -- -g foo.c
Then the -g option is passed to the C++ compiler. Note that
these options are not passed to the C++ preprocessor. The -D
and -I options need to be placed before --.
FILES
file.{cc,C,c,cpp,cxx,mc} source file.
file.occ output file after C++ preprocessing.
file.ii output file after translation.
file.o object file.
file.so shared library dynamically loaded by occ.
/usr/lib/libocc.so library to link with meta-level program.
NOTES
While the C++ processor is running, the macro __opencxx is predefined.
The programs compiled by occ do not need any runtime libraries or a
garbage collector unless the meta-level program requires them at the
base level.
COPYRIGHT
Copyright (C) 1997, 1998 Shigeru Chiba. All Rights Reserved.
Copyright (C) 1995, 1996 Xerox Corporation. All Rights Reserved.
AUTHOR
OpenC++ was initially written by Shigeru Chiba<chiba@is.tsukuba.ac.jp>,
University of Tsukuba, Japan. It is now further developped by a
Grzegorz Jakacki <jakacki@hed.com.cn> and other people.
This manpage was initially written by John Lapeyre for the Debian
GNU/Linux openc++ package, and was later reformated and updated by Yann
Dirson.