Следующая версия
|
Предыдущая версия
|
blackbox:dev [2017/05/01 23:08] иван_денисов создано |
blackbox:dev [2020/10/29 07:08] (текущий) |
| |
====== Описание ====== | ====== Описание ====== |
Компилятор выполнен по трехфазной схеме, с возможностью смены кодогенератора под конкретную платформу без смены //парсера// и //AST-дерева//((AST --- abstract syntacsis tree (абстрактное синтаксическое дерево). Служит хранению текста программы в промежуточном состоянии между исходным текстом и машинным кодом. Это не байт-код. Исполнять нельзя. Но AST-дерево даёт гарантию, что код программы корректный (иначе нельзя получить такое дерево), и позволяет привести к машинному коду на нужной платформе, что сильно облегчает портирование программ --- //[[prospero.78.su@gmail.com|Валерий Шипков]] 2016/04/05 20:15//)).\\ | Компилятор выполнен по трехфазной схеме, с возможностью смены кодогенератора под конкретную платформу без смены //парсера// и //AST-дерева//((AST --- abstract syntax tree (абстрактное синтаксическое дерево). Служит хранению текста программы в промежуточном состоянии между исходным текстом и машинным кодом. Это не байт-код. Исполнять нельзя. Но AST-дерево даёт гарантию, что код программы корректный (иначе нельзя получить такое дерево), и позволяет привести к машинному коду на нужной платформе, что сильно облегчает портирование программ)).\\ |
Предполагается, что смена платформы происходит путем подмены модуля ''DevCompilerXxx'', который после успешного завершения процесса создания //AST-дерева// передает результат сменному бэкенду ''DevCPVxxx''. | Предполагается, что смена платформы происходит путем подмены модуля ''DevCompilerXxx'', который после успешного завершения процесса создания //AST-дерева// передает результат сменному бэкенду ''DevCPVxxx''. |
| |
Известны так же //модули-декодеры// ''DevDecXXX'' кода разных платформ, **x86**, **68k**, **ARM**, **PPC**, декодер формата Exe. | Известны так же //модули-декодеры// ''DevDecXXX'' кода разных платформ, **x86**, **68k**, **ARM**, **PPC**, декодер формата Exe. |
''DevTranslator'' - похоже может перевести C код в код на обероне. | ''DevTranslator'' - похоже может перевести C код в код на обероне. |
''DevRemDebug'' - пошаговый отладчик ((возможно, удалённый. --- //[[prospero.78.su@gmail.com|Валерий Шипков]] 2016/04/05 20:25//)) | ''DevRemDebug'' - пошаговый отладчик |