cpp

Scope Available in
generationtxtmus
abc2svg

This command just loads the preprocessor that handles the '#' subcommands.

The syntax of the preprocessor follows the one of abcpp. The subcommands start by a # (hash-code) as the first character in a line. They are:

#
Comment line.
#define macro_name [ macro_definition ]
Define a macro. There is no expansion in the macro definition.
When the name or definition contains spaces, it must be enclosed by double quotes.
When the definition is omitted, the macro is removed.
During the expansion phase, the strings that look like a macro may stay as they are by adding a slash before their first character.
#ifdef macro_name [ macro_name ]*
Process the next lines up to #elxxx if any of the macros is defined.
#elifdef macro_name [ macro_name ]*
Equivalent to #else followed by #ifndef.
#ifndef macro_name [ macro_name ]*
Process the next lines up to #elxxx if none of the macros is defined.
#elifndef macro_name [ macro_name ]*
Equivalent to #else followed by #ifndef.
#else
Process or not according to the previous #ifxxx/#elifxxx.
#endif
Restart processing the next lines.
#suspend and #undefined
Suspend macro replacement up to #redefine/#resume.
#redefine and #resume
Restart processing the next lines.

txtmus and abc2svg documentation source author - page hosted by Free