ECL Format

Da Zulu Hotel Italia - Time Warp.

Il file ECL sembra avere una struttura a blocchi. Di seguito sono elencati quelli noti, riportati nello stesso ordine in cui compariranno all'interno del file.

Header

L'header sembra essere fisso: 43 45 02 00 00 00, 6 bytes. Il terzo byte probabilmente è il numero di versione (2 per POL093).

Program

Questo blocco, non sempre presente, definisce la direttiva program. Non è sempre presente (ad esmepio, non è usato nello script generale di startup start.ecl. I primi 6 bytes sono 04 00 10 00 00 00 dopodiché segue un blocco di 13 bytes di cui solo il primo sembra essere usato ed indica il numero di argomenti accettati dal blocco program (01, 02, etc...). Gli altri bytes sono lasciati a NULL.

Usages

I file .em contenenti le funzioni di sistema importati con la direttiva "use" sono specificate immediatamente dopo l'header. Ogni blocco use ha una dimensione variabile. I primi 6 bytes sono 01 00 00 00 00 00, segue un blocco di 13 bytes così suddiviso:

  • bytes 1-9: contengono il nome dell'usage sotto forma di stringa a lunghezza fissa
  • byte 10: indica il numero di funzioni utilizzate da questo file
  • bytes 11-13: sempre NULL

Segue la lista delle funzioni utilizzate da questo file, sotto forma 34 bytes ripetuti per il numero di volte indicato dal byte 10. Di questi 34 bytes, i primi 32 rappresentano una stringa a lunghezza fissa contenente il nome della funzione, mentre gli ultimi due sono sempre 00 01.

"basic" e "basicio" sembrano essere sempre i primi due usages e sono inclusi implicitamente anche se non dichiarati nello script.