Как сделать условную компиляцию на Coco/R?
Т.е. обработку вот такой конструкции:
## Код:
```
<* IF condition THEN *>
<* ELSIF condition THEN *>
<* ELSE *>
<* END *>
```


По идее в зависимости от condition лексер должен был бы выкидывать всё лишнее. Как бы это покрасивше сделать на Coco/R?

Далее. Прагмы. Но не простые, а влияющие на синтаксис. Прагмы вида:
## Код:
```
<* +O2NUMEXT *>
```

Если подобная прагма имеется, то в синтаксисе нет "**", если же прагма есть, то в синтаксисе внезапно появляется правило:
## Код:
```
Exponent =  Factor { "**" Factor }.
```

Соответственно правило Term модифицируется:
## Код:
```
Term     =  Exponent { MulOp Exponent }.
```

Это простейшее. Есть прагмы меняющие (расширяющие) синтаксис сильнее.
Как тут быть?

Ну и наконец наши любимые ассемблерные вставки. Внутри блока начинающегося на "ASM" и оканчивающийся на "END" может быть некий произвольный ассемблер (синтаксис его мы не знаем). Нам нужно его хотя бы научиться игнорировать. А лучше -- выкусывать целиком, чтобы в последствии отдать этот кусок некой внешней утилиты на анализ/компилинг. Как это лучше сделать?