Компилируем пустую функцию.
$ cat empty.c
void foo()
{
// Empty
}
$ ./parse empty.c empty.ast
$ ./lower empty.ast empty.tac
$ backend/genbesm empty.tac empty.mad
$ cat empty.mad
c Module: foo
foo: ,name,
,its, 13
13 ,vjm, c/save
,uj, c/ret
,end,
Исходник на Си превращается в AST, потом в TAC, и окончательно а автокод Мадлен.
no subject
Date: 2026-05-20 08:59 (UTC)no subject
Date: 2026-05-20 16:53 (UTC)no subject
Date: 2026-05-20 09:19 (UTC)no subject
Date: 2026-05-20 16:50 (UTC)no subject
Date: 2026-05-21 06:55 (UTC)"Вкалывают роботы, счастлив человек". :)
no subject
Date: 2026-05-20 19:12 (UTC)Должно быть не очень трудно.
Мотивация: возможность приделывать сишные модули к ядру ОС ДИСПАК, как я их в своё время приделывал к ДВСу.
no subject
Date: 2026-05-20 20:35 (UTC)БЕМШ будет просто ещё одним режимом вывода результата кодогенератора. Сделаем попозже.