Дело дошло до формата бинарного файла. Думаю вот так сделать:
- Код: Выделить всё • Развернуть
- byte : 8bit;
 word : 16bit;
 
 program : {
 events_size : word = sizeof(events_table);
 pool_size : word = sizeof(const_pool);
 events_table : {
 event_id: word;
 event_address : word; // address of event handler func, relative to code
 }[] ;
 const_pool : {
 const_string : {
 len: byte;
 str : byte[len]; // no zero termination
 }[] ;
 const_list : {
 len : word;
 strings : word[len]; // address of one of const_string, relative to const_pool
 }[] ;
 };
 
 code : byte[];
 };
 
 
 
Добавлено спустя 2 часа 57 минут 1 секунду:Ну вот, вроде все компилируется
Описание девайса:
- Код: Выделить всё • Развернуть
- Ram : 512;
 Program : 4096;
 
 native {
 led {
 toggle(int);
 }
 timer {
 start(int);
 }
 
 }
 
 events {
 onStartup;
 onTimer;
 }
 
 
 
Иходник:
- Код: Выделить всё • Развернуть
- event onStartup
 {
 timer.start(500);
 }
 
 event onTimer
 {
 led.toggle(1);
 timer.start(500);
 }
 
 
Листинг компилятора:
- Код: Выделить всё • Развернуть
-               .BYTES 8, 0
 .BYTES 0, 0
 .BYTES 0, 0, 0, 0, 1, 0, 6, 0
 0:
 onstartup: CONST_I_2 500
 NATIVE_DROP 1
 5: RET
 6:
 ontimer: CONST_1
 NATIVE_DROP 0
 CONST_I_2 500
 NATIVE_DROP 1
 15: RET
 
 
Добавлено спустя 25 минут 46 секунд:Ограничения по размеру: строки - 254 символа, пул констант - 32768 байт, программный код - 65536 байт, ОЗУ - 32768 байт