Для mc:
## Код:
```
# Oberon/Component Pascal/oo2c

context default
   keyword whole SYSTEM white

## reserved words

# Component Pascal/oo2c
   keyword whole ABSTRACT brightcyan

# Component Pascal
   keyword whole CLOSE brightcyan
   keyword whole EMPTY brightcyan
   keyword whole EXTENSIBLE brightcyan
   keyword whole LIMITED brightcyan
   keyword whole OUT brightcyan

# oo2c
   keyword whole TRY yellow
   keyword whole CATCH yellow

# gpcp
   keyword whole EVENT yellow
   keyword whole VECTOR yellow
   keyword whole RESCUE yellow
   keyword whole DIV0 yellow
   keyword whole REM0 yellow
   keyword whole FOREIGN brightcyan
   keyword whole ENUM yellow
   keyword whole INTERFACE yellow
   keyword whole STATIC yellow

# flow control
   keyword whole EXIT white
   keyword whole RETURN white

   keyword whole ARRAY brightcyan
   keyword whole BEGIN brightcyan
   keyword whole BY brightcyan
   keyword whole CASE brightcyan
   keyword whole CONST brightcyan
   keyword whole DIV brightcyan
   keyword whole DO brightcyan
   keyword whole ELSE brightcyan
   keyword whole ELSIF brightcyan
   keyword whole END brightcyan
   keyword whole FOR brightcyan
   keyword whole IF brightcyan
   keyword whole IMPORT brightcyan
   keyword whole IN brightcyan
   keyword whole IS brightcyan
   keyword whole LOOP brightcyan
   keyword whole MOD brightcyan
   keyword whole MODULE brightcyan
   keyword whole OF brightcyan
   keyword whole OR brightcyan
   keyword whole POINTER brightcyan
   keyword whole PROCEDURE brightcyan
   keyword whole RECORD brightcyan
   keyword whole REPEAT brightcyan
   keyword whole THEN brightcyan
   keyword whole TO brightcyan
   keyword whole TYPE brightcyan
   keyword whole UNTIL brightcyan
   keyword whole VAR brightcyan
   keyword whole WHILE brightcyan
   keyword whole WITH brightcyan

   keyword whole NIL brightcyan
   keyword whole TRUE yellow
   keyword whole FALSE yellow
# Component Pascal
   keyword whole INF yellow

## Predefined procedures

# Oberon-07
   keyword whole FLOOR yellow
   keyword whole FLT yellow
   keyword whole PACK yellow
   keyword whole UNPK yellow

# gpcp
   keyword whole MKSTR yellow
   keyword whole BOX yellow
   keyword whole TYPEOF yellow
   keyword whole REGISTER yellow
   keyword whole DEREGISTER yellow
   keyword whole THROW yellow
   keyword whole APPEND yellow
   keyword whole CUT yellow
   keyword whole RTZ yellow

# flow control
   keyword whole ASSERT white
   keyword whole HALT white

# shifts
# arithmetical (signed)
   keyword whole ASH yellow
   keyword whole ASL yellow
   keyword whole ASR yellow
# logical (unsigned)
   keyword whole LSH yellow
   keyword whole LSL yellow
   keyword whole LSR yellow
# rotations (circular)
   keyword whole ROT yellow
   keyword whole ROL yellow
   keyword whole ROR yellow

   keyword whole ABS yellow
   keyword whole BITS yellow
   keyword whole CAP yellow
   keyword whole CHR yellow
   keyword whole DEC yellow
   keyword whole ENTIER yellow
   keyword whole EXCL yellow
   keyword whole INC yellow
   keyword whole INCL yellow
   keyword whole LEN yellow
   keyword whole LONG yellow
   keyword whole MAX yellow
   keyword whole MIN yellow
   keyword whole NEW yellow
   keyword whole ODD yellow
   keyword whole ORD yellow
   keyword whole SHORT yellow
   keyword whole SIZE yellow

##  basic data types

# Component Pascal
   keyword whole ANYPTR yellow
   keyword whole ANYREC yellow
   keyword whole ANYSPEC yellow

# gpcp
   keyword whole UBYTE yellow
   keyword whole USHORT yellow

   keyword whole BYTE yellow
   keyword whole BOOLEAN yellow
   keyword whole CHAR yellow
   keyword whole INTEGER yellow
   keyword whole LONGINT yellow
   keyword whole LONGREAL yellow
   keyword whole REAL yellow
   keyword whole SET yellow
   keyword whole SHORTCHAR yellow
   keyword whole SHORTINT yellow
   keyword whole SHORTREAL yellow

   keyword \+ brightcyan
   keyword - brightcyan
   keyword \* brightcyan
   keyword / brightcyan
   keyword ~ brightcyan
   keyword & brightcyan
   keyword \. brightcyan
   keyword , brightcyan
   keyword ; brightcyan
   keyword | brightcyan
   keyword $ brightcyan
   keyword ( brightcyan
   keyword ) brightcyan
   keyword [ brightcyan
   keyword ] brightcyan
   keyword { brightcyan
   keyword } brightcyan
   keyword := brightcyan
   keyword ^ brightcyan
   keyword = brightcyan
   keyword # brightcyan
   keyword < brightcyan
   keyword > brightcyan
   keyword <= brightcyan
   keyword >= brightcyan
   keyword .. brightcyan
   keyword : brightcyan

context " " green
context ' ' green
context exclusive (\*\* \*) brightblue
context exclusive (\* \*) cyan
   spellcheck
```
