I've been reading through Inno Setup preprocessor documentation and stumbled upon an expression (define | :)
in the directive syntax documenting convention: (https://jrsoftware.org/ispphelp/index.php?topic=define)
(define | :) [private | protected | public] <ident> [[ <expr> ]] [[=] <expr>]
What does (define | :)
mean here?
It means that you can use either define
or :
with the same meaning. The |
means "or" in syntax declarations.
So while commonly you would use:
#define AppName "My Program"
You can as well use:
#: AppName "My Program"
Though, I've never seen the latter syntax in use until now.
Also note that the |
does not necessarily mean that the two alternatives are equivalent. They typically are not (as is the case of private | protected | public
). It's just in this particular case that they are.