Реализация обработки ошибок и прерываний
Для обработки перываний потока выполения, а также для обработки ошибкок компилятора используются С++ классы - наследники от std::exception, которые возвращают объект ошибки (значение).
Ошибка компилятора возвращает не только тестовое описание, но и объект TermPtr, при обработке которого возникла ошибка, тогда как перывание потока выполения возвращается объект ObjPtr.
std::exception -+-> :ParserError
| (TermPtr)
|
+-> :RuntimeError ----> :IntAny --+-> :IntPlus
(ObjPtr) |
|
+-> :IntMinus
При выполнении (генерации кода) именованные прерывания могут быть реализованы без использования исключений!