Приглашаю к активному обсуждению и помочь грамотно реализовать транслятор.

Задача: Учебный Oberon-0 использовать для трансляции в исходный код языка FORTH.

"...
Mecrisp-Stellaris - A native code Forth implementation for ARM-Cortex M microcontrollers. Copyright (C) 2013 Matthias Koch

Не шитый код, а нативный (оптимизирующий) компилятор. Ядро занимает около 12Кбайт.
Неубиваемый - 16Кбайт сегмент с ядром защищен от стирания\записи. Флэш всегда можно почистить до исходного состояния командой eraseflash ( -- ) Erases everything. Clears Ram. Restarts Forth.

Имеются нестандартные слова, реализующие особенности микроконтроллера Cortex-M (eraseflash - одно из них).

Компилирует либо во флэш либо в озу (compiletoflash\compiletoram) - очень удобно.

Разработка\тестирование ведется в озу, отлаженный код сбрасывается во флэш.

В прилагаемых "библиотеках" среди прочего имеются такие замечательные штуки как дизассемблер и Cooperative Multitasking - практически операционная система.

http://mecrisp.sourceforge.net/
..."

Несколько дней тестирую реализацию Mecrisp-Stellaris для STM32F100.  Реализация FORTH выполнена на ассемблере (здравствуйте 50-е годы!).

Mecrisp-Stellaris  Forth запустился. Кое-какие примеры работают. Однако плохо сделана обработка чтения исходных файлов на языке Forth через последовательный порт. Контроля потока данных нет и при переполнении возникает хаотичное поведение. Нужно переписывать USART реализацию обработки входного потока форт-слов.

Возможно уже кто-то пытался делать транслятор.

Для компиляторов Oberon-0 Н.Вирта и компилятора "О" С.З.Свердлова (кстати он дал согласие на использование исходных кодов компилятора) не сложно транслировать в слова реализации Mecrisp-Stellaris  Forth.

1. Mecrisp-Stellaris is the younger sister of Mecrisp and runs on various ARM Cortex M chips //[электронный ресурс] .-http://mecrisp.sourceforge.net/
2. Свердлов С.З., Конструирование компиляторов. (учебное пособие) //[текст] .- 2015 .- изд. LAM Lambert .- 571 с. -http://www.uni-vologda.ac.ru/~c3c/Compi ... %20version).pdf