A Google translation of the OberonCore documentation is:
Description
Selectors - Special display, placed in the text. They allow you to enter into text documents (including source code) different options:
selector = "[" name {"|" variant} "]".
There »[», «|» and "]" refer to the left, middle and right selectors respectively.
Selectors allow you to easily switch between options: click on «|» to the desired option, and the rest are hiding, and once all the selectors with the same name. Clicking on the "[" and "]" reveals the selector showing all options.
Note (if you want to keep the option after the change), the transactions with the selectors do not document modified ("dirty").
To insert the text of the selectors can use the following menu commands:
"Insert left" "* F5" "DevSelectors.DepositLeft; StdCmds.PasteView" "StdCmds.PasteViewGuard"
"Insert the middle" "* F6" "DevSelectors.DepositMiddle; StdCmds.PasteView" "StdCmds.PasteViewGuard"
Selectors in the source code
Selectors may be useful in the following cases:
the intermediate stages of development when there is a desire to experiment with different options;
to insert comments in code in different languages;
the translation of header files from the C language as a counterpart to the conditional compilation.
Conveniently somewhere in the beginning of the module to make comments such as:
(* [Feature | On | Off] *)
(* [Comment | en | ru | fr] *)
(* [MacrosId | value1 | value2 | value3] *)
Then it is easy to switch options. Besides the compiler understands commands like:
DevCompiler.CompileThis MyModule (feature: On, macrosId: value1)
Note: The names in the team selector and options must be strings. For example:
DevCompiler.CompileThis MyModule ("BlackBox version": "1.5")